Raspberry Pi as sACN or Artnet Gateway

Updated: Jul 3, 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.


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.


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

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.



3,854 views2 comments

Recent Posts

See All