Hello all! Just a quick introduction and then I will walk through my initial comments/questions about using the new QLC+ image on the rPi. Great work Massimo and the QLC+ team! I apologize in advance for the lengthy post, just trying to be thorough...thx!
**Quick Introduction:**
My name is Steve French and I run an electronic design company called [Volt Vision](http://www.voltvision.com/). I am a musician, electrical engineer (hardware guy) and fanatic about creating new forms of interactive art. I do interactive art/lighting events quite often and also do educational workshops and seminars like [this one about using OLA on the Beaglebone Black in Guatemala](http://www.voltvision.com/beaglebone-bl ... guatemala/). I am actively developing with lighting & sound servers/clients on embedded linux machines (and various arduinos & microcontroller platforms) to create interactive art exhibits (and the engines that run them). Feel free to check out "Our Projects" on the website to see more examples.
Right now I am working on the 2014 version of [this show from last year](http://www.voltvision.com/projects/wint ... t-audubon/).
We go live in 3 weeks from now and this year I hope to add some QLC+/rPis to the existing array of BBBs, Arduinos, Teensies, SanDevices, etc.
**Initial comments/questions about using the new QLC+ image on the rPi:**
1) How do you recommend starting OLA on the rPi? Sorry if I missed it, but it does not mention it in the QLC+/rPi manual that you made. The main QLC+ manual says "This can be done either manually by starting up "olad" from a terminal or in the configuration panel by ticking "Run standalone OLA daemon"." The problem I have found with typing "olad" in the terminal window is that it blocks the terminal window from any further commands. Do you see a problem using the method I usually use "olad -f -l 3 --syslog"? Also, I didnt see anything in the QLC+/rPi config pages to start up OLA. How do *you* do it?
2) Do you foresee any problems using the OLA UART DMX plugin which is built into the newer versions of OLA? (It was designed to work on the rPi!!!). I am hoping to drive RS485 transceivers directly from the rPi UART so that I can generate DMX data without using an extra USB DMX dongle....this should save lots of space and money (if it works properly).
3) How do you monitor/quantify the rPi processor %usage when you are doing development? We certainly know that the rPi processor is very limited compared to multi-core workstations and laptops....so when I try the OLA UART DMX and other tricks I would like to keep an eye on the processor health. How do you do it?
4) General comment: Section 3 of the qlc+rPi manual says "If you're going to communicate with an ArtNet network, then you just need to plug an ethernet cable to your Raspberry and make sure a DHCP server (usually present in traditional routers) assigns a valid IP address to it"...I want to agree with this, but by default the qlc+/rPi doesnt have DHCP enabled...it uses static IP instead, so this wont work as stated.
5) General suggestion: Start with a simple example project already loaded by default. I appreciate that you want to save space, but just a simple project to show what a slider and a button look like so that people can confirm they render ok in a browser and respond to touch right out of the box... instant gratification... BEFORE people get to the point of loading their own projects. Just my opinion...it would have helped me!
6) General Comment: It would be nice to set the hostname in the webconfig page. I am working on a design that uses 4 or 5 OLA/QLC+ nodes in a network...the first thing I normally do with my Beaglebone Black systems is to set unique hostnames immediately before deploying them. It sucks having 5 machines all named "beaglebone" or "raspberry-pi" on the same network!
7) Do you see a problem (unintended consequence) changing the hostname directly with:
* nano /etc/hostname
Hostname before::
root@raspberry-pi:~# cat /etc/hostname
raspberry-pi
Hostname after::
root@VoV-rPi1:~# cat /etc/hostname
VoV-rPi1
8) Can we use more than 4 universes? What is the realistic limit on the rPi? For instance, [this installation that I recently did](http://www.voltvision.com/projects/emporium/) has about 2,000 pixels which is 6,000 DMX channels which is about 12 universes. I understand that at some point the load needs to be split amongst multiple clients and the server needs to handle all of them.
9) What is the proper way to shutdown the rPi/QLC+ server? I didnt see this referenced in the manual...sorry if I missed it. Should there be a button in the config page under the reboot button?...or should I do this:
root@VoV-rPi1:~# shutdown now
Broadcast message from root@VoV-rPi1 (pts/1) (Thu Nov 13 13:40:28 2014):
The system is going down to maintenance mode NOW!
10) Is it possible to use "audio out" to have QLC+ send audio to the rPi sound interface? I notice that audio out is in the QLC+/rPi config pages, but I remember you saying it wasnt ready yet. What can I do to help?
11) Eventually, could you share your build notes on "how to build" & optimize for rPi (arm6) so that someone could also do it for a Beaglebone Black (arm7) and other platforms (Intel Galileo, etc)?
12) This last item is just sharing something new and cool with you!!! I was just reading about driving WS2811/WS2812 strips directly from the rPi using PWM and DMA!! See [this link](https://learn.adafruit.com/neopixels-on ... i/overview), which was just updated today...I think they are working on it right now. It certainly would be nice to drive these digital pixels directly from the rPi without using a USB microcontroller dongle (no you cant drive these with the normal OLA SPI plugin because that only supports pixel chipsets that have clock, which the WS2811/WS2812 do not). Do you think it would be possible for someone to write a python script running on the rPi to take pixel data out of QLC+/OLA and send it to the Python library/script referenced? I wonder what the processor would do? (I would hope that since the method is using DMA, that the rPi processor would be minimally affected.). Since this is so "bleeding edge", I will try using OLA serial plugin to send pixel data to a Teensy and drive the strips from there...but I just wanted to share with you this new development! In general I think the WS2811/WS2812 strips are way more popular and cost effective than the Clock-based strips that you can drive with the rPi SPI. The only problem with solutions like this is that they rely on specific hardware tricks for specific platforms (similar to the BBB's PRUs)...so they dont work across multiple platforms.
===============
Sorry for the long initial post. Excellent work Massimo! I look forward to exploring what can be done with QLC+ on all kinds of different platforms. I have been using Lightjams for a few years and while I love Lightjams and the energy source concept, it sucks that it runs only on Windows Computers!!!!!!!!! This is a showstopper for me...especially when things need to be out in sub-zero temperatures and be able to just boot-up and work each day!!! Last year I ran an exhibit in the snow/rain and freezing weather with a Win8 laptop in a bin....never again!
--
Respectfully,
Steve French
President, Volt Vision
www.voltvision.com
Initial comments/questions about using the new QLC+ image on the rPi:
Hello Steve, well, wow, 12 questions as a start...can't imagine the rest
You seem to have some Linux expertise, so bare with me if I say that the RPi image is a standard Debian Wheezy image + a tailored version of QLC+.
So...
1) it's written in the boot messages: if you want to automatically start ola run "dpkg-reconfigure ola"
Other than that, to launch a background command in Linux, just add a '&' at the end of it.
2) I think specific OLA questions should be asked in the OLA forums. QLC+ just sends data to it. What OLA does with it it's not QLC+ concern
3) Ever heard of the 'top' command ? This is basic Linux knowledge...
4) QLC+ on the RPi comes with a static IP for the simple reason that most of the users wouldn't be able to find out a dynamic IP.
That's the way most network devices do (e.g. modems/routers) and then you can set them to DHCP.
Sorry if the document confused you.
5) Bad idea. Then the same should be done on the desktop version, don't you think ? In any case a slider or a button on their own wouldn't do anything anyway. To see them working you need to connect at least an output device, which cannot be determined before.
If you see the web interface, it's enough to say that QLC+ is working.
6) I could think about it
7) See my introduction. It's a Debian Wheezy image.
8) There is no answer to this question. It all depends on the QLC+ usage.
As you can see in my tech preview video, I controlled around 800 DMX channels on just 2 universes. The Pi can do it, but don't expect much more.
More than 4 universe ? Yes. If you use 10 universe with 40-50 DMX channels each for example
9) Paragraph 4.3: SSH access:
QLC+ is a standard service following the Debian rules. You can start/stop it by typing: service qlcplus stop/start/restart
Then again, it's a Debian image. Treat it like a normal Linux box.
I normally brutally unplug the power cord. Never had misbehaviours.
10) Nothing really unfortunately. The audio part is dependant on the Qt framework and unfortunately it is not mature enough.
Actually, you can play with audio output, but keep in mind that you will have no hardware accelerations.
If you stay low on bitrates and avoid compressions (e.g. mp3) maybe it's already usable.
11) No sorry. That would be another task for me to follow and I already have too many things to carry on. You can find all the instructions in internet, like I did.
12) Interesting link, thank you. It would be interesting to write a native plugin for QLC+, like I did for SPI. Bridging data to a python script is a useless waste of resources and on the Pi everything needs to be optimized at the best...otherwise you will control just 3 or 4 LEDs
You seem to have some Linux expertise, so bare with me if I say that the RPi image is a standard Debian Wheezy image + a tailored version of QLC+.
So...
1) it's written in the boot messages: if you want to automatically start ola run "dpkg-reconfigure ola"
Other than that, to launch a background command in Linux, just add a '&' at the end of it.
2) I think specific OLA questions should be asked in the OLA forums. QLC+ just sends data to it. What OLA does with it it's not QLC+ concern
3) Ever heard of the 'top' command ? This is basic Linux knowledge...
4) QLC+ on the RPi comes with a static IP for the simple reason that most of the users wouldn't be able to find out a dynamic IP.
That's the way most network devices do (e.g. modems/routers) and then you can set them to DHCP.
Sorry if the document confused you.
5) Bad idea. Then the same should be done on the desktop version, don't you think ? In any case a slider or a button on their own wouldn't do anything anyway. To see them working you need to connect at least an output device, which cannot be determined before.
If you see the web interface, it's enough to say that QLC+ is working.
6) I could think about it
7) See my introduction. It's a Debian Wheezy image.
8) There is no answer to this question. It all depends on the QLC+ usage.
As you can see in my tech preview video, I controlled around 800 DMX channels on just 2 universes. The Pi can do it, but don't expect much more.
More than 4 universe ? Yes. If you use 10 universe with 40-50 DMX channels each for example
9) Paragraph 4.3: SSH access:
QLC+ is a standard service following the Debian rules. You can start/stop it by typing: service qlcplus stop/start/restart
Then again, it's a Debian image. Treat it like a normal Linux box.
I normally brutally unplug the power cord. Never had misbehaviours.
10) Nothing really unfortunately. The audio part is dependant on the Qt framework and unfortunately it is not mature enough.
Actually, you can play with audio output, but keep in mind that you will have no hardware accelerations.
If you stay low on bitrates and avoid compressions (e.g. mp3) maybe it's already usable.
11) No sorry. That would be another task for me to follow and I already have too many things to carry on. You can find all the instructions in internet, like I did.
12) Interesting link, thank you. It would be interesting to write a native plugin for QLC+, like I did for SPI. Bridging data to a python script is a useless waste of resources and on the Pi everything needs to be optimized at the best...otherwise you will control just 3 or 4 LEDs
Massimo,
Thanks for your quick reply! You will notice my messages getting shorter and shorter now
0) I have been learning embedded linux as I go, but certainly I am not a linux professional. Thx for your patience.
1) I run the rPi headless, so I dont see any boot messages. I got OLA working with the "dpkg-reconfigure ola". Thanks!! I should also point out that OLA wont run as root when trying to do "olad" from the command line.
2) I agree. I should have asked it like this...The current QLC+/rPi image seems to be running OLA v0.8.33 ([as seen here](http://imgur.com/uQ2wpdd)). The UART DMX plugin was added in v0.9.1. How do I upgrade OLA to the newest release without wiping out all of your rPi optimizations? Do I just run "apt-get update && apt-get upgrade" or something else?
3) That was one of the holes in my linux knowledge...thx, "top" is very useful!!!!!!!!!!!
4) ok, thx!
5) ok, I agree.
6) ok
7) ok
8) ok, I will keep an eye on "top" from now on when I develop!
9) thx!
10) ok, I will try to see if I can get audio playback to work. Since you edit the QLC+ project on the PC first, then move the project to the rPi, how do you reference the new audio clip? What path do you recommend that will work on both?
11) ok, thx!
12) thx for your comment...I know that OLA has Python bindings, but I have never done it and am not sure about performance...especially on the rPi.
Thx again! I will share my results with you as I figure out cool things.
Talk soon!
-frenchy (Steve French)
Thanks for your quick reply! You will notice my messages getting shorter and shorter now
0) I have been learning embedded linux as I go, but certainly I am not a linux professional. Thx for your patience.
1) I run the rPi headless, so I dont see any boot messages. I got OLA working with the "dpkg-reconfigure ola". Thanks!! I should also point out that OLA wont run as root when trying to do "olad" from the command line.
2) I agree. I should have asked it like this...The current QLC+/rPi image seems to be running OLA v0.8.33 ([as seen here](http://imgur.com/uQ2wpdd)). The UART DMX plugin was added in v0.9.1. How do I upgrade OLA to the newest release without wiping out all of your rPi optimizations? Do I just run "apt-get update && apt-get upgrade" or something else?
3) That was one of the holes in my linux knowledge...thx, "top" is very useful!!!!!!!!!!!
4) ok, thx!
5) ok, I agree.
6) ok
7) ok
8) ok, I will keep an eye on "top" from now on when I develop!
9) thx!
10) ok, I will try to see if I can get audio playback to work. Since you edit the QLC+ project on the PC first, then move the project to the rPi, how do you reference the new audio clip? What path do you recommend that will work on both?
11) ok, thx!
12) thx for your comment...I know that OLA has Python bindings, but I have never done it and am not sure about performance...especially on the rPi.
Thx again! I will share my results with you as I figure out cool things.
Talk soon!
-frenchy (Steve French)
2) I'm afraid update/upgrade is not enough.
I just tried and you need to do also:
apt-get remove ola
apt-get install ola
It switches from 0.8.33 to 0.9.2
10) audio files can be moved together with a project in relative paths.
For example if your project is on folder "test" and it uses audio files in the same folder, you will be able to re-use them on the Pi just placing them in the same folder of the project.
If you load the project from web I think the default path QLC+ looks for is the user directory, so in this case should be 'root'.
Haven't tested it though.
12) I've had a quick look at the project. It seems there are a few C files that eventually could be embedded in a QLC+ plugin.
However I don't have any ws2811 strip to test it
I just tried and you need to do also:
apt-get remove ola
apt-get install ola
It switches from 0.8.33 to 0.9.2
10) audio files can be moved together with a project in relative paths.
For example if your project is on folder "test" and it uses audio files in the same folder, you will be able to re-use them on the Pi just placing them in the same folder of the project.
If you load the project from web I think the default path QLC+ looks for is the user directory, so in this case should be 'root'.
Haven't tested it though.
12) I've had a quick look at the project. It seems there are a few C files that eventually could be embedded in a QLC+ plugin.
However I don't have any ws2811 strip to test it
Massimo,
Thanks again. Regarding updating OLA, Simon just pushed the 0.9.3 debs to the repo for the rPi. For me, when I upgraded OLA I had to use "apt-get dist-upgrade" because the regular upgrade was holding OLA back because of dependency problems:
root@VoV-rPi2:~# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
ola
=============================================
Lastly, I keep getting these errors all the time...after some brief research I think its because you have Italian language support and I dont?:
root@VoV-rPi1:~# dpkg-reconfigure ola
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
The init script is currently inactive;
use "dpkg-reconfigure ola" to change this.
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
[ ok ] Starting OLA daemon: olad.
Thanks again!
Steve French
www.voltvision.com
Thanks again. Regarding updating OLA, Simon just pushed the 0.9.3 debs to the repo for the rPi. For me, when I upgraded OLA I had to use "apt-get dist-upgrade" because the regular upgrade was holding OLA back because of dependency problems:
root@VoV-rPi2:~# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
ola
=============================================
Lastly, I keep getting these errors all the time...after some brief research I think its because you have Italian language support and I dont?:
root@VoV-rPi1:~# dpkg-reconfigure ola
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
The init script is currently inactive;
use "dpkg-reconfigure ola" to change this.
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
[ ok ] Starting OLA daemon: olad.
Thanks again!
Steve French
www.voltvision.com
-
- Posts: 6
- Joined: Fri Dec 04, 2015 9:52 am
- Location: Dunblane, Scotland
- Real Name: Mike Price
Hi
Has the audio play back function on the Pi been made to work yet?
If so are there restrictions on file types?
I have been trying to get audio play back working without success. Found this relatively old post and wondered if I was striving for the impossible.
I have been spending the last week getting my QLC+ system working on a MacBook air with fantastic results. I have spent the last 20 years keeping 1970s (my era) thyristor dimmers working with tungsten lights. Moving to RGBW LEDs and QLC+ is like discovering the secrets of witch craft!
Anyway I have moved the project with ease across to the Raspberry Pi (with some assistance). The only thing I have so far failed to get working is audio play back. I have run speaker-test on the Pi and they are working. I failed to put the audio file (a wave file with a bit rate of 177 kb/s) in the same folder as the project file, but have moved the file on to the Pi and recreated the audio function. I cannot though get it to play.
Advice would be appreciated.
Mike
Has the audio play back function on the Pi been made to work yet?
If so are there restrictions on file types?
I have been trying to get audio play back working without success. Found this relatively old post and wondered if I was striving for the impossible.
I have been spending the last week getting my QLC+ system working on a MacBook air with fantastic results. I have spent the last 20 years keeping 1970s (my era) thyristor dimmers working with tungsten lights. Moving to RGBW LEDs and QLC+ is like discovering the secrets of witch craft!
Anyway I have moved the project with ease across to the Raspberry Pi (with some assistance). The only thing I have so far failed to get working is audio play back. I have run speaker-test on the Pi and they are working. I failed to put the audio file (a wave file with a bit rate of 177 kb/s) in the same folder as the project file, but have moved the file on to the Pi and recreated the audio function. I cannot though get it to play.
Advice would be appreciated.
Mike
- mcallegari
- Posts: 4807
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
Please have a look at the post right before yours:
viewtopic.php?f=7&t=9470
You might have wrong paths into the project file. you can double check from within the RPi
Also: wave file of 177kbps ?? Are you sure ? That's a terrible quality for a wave file. Maybe you meant mp3 ?
viewtopic.php?f=7&t=9470
You might have wrong paths into the project file. you can double check from within the RPi
Also: wave file of 177kbps ?? Are you sure ? That's a terrible quality for a wave file. Maybe you meant mp3 ?