OLA on raspberry

840 views
Skip to first unread message

kevin.be...@gmail.com

unread,
Feb 9, 2018, 6:03:23 AM2/9/18
to open-lighting
Hello, 

For 3 hours I've tried to fix my problem but I don't know how fix it. I installed Ola on my raspberry pi 3 and when I want configure Ola with
./configure --enable-python-libs
I can't finish the configuration because I receive this message:

checking for python module: google.protobuf... no

configure: error: failed to find required module google.protobuf


Can you help me with this issue ? 


Peter Newman

unread,
Feb 9, 2018, 6:10:50 AM2/9/18
to open-lighting
Hi Kevin,

Personally I'd say don't bother. If you're on a recent Raspbian Stretch release, just install ola-python via apt-get, it's much simpler.

If you're not/really want to build from scratch for some reason, see here for the dependencies to install via apt:
https://www.openlighting.org/ola/linuxinstall/#Debian_Ubuntu

Specifically for that particular fault, you want python-protobuf.

hacker.r...@gmail.com

unread,
Feb 9, 2018, 9:02:37 AM2/9/18
to open-lighting
Hi

I guess I know your problem:
is it possible that during installation you type in this line at once?
sudo apt-get install libcppunit-dev libcppunit-1.13-0 uuid-dev pkg-config libncurses5-dev libtool autoconf automake g++ libmicrohttpd-dev 
 libmicrohttpd10 protobuf-compiler libprotobuf-lite10 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

Is it possible that potential erros will not show up at the end?
libprotobuf-lite10 is outdated? The actualversion is 13?

What I did was to install them one by one, and in case of error I took the latest version of that library

BR,
HR

hacker.r...@gmail.com

unread,
Feb 9, 2018, 9:15:25 AM2/9/18
to open-lighting
And I am pretty sure  libprotobuf wont be your only issue.
There are 3-4 of them.

kevin.be...@gmail.com

unread,
Feb 10, 2018, 3:45:16 PM2/10/18
to open-lighting
Hi,

So, with the command "sudo apt-get install ola-python", everything is ok, when I launch the basic script, I don't have any problems... But nothing moves on my DMX devices (I use an Enttec Open DMX USB), so can you help me with this issue ? 
And I would like to know if it's possible to program with python 3 because I write a script with Spyder (in Anaconda) which is in Python 3 and when I can't run it with the command "python tests.py", I have to type "python3 tests.py", but it doesn't work with Ola :/

... Yes I ask a lot of questions because I'm new in Raspberry and Ola :D But thanks for fixing my first problem

Kevin

Peter Newman

unread,
Feb 10, 2018, 4:00:50 PM2/10/18
to open-lighting


On Saturday, 10 February 2018 20:45:16 UTC, kevin.bertrand.04 wrote:
Hi,

So, with the command "sudo apt-get install ola-python", everything is ok, when I launch the basic script, I don't have any problems... But nothing moves on my DMX devices (I use an Enttec Open DMX USB), so can you help me with this issue ?
Have you patched the Enttec Open DMX USB to a universe? Does it even show up as a device to patch?

If so, does it work from ola_dmxconsole or the web UI? 

And I would like to know if it's possible to program with python 3 because I write a script with Spyder (in Anaconda) which is in Python 3 and when I can't run it with the command "python tests.py", I have to type "python3 tests.py", but it doesn't work with Ola :/
Not officially, but people have made efforts to make it more compatible, see some discussion e.g. here:
 

... Yes I ask a lot of questions because I'm new in Raspberry and Ola :D But thanks for fixing my first problem
That's okay 

kevin.be...@gmail.com

unread,
Feb 10, 2018, 4:16:05 PM2/10/18
to open-lighting
I don't know how to patch the Enttec... I just followed the tutorial for Python API and that's all, I thought everything was described in that section :/

And for python 3, I will program everything in python 2 it's OK.

Peter Newman

unread,
Feb 10, 2018, 7:22:58 PM2/10/18
to open-lighting
Which tutorial?

If you open up the web UI and add a new universe, you should be able to patch the Enttec to that universe, then if you send DMX to that universe with Python, it should all work as expected.

kevin.be...@gmail.com

unread,
Feb 11, 2018, 4:53:49 AM2/11/18
to open-lighting
I followed this tutorial:
But of course I skipped the installation because I have Raspbian Stretch, and I created a new python script with this code:
import array
from ola.ClientWrapper import ClientWrapper

def DmxSent(state):
  wrapper.Stop()

universe = 1
data = array.array('B', [10, 50, 255])
wrapper = ClientWrapper()
client = wrapper.Client()
client.SendDmx(universe, data, DmxSent)
wrapper.Run()
And I patch my device to the universe 1. And when I launch "ola_dev_info" on the Raspberry, I see that my device is well patched:

Device 10: StageProfi Device
 port
0, OUT /dev/ttyUSB0, patched to universe 1


And I found the DMX Console so I started it with "ola_dmxconsole -u1" and nothing works... I may have forgotten to configure something or did the configuration wrong.

Peter Newman

unread,
Feb 11, 2018, 7:18:01 AM2/11/18
to open-lighting
You said Enttec Open, but you've patched a Stageprofi.

What does ola_dev_info output?

Try disabling the Stageprofi plugin.

kevin.be...@gmail.com

unread,
Feb 11, 2018, 7:33:45 AM2/11/18
to open-lighting
So, here is what "ola_dev_info" gives me:

Device 1: Dummy Device

  port 0, OUT Dummy Port, RDM supported

Device 2: ArtNet [192.168.1.16]

  port 0, IN, priority 100, RDM supported

  port 1, IN, priority 100, RDM supported

  port 2, IN, priority 100, RDM supported

  port 3, IN, priority 100, RDM supported

  port 0, OUT, RDM supported

  port 1, OUT, RDM supported

  port 2, OUT, RDM supported

  port 3, OUT, RDM supported

Device 3: ShowNet [192.168.1.16]

  port 0, IN ShowNet 1-512, priority 100

  port 1, IN ShowNet 513-1024, priority 100

  port 2, IN ShowNet 1025-1536, priority 100

  port 3, IN ShowNet 1537-2048, priority 100

  port 4, IN ShowNet 2049-2560, priority 100

  port 5, IN ShowNet 2561-3072, priority 100

  port 6, IN ShowNet 3073-3584, priority 100

  port 7, IN ShowNet 3585-4096, priority 100

  port 0, OUT ShowNet 1-512

  port 1, OUT ShowNet 513-1024

  port 2, OUT ShowNet 1025-1536

  port 3, OUT ShowNet 1537-2048

  port 4, OUT ShowNet 2049-2560

  port 5, OUT ShowNet 2561-3072

  port 6, OUT ShowNet 3073-3584

  port 7, OUT ShowNet 3585-4096

Device 4: ESP Net [192.168.1.16]

  port 0, IN, priority 100

  port 1, IN, priority 100

  port 2, IN, priority 100

  port 3, IN, priority 100

  port 4, IN, priority 100

  port 0, OUT

  port 1, OUT

  port 2, OUT

  port 3, OUT

  port 4, OUT

Device 5: SandNet [192.168.1.16]

  port 0, IN, priority 100

  port 1, IN, priority 100

  port 2, IN, priority 100

  port 3, IN, priority 100

  port 4, IN, priority 100

  port 5, IN, priority 100

  port 6, IN, priority 100

  port 7, IN, priority 100

  port 0, OUT

  port 1, OUT

Device 6: Pathport [192.168.1.16]

  port 0, IN, priority 100

  port 1, IN, priority 100

  port 2, IN, priority 100

  port 3, IN, priority 100

  port 4, IN, priority 100

  port 5, IN, priority 100

  port 6, IN, priority 100

  port 7, IN, priority 100

  port 0, OUT

  port 1, OUT

  port 2, OUT

  port 3, OUT

  port 4, OUT

  port 5, OUT

  port 6, OUT

  port 7, OUT

Device 7: E1.31 (DMX over ACN) [192.168.1.16]

  port 0, IN, priority inherited

  port 1, IN, priority inherited

  port 2, IN, priority inherited

  port 3, IN, priority inherited

  port 4, IN, priority inherited

  port 0, OUT, priority inherited

  port 1, OUT, priority inherited

  port 2, OUT, priority inherited

  port 3, OUT, priority inherited

  port 4, OUT, priority inherited

Device 8: OSC Device

  port 0, IN /dmx/universe/%d, priority 100

  port 1, IN /dmx/universe/%d, priority 100

  port 2, IN /dmx/universe/%d, priority 100

  port 3, IN /dmx/universe/%d, priority 100

  port 4, IN /dmx/universe/%d, priority 100

Device 9: KiNet Device

Device 10: StageProfi Device

  port 0, OUT /dev/ttyUSB0, patched to universe 1


And I will try to disable the Stageprofil plugin because I never done that.

kevin.be...@gmail.com

unread,
Feb 11, 2018, 9:42:21 AM2/11/18
to open-lighting
I don't know ho I did that but my Raspberry crashed so I had to reinstall Raspbian.

So I install Raspbian Stretch (the lite version because I don't need the graphic interface). And I install ola with "sudo apt-get install ola", and I didn't do anything else.
Maybe it's a good point, with that I can start with a new installation ;) But I don't know how to configure to have access to my Enttec... I don't know the commands... 
So if you can tell me how configure it (with the commands of course) like a tutorial, I will be grateful.

Thanks.

Kevin

Peter Newman

unread,
Feb 11, 2018, 11:00:32 AM2/11/18
to open-lighting
See here for some more detail:

If you disable Stageprofi (via the new web UI http://<Pi-IP>:9090/new/#/plugins) then Reload Plugins, it should detect your Open DMX USB. If it doesn't then, we'll need to do some more troubleshooting, so give us ola_dev_info again, as well as lsusb.

kevin.be...@gmail.com

unread,
Feb 11, 2018, 11:33:58 AM2/11/18
to open-lighting
I did what you said:


and when I write ola_dev_info, I receive the same thing:

pi@raspberrydmx:~ $ ola_dev_info

kevin.be...@gmail.com

unread,
Feb 11, 2018, 11:37:51 AM2/11/18
to open-lighting
And I forgot to give you that:

pi@raspberrydmx:~ $ lsusb

Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter

Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

kevin.be...@gmail.com

unread,
Feb 11, 2018, 2:46:17 PM2/11/18
to open-lighting
After several attempts, I managed to run a script. I've turned off the "Serial USB" and "Enttec Open DMX USB" plugins and I enabled the "FTDI DMX USB" plugin which I assigned the first universe and now everything works well.

Thank you for your patient and your advice :)

PS: I'm sorry if there were a lot of spelling mistakes, but I'm Belgian (I speak French) and I think my English is not very very good

kevin.be...@gmail.com

unread,
Feb 11, 2018, 3:08:01 PM2/11/18
to open-lighting
In fact, I have another problem now, when I use ola with "ola_dmxconsole -u1", everything works conrrectly (that's why I said that everything was fine in the previous message) ... 
But when I run a simple python script, nothing happens :/

Peter Newman

unread,
Feb 11, 2018, 8:48:27 PM2/11/18
to open-lighting
Excellent, that's progress if you've got control of the lights.

Your English is fine, certainly it's far better than my French!


On Sunday, 11 February 2018 20:08:01 UTC, kevin.bertrand.04 wrote:
In fact, I have another problem now, when I use ola with "ola_dmxconsole -u1", everything works conrrectly (that's why I said that everything was fine in the previous message) ... 
But when I run a simple python script, nothing happens :/
The script above? That is stopping the wrapper as soon as it's sent the frame, which probably isn't great for what you want to do.

If you do ola_dmxmonitor -u1 while running the script, does that show the changes?

kevin.be...@gmail.com

unread,
Feb 12, 2018, 2:20:58 AM2/12/18
to open-lighting
Yes, when I launch the script in a terminal and the monitor in a second one, the values change but nothing moves

kevin.be...@gmail.com

unread,
Feb 12, 2018, 2:46:35 AM2/12/18
to open-lighting
In fact, when I run a script in python, I have to activate the channel 14 to allow the lights to move... That's weird ^^

Peter Newman

unread,
Feb 12, 2018, 11:23:45 AM2/12/18
to open-lighting
OLA only sends the data out you give it in, the behavior you describe sounds like a classic bug and I believe failure to follow the spec by the light.

kevin.be...@gmail.com

unread,
Feb 12, 2018, 2:17:39 PM2/12/18
to open-lighting
I solved my problem with a simple line in my python script. 
First I followed the tutorial (like I said) and in the tutorial, we only send a value for the first 3 channels like you said in the previous message:

data = array.array('B', [10, 55, 255])

So when I watched the dmx monitor I saw that a value was assigned to the first 3 channels and all the rest was crossed. So I tried to send an array with 512 value with this:

data = array.array('B', [0]*512)
data[0] = 255

With this method, everything works fine. So now, all my problems (with OLA of course) are solved.

Thank you for you help ;)

Peter Newman

unread,
Feb 14, 2018, 7:55:40 AM2/14/18
to open-lighting

On Monday, 12 February 2018 19:17:39 UTC, kevin.bertrand.04 wrote:
I solved my problem with a simple line in my python script. 
First I followed the tutorial (like I said) and in the tutorial, we only send a value for the first 3 channels like you said in the previous message:

data = array.array('B', [10, 55, 255])

So when I watched the dmx monitor I saw that a value was assigned to the first 3 channels and all the rest was crossed. So I tried to send an array with 512 value with this:
I'm glad someone has found that indication useful!
data = array.array('B', [0]*512)
data[0] = 255

With this method, everything works fine. So now, all my problems (with OLA of course) are solved.
Excellent, the only minor downside of sending the entire universe is potentially slightly slower refresh rates, but this is unlikely to be an issue for most people.
Reply all
Reply to author
Forward
0 new messages