Raspberry Pi as sACN or Artnet Gateway
Tutorial originally posted 15th January 2019
I stumbled across this project when looking for a way to create a cheap alternative to DMX network gateways. I noticed that there was very little information about and the information that was accessible, was scattered across many different platforms or was outdated.
UPDATE 04/07/19 - you can now just run the following command to install OLA, if you would like to use the usb device please run command and skip to step 5.5. Please only do step 5.5 then reboot your pi. You will then be able to connect to OLA by following part of step 6. Please disregard step 7.
command:
sudo apt-get install ola
For this project, you will need:
Raspberry Pi - I am using a Model 3 B (This will need a power supply and micro SD Card, Probably better to get one of the kits) - https://amzn.to/2HqFWpJ
Network Cable - Along with access to the internet (there needs to be a DHCP Server on the network, most routers already have this)
Monitor With HDMI Cable
Keyboard and Mouse
Another computer - This is to download the files and software, as well as to format the SD Card for the pi
USB to DMX Adapter - https://amzn.to/2Hd6avr
You can also watch the video tutorial.
Step 1
Head over to https://www.raspberrypi.org/downloads/raspbian/ and download "Raspbian Stretch With Desktop"
You will also need a disk imager - I recommend using Balena Etcher - Download that here. https://www.balena.io/etcher/.
Step 2
Plug your pi memory card into the computer, load up etcher and follow the instructions to burn the image to the SD Card.
Step 3
Boot up the pi from the SD Card and follow the on-screen instructions. This will include updates and setting a password.
I then chose to install VNC Server on the Pi so that I can access it remotely from my PC. You can do this by clicking the small Rasberry in the top left corner, going to Preferences - Raspberry Pi Configuration, then click the interfaces tab and enable VNC.
You will then need to download VNC Viewer from this link - https://www.realvnc.com/en/connect/download/viewer/
Once installed, load the software and add a new connection (ctrl + n). Fill in the information needed.
You can find your Pi's IP Address by opening terminal on the Pi and typing
sudo ifconfig
When logging in from the VNC server it may ask for a password, if you have changed this at the boot it will be your chosen password, if not the default for the pi is:
Username - pi // Password - raspberry
Step 4
The next step for us to do is ensure everything on the Pi is up to date, to do this we are going to go into terminal and type two separate commands:
sudo apt-get update
sudo apt-get upgrade
The time this takes will vary depending on the number of updates and internet speed. You may also be prompted to type Y/N if there are any updates.
Step 5
We now need to download the latest git from the OLA Github page, the latest release will be listed here https://github.com/OpenLightingProject/ola/releases. The easiest way to download this is to open up your pi web browser and paste in this link. You will then need to download the latest tar.gz file.
you can now close the web browser.
To install this file we need to locate the package using terminal. to do this open Terminal again and we are going to use the cd command to jump into the downloads folder where the file should be saved (Please note, this is case sensitive).
cd Downloads
to find the folder name we need to type in the following command
ls
we now need to unzip this tar.gz file, we will run the command
tar -xvzf filename.tar.gz
to ensure it's extracted we will type ls again.
ls
you should now have two files, one with .tar.gz and one without.
Now this has been extracted we need to install some dependencies
sudo apt-get install libcppunit-dev libcppunit-1.14 uuid-dev pkg-config libncurses5-dev libtool autoconf automake g++ libmicrohttpd-dev protobuf-compiler libprotobuf-lite17 python-protobuf libprotobuf-dev libprotoc-dev zlib1g-dev bison flex make libftdi-dev libftdi1 libusb-1.0-0-dev liblo-dev libavahi-client-dev python-numpy
we now need to open the ola directory by typing the below command - this for me would be "cd ola-0.10.7"
cd filename
once in this folder we need to configure the package for our system, to do this type
autoconf -i
and then once that is complete run
./configure --enable-rdm-tests
this will run lots of checks and may take a few minutes.
Once completed it should look something like this
next we will compile the package by typing:
make
This will take a long time to fully compile, mine personally took around 1 hour.
After this has complete you will need to type
sudo make install
This will take a few minutes to complete to complete
Then the final configuration command will be
sudo ldconfig
Step 5.5
Finally open terminal and navigate to
cd /home/
cd /etc/
cd /lib/
cd udev
cd rules.d
sudo nano 10-local-rpi.rules
We will then add the following to the file - SUBSYSTEM=="usb|usb_device", ACTION=="add", ATTRS{idVendor}=="16c0",ATTRS{idProduct}=="05dc", GROUP="plugdev"
then exit and save by doing ctrl + X
Reboot the pi with the following command
reboot
Step 6
It's now time to run the software - Please make sure your USB to DMX device is plugged in before running this step.
The latest version of OLA should now be installed on your system, to check this run the command
olad -l 3
after running this the log may show a message saying "common/io/Serial.cpp:151: Device /dev/ttyUSB0 doesn't exist, so there's no point trying to acquire a lock"
This is just due to the Stageprofi plugin which we will disable in a moment.
We will now need to open up our Pi web browser and navigate to
127.0.0.1:9090
alternatively you can access the pi on any computer on that network by using the Pi's IP address and :9090 after it - "ipaddress:9090"
you should then land on a page like this
We then need to switch to the new UI by click "New UI" at the very bottom of the window. The new UI makes it easier to manage your plugins.
Now that we have done this we need to head over to the Plugins tab, it should now look something like this:
You can enable and disable the plugins by clicking the little tick boxes, we are going to make ours look like the photo below, however feel free to keep what ever you need enabled.
One of the final steps is to create a Universe, head over to the universes tab and click "Add New Universe"
All you need to then do is fill in the information
Step 7
Now the software is all set up we need to make it boot automatically when the Pi starts up.
open terminal and type
sudo nano /etc/rc.local
add the following to the end of the file but before the "exit 0"
su pi -c olad
we then need to reboot the system using
reboot
The software should now boot automatically, personally some plugins did not automatically enable after boot, it was very random and did not seem to be consistent. In saying this I just reloaded the plugins from the web GUI which fixed the issue.
That's it, you should now have a working network gateway.