QLC+ RaspberryPi Jessie Guide
QLC+ RaspberryPi Jessie Guide
QLC+ RaspberryPi Jessie Guide
User guide
The Raspberry Pi name and logo are property of the Raspberry Pi Foundation
(http://www.raspberrypi.org/)
1 Table of contents
1 Introduction.....................................................................................................3
2 Features...........................................................................................................3
3 Download & install on a SD card.....................................................................4
4 Raspberry Pi connections................................................................................5
5 Booting and remote access.............................................................................7
5.1 Web interface...............................................................................................7
5.1.1 QLC+ Virtual Console................................................................................8
5.1.2 QLC+ Simple Desk.....................................................................................8
5.1.3 QLC+ Configuration...................................................................................8
5.1.4 Raspberry Pi System Configuration...........................................................9
5.2 Direct access..............................................................................................10
5.3 SSH access.................................................................................................10
6 Date and time................................................................................................11
7 Locales...........................................................................................................11
8 Overscan.......................................................................................................11
9 Displays and touchscreens............................................................................12
9.1 HDMI displays.............................................................................................12
9.2 VGA Displays..............................................................................................12
9.3 SPI Displays................................................................................................13
9.4 Touchscreens..............................................................................................14
10 Manual installation......................................................................................16
11 Frequently Asked Questions........................................................................17
1 Introduction
Welcome to the QLC+ on the Raspberry Pi user guide !
A Raspberry Pi runs a Linux operating system, so please don't expect to
find all the tools and windows of a desktop system like Windows or OSX.
Also, please keep in mind that a Raspberry Pi cannot replace a PC,
especially when it comes to designing a light show.
This document is not meant to teach you how to use Linux. There's
plenty of information about that on the internet, as well as specific
information on how to setup and tweak a Raspberry Pi Linux system.
So please, before asking non QLC+ related questions, submit them to
Google and not to the QLC+ forum.
2 Features
QLC+ on Raspberry Pi is an optimized version that tries to get the best
out of a limited device while keeping the whole set of functionalities
offered on the desktop version.
Let's go directly into the techy details to let you understand what kind of
gear is powering QLC+:
• A Linux system based on Debian Jessie, with a 4.4 kernel and
optimized for the ARM platform
• Supports every Raspberry Pi model
Around 800MB of free RAM memory when QLC+ is running.
• Extremely tiny software image that fits into a SD card with a size of
just 1GB and still leaves around 200MB of free space
• Powered by Qt 5.6.2 directly running on OpenGL for fast 2D
rendering of the User Interface. Xorg is not present in the image.
• All the QLC+ plugins are available in this version, including OLA,
UART, GPIO and a SPI plugin to natively control RGB LED
Panels
• Boots in about 12 seconds on a RPi3 (15s on Pi2, 25s on Pi
Zero and 30s on Pi1). They start automatically in operate mode
and with web access activated. It is possible to define a project to
be loaded and started at boot time.
3 Download & install on a SD card
Starting to play with QLC+ on your Raspberry Pi requires a couple of
quick and easy steps.
1. Download the software image from the URL provided via email. You
need to use a download manager supporting file transfer resuming,
like the Chrome's Chrono Download Manager extension, jDownloader
or simply the 'wget' command.
2. Once you have downloaded the software, you will notice that it is
compressed into a 7z archive, to save you time and space. The 7z
format is extremely space-saving but it requires an additional tool to
be extracted.
Here's how to obtain it for different platforms:
◦ Windows: The official tool can be downloaded from here:
http://www.7-zip.org/
◦ Mac OSX: An unofficial tool can be downloaded from here:
https://www.macupdate.com/app/mac/19139/ez7z
◦ Linux: depending on your distribution, you might find a 7z
extractor already installed. On Ubuntu you need p7zip (sudo
aptget install p7zipfull). Once installed, it should
already be integrated with Ark, Nautilus, Gnome Archive
Manager, and so on.
Just double click the file if unsure. Once extracted, you should obtain a
file with a name like this: qlcplus_raspbian_jessie_20160424.img
3. To copy the .img file on your SD card, you obviously need a SD card at
least 1GB big. Please keep in mind that this operation will fully
erase your SD card, so backup your data first if there is any !
On Windows and OSX you need additional tools to write the software
on the SD card. In Linux you should already have everything you need.
Here's an extensive guide to help you through this operation. Please
follow the chapter named "Flashing the SD card using ...” for your
operating system.
http://elinux.org/RPi_Easy_SD_Card_Setup
Please be very careful in doing this operation as you can loose
important data of your computer !
4 Raspberry Pi connections
Depending on your needs, the Raspberry Pi itself might not be enough to
control your lights.
• [USB] If you're going to use USB devices, such as DMX adapters or MIDI-
USB controllers, there shouldn’t be problems with RPi 2 and 3, just
choose wisely the power adapter you're going to use. Depending on the
needs, 5V/1,5A or 5V/2A should be OK.
If your USB device is power demanding, it is then suggested to connect
a powered USB HUB that can be found for a few $/€ on Amazon or
eBay.
• [HDMI] If you're going to use QLC+ like on your PC, then you will need
all the above plus a TV set, connected to the HDMI connector (or the
analog one if present)
Please, don't expect to have the same performances of a PC, as the
Raspberry Pi is not a PC.
• [Ethernet] If you're going to use the ArtNet, E1.31 or OSC plugins, 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.
You can also use static IP addresses, for example if your hosts are
connected just with an ethernet hub or directly with a cross cable.
• [WiFi] WiFi connection is possible through USB dongles. Additional
tweaks are needed to make them work. In general, here's a list of verified
devices that are known to be working with the Raspberry Pi:
http://elinux.org/RPi_USB_Wi-Fi_Adapters
http://elinux.org/RPi_VerifiedPeripherals
The 3 chipsets known to be working OK on the Raspberry Pi are:
Broadcom BCM43143, Realtek 8188 and Ralink 3070
Raspberry Pi 3, instead, has an onboard WiFi module already active and
ready to use at boot time.
• [SPI] If you're going to connect some LED strips or a RGB panel on the
SPI port, then you need to have a custom cable that you can't find on the
market. Usually it's very easy to solder it, but it all depends on how the
signals are mapped on your strips. The Raspberry PINs used to control a
SPI device are mapped as in picture A.
Basically you need to use PINs 19, 21, 23 and 25. At the moment, the
QLC+ SPI plugin doesn't control CE (Chip Enable) signals.
• [GPIO] If you're going to use the GPIO plugin, please be aware that not
all the RPi IO PINs can be used as GPIO. Refer to picture A to understand
the correct numbers you should configure in the QLC+ GPIO plugin.
Note also that since GPIO numbering starts from 0 and QLC+ DMX
channels start from 1, there is a +1 delta you need to remember. For
example GPIO.18 will control DMX channel 19.
It should be possible to have more GPIO available by unloading the SPI
and I²C kernel modules but for now this is out of the scope of this guide.
Picture A
40 PIN IO
RPi 1 model B+, RPi 2 and 3
Name Pin # Name
3.3V 1 2 5V
I²C SDA.1 3 4 5V
I²C SCL.1 5 6 GND
1-Wire 7 8 UART Tx
GND 9 10 UART Rx
GPIO.17 11 12 GPIO.18
GPIO.27 13 14 GND
GPIO.22 15 16 GPIO.23
3.3V 17 18 GPIO.24
SPI MOSI 19 20 GND
SPI MISO 21 22 GPIO.25
SPI SCLK 23 24 SPI CE0
GND 25 26 SPI CE1
I²C SDA.0 27 27 I²C SCL.0
GPIO.5 29 30 GND
GPIO.6 31 32 GPIO.12
GPIO.13 33 34 GND
GPIO.19 35 36 GPIO.16
GPIO.26 37 38 GPIO.20
GND 39 40 GPIO.21
Once all the preliminary checks are done, you are ready to turn your Raspberry
Pi on.
After around 15 seconds, you will be able to reach it on the network.
By default, the QLC+ Raspberry software is configured to receive an IP from a
DHCP server. If the network cable is not connected, the boot sequence might
be slow, and in this case it is suggested to use a static IP address.
Hint: In general, to know which IP address your Raspberry is using, just
connect a mouse and a TV to it and when QLC+ is started, go to the
Input/Output panel and see which output the ArtNet and the E1.31 plugins are
displaying. Otherwise, just quit QLC+ and the current IP address should be
displayed at the end of the boot messages.
There are three ways to access the device: Web interface, direct access or SSH.
If you need the OLA server to be automatically started at boot just type:
sudo dpkg-reconfigure ola
6 Date and time
Unlike a desktop computer, the Raspberry Pi doesn't have a backup battery, so
when you turn it off, all the system temporary information gets lost.
Most of them are detected during the boot process, but the system date and
time is strictly related to the network presence.
If no network is available, the system won't be able to set the correct date and
time, so if your QLC+ project uses time schedules, keep in mind that you will
need a network access. In this case “network access” means access to a NTP
server, which is normally available with an internet connection, so make sure
the Raspberry Pi has access to it.
If you're an advanced user and know how to set up a NTP server in your local
network, there will be no need for an internet access, but you'll have to
manually configure the Raspberry Pi to pick up the date and time from your
own server.
7 Locales
In Linux terms, “locales” are international codes (e.g. en_US, de_DE, es_ES, etc)
that define the system language.
To change the image system language, just type:
sudo dpkg-reconfigure locales
And follow the instructions on the screen.
You can also change the layout of your keyboard, if needed, by typing:
sudo dpkg-reconfigure keyboard-configuration
8 Overscan
Depending on the TV set or touchscreen device connected to the Pi, it might be
useful to enable or disable the overscan feature.
When disabled, QLC+ will use every pixel of the display. When enabled, QLC+
will be displayed with a 5% black margin to better fit on some displays.
By default the overscan feature is enabled at boot.
To disable it, you need to manually modify the QLC+ startup script located at:
/etc/init.t/qlcplus
Look for a line starting with “QLCPLUS_OPTS” and remove the “--overscan”
option.
9 Displays and touchscreens
Connecting a display with a touchscreen surface is possible in most of the
cases, and in the last years a wide variety of products spread out in the market.
However, this topic is not for beginners, so do not order random displays
from random chinese websites unless you know exactly what you're
doing and how those devices work !
Here, some information are provided to help users to work with displays and
touchscreens, but it is impossible to cover all the cases due to the wide variety
of devices mentioned above.
If the instructions here do not work for you, it's up to your Linux skills to adapt
them to your device and you are very welcome to share your findings in the
QLC+ Raspberry Pi forum.
If you're not familiar with editing files with Linux, kernel drivers, bash scripts
and environment variables, then this chapter is not for you. Sorry.
First of all, you should be aware that there are mainly 3 types of displays that
can be connected to the Raspberry Pi:
• HDMI + touchscreen
• VGA + touchscreen
• SPI + touchscreen
They use totally different connections and totally different drivers.
The display output connections and the touchscreen connections are now split
into separate paragraphs.
Also, you might want to play with the “speed” and the “rotate” parameters.
(optional) If you want to see the Linux boot messages, edit the 'cmdline.txt'
file and add this at the end of the kernel parameters:
fbcon=map:10
Boot the RPi, login via SSH and test the screen with this command:
cp /dev/urandom /dev/fb1
If this command shows random pixels on the screen, then it means you are
using the right kernel driver and Linux has been able to map the display on the
/dev/fb1 device. Congratulations !
Now, to finally redirect QLC+ to the fb1 device, you need to adjust its
command line options.
Edit the file /etc/init.d/qlcplus and look for a line starting with
QLCPLUS_OPTS=”...”.
9.4 Touchscreens
A touchscreen surface is nothing but a thin film that provides spatial and
pressure information. It can be resistive or capacitive and it can have different
types of connections.
The easiest way QLC+ can work with a touchscreen, is if Linux is able to map it
to a /dev/input/event device, so the preliminary test to do is to check (without
any mouse or keyboard plugged) if the following command produces any
result:
ls -l /dev/input/event*
If you don't get any result, then you will need to look up for additional
information concerning your specific touchscreen chipset/connection.
If, instead the touchscreen is mapped on some event device, you can test if it's
working properly by issuing the following command and then touching the
screen:
sudo apt-get install evtest
evtest /dev/input/event0
Obviously you need to replace “event0” with the name of the device actually
mapped by Linux and displayed by the ls command.
Some touchscreens provide a USB cable, and they most likely will work out of
the box, as Linux can map a USB input device like if it was a mouse or a
keyboard.
If they don't work, then they probably use a non conventional chipset. If the
chipset is recognized by Linux, then you could find some information by
googling the chipset name, otherwise you might need to give up and consider
it “not supported”.
The tslib has also some tools like “ts_calibrate” and “ts_test” to check if the
touchscreen is working. They can be installed with
sudo apt-get install libts-bin
If the previously mentioned “evtest” works for you, then you don't need to use
the tslib plugin, so please do not mix the two things.
In case you connected a SPI display, the touchscreen is probably using some
GPIO signals and the FBTFT kernel driver should make the work also to map a
/dev/input/event device.
You just need to tell the Qt libraries that you are using a touchscreen and not a
mouse with the option:
-plugin evdevtouch
(see paragraph 7.3 for more details)
First of all you need to cd into a directory that you can write. Usually cd $HOME
will work just fine.
Then you need to wget the QLC+ package with the URLs provided in the email
you received together with this document, and the Qt installation script:
wget <URL>/qlcplus_x.y.z_armhf.deb
wget http://www.qlcplus.org/downloads/raspberry/qt5/qt5-upgrade.sh
chmod +x qt5-upgrade.sh
In case, wget also the provided .md5 file to check the QLC+ package integrity.
Then install the required dependencies:
sudo apt-get install libts-0.0-0 libinput5
(Qt5 dependencies if you’re going to run QLC+ in a X server)
sudo apt-get install libxcb-xinerama0 libxcb-keysyms1 libxcb-
image0 libxcb-render-util0 libxcb-icccm4 libxcb-randr0
(QLC+ dependencies)
sudo apt-get install libmad0 libftdi1 libasound2 libfftw3-3
At last, install the 2 packages as follows:
sudo dpkg -i qlcplus_x.y.z_armhf.deb
sudo ./qt5-upgrade.sh yyyymmdd
The Qt package dates list can be found in the table at the end of this chapter.
Please note that the dpkg command can take several minutes, even on a RPi 3
cause of the large amount of files in the package. It also depends on the speed
of your SD card.
Now everything should be installed in the system, so you can check if QLC+
works like this (from a terminal):
- if you’re in a X desktop environment: qlcplus -platform xcb
- if you’re in a textual runlevel: qlcplus