FabModules is the FabLab standard for controlling all the machines on your lab. Now FabModules have evolved to a web based software and it’s under very rapid development.
If you’re comfortable with the installation process in Linux, you can go directly to the source for instructions here.
If not, you can follow our tutorial. 😀
For running FabModules you need to have the following dependencies installed on your Ubuntu 15.10 computer.
* GCC 4.2 or newer
* G++ 4.2 or newer
* Python, PIP, PySerial and TkInter
* node.js & npm
So, first of all, confirm that all your dependencies are upgraded. This operation can take some time.
sudo apt-get update sudo apt-get upgrade
PYTHON, PIP, TKINTER AND PYSERIAL
Python should be already installed with your Ubuntu, so we just need to install TkInter:
sudo apt-get install python-tk
Now you need to install PIP, the recommended Python repository, so you can then add essential packages like Pyserial for communication:
sudo apt-get install python-pip sudo pip install pyserial *on 15.10 pyserial is already installed and the latest version
NODE.JS & NPM
For installing node.js:
sudo apt-get install nodejs-legacy npm
For confirming the installation just run
node on the terminal and the application should start.
For quitting the application press “Ctrl+C” twice.
Then install npm by running:
sudo apt-get install npm
For cloning Fabmodules, first we will create a folder on your opt location and give it permissions to the owner so you don’t have to use sudo and other privilege commands.
sudo mkdir /opt/fabmodules sudo chown -R user_name /opt/fabmodules
p.s.: Under user_name you should write the name of your account. If you don’t remember you can just type
After adding the correct dependencies you need to clone Fabmodules from the Github repositories to your computer.
So we are going to use git:
cd /opt/fabmodules git clone https://github.com/FabModules/fabmodules-html5.git fabmodules
In the words of the founders, ws is a “simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js”.
So, we’re going to use npm repository to add the ws package to the mod_server directory.
cd mod_server npm install ws
Now, for the easiest part, use node to run the mod_serve file and open the communication with the local host:
After this you should see the following line
listening for connections from 127.0.0.1 on 12345
That means you’re ready to use Fabmodules html5 with your Modela machine. Please don’t close this terminal until you’re work is complete! Just minimize it.
Roland now has two models available for the same purpose. An older version called MDX-20 and a newer one called SRM-20. There are some differences on the way they communicate with the computer. mdx-20 uses serial communication to send and receive data, also known as RS232, while srm-20 uses parallel communication for printers, also known as lpt. So both machine work differently in terms of communication.
If you have a really old Modela, chances are you only have a DB9 to DB25 cable and no socket on the computer for that type of plug. For solving that problem you have an easy solution, buy an rs232 to usb cable converter.
This cable has an internal IC for converting RS232 into USB serial comm. Just beware not to buy one with an IC from Prolific. Those are really bad chinese chips. Look for converter cables with FTDI chips. They are a bit more expensive, but it will worth the price.
If you already have the Roland Modela serial to usb everything is fine. You are ready.
If your user is not yet allowed to use USB ports for sending data you need to add yourself to the dialout group. For verifying just type
groups on your terminal and try to find the dialout. If you don’t see it add it by using the following command:
sudo adduser user_name dialout
You are now good to go!
As we’ve seen before, for the computer this machine is seen as a printer, so, instead of the MDX serial communication, the device is identified as
make mod_lp executable:
sudo chmod +x mod_lp.py
On fabmodules.org choose the option SRM-10 and add the following command:
sudo chmod 777 /dev/usb/lp0
Now hit send! 🙂
That’s it for now! Your machine should run from a web browser! 😀
“./” on the send command (fabmodules.org)