LED Panel: Difference between revisions

From The Munich Maker Lab's Wiki
Jump to navigation Jump to search
(Created page with "{{project |name = LED Panel |status = experimental |image = |description = Displays a ticker on the LED Panel in the space |author = User:siedi|Matth...")
 
m (Siedi moved page LEDPanel to LED Panel)
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{project
{{project
|name        = LED Panel
|name        = LED Panel
|status      = experimental
|status      = beta
|image      =  
|image      =  
|description = Displays a ticker on the LED Panel in the space
|description = Displays a ticker on the LED Panel in the space
Line 11: Line 11:
|license    =  
|license    =  
|download    =  
|download    =  
}}The LED Panel actually consists 2 32x128 LED panels with a HUB75 connected to a Raspberry Pi 1. The panels are provided by [[User:jorgen|Jorgen]], the pi by [[User:siedi|Matthias]] The custom software can retrieve messages via MQTT (what else) and display them in two rows. The first row is the "larger" one, the second row the smaller one. The content and format of the text can be heavily customized via MQTT (see below).
}}
The LED Panel actually consists 2 32x128 LED matrixes with a HUB75 connected to a Raspberry Pi 1. The panels are provided by [[User:jorgen|Jorgen]], the pi by [[User:siedi|Matthias]] The custom software can retrieve messages via MQTT (what else) and display them in two rows. The first row is the "larger" one, the second row the smaller one. The content and format of the text can be heavily customized via MQTT (see below).


== Software ==
== Software ==
Line 17: Line 18:
* Based on the RPI-RGB-LED-Matrix project from hzeller [https://github.com/hzeller/rpi-rgb-led-matrix].  
* Based on the RPI-RGB-LED-Matrix project from hzeller [https://github.com/hzeller/rpi-rgb-led-matrix].  
* Uses the C++ MQTT Paho library (needs to be compiled and installed to /usr/local/lib & /usr/local/include accordingly)
* Uses the C++ MQTT Paho library (needs to be compiled and installed to /usr/local/lib & /usr/local/include accordingly)
* The Code is located here (add repository once uploaded and cleaned up).
* The Code is located here https://github.com/siedi/rpi-led-mqtt
* The LED software is automatically launched on startup via the crontab of the pi user and running in the background.  
* The LED software is automatically launched on startup via the crontab of the pi user and running in the background.  


== Command line ==
== Run it ==
 
The program needs to run as root to access the gpios. Without any parameters, it will start with the defaults configured in the source code.
 
  sudo ./led-mqtt
 
The following command line parameters are available:
 
{| class="wikitable"
! parameter
! description
|-
| -S <xxx>
| Set MQTT server
|}
 


== MQTT topics & commands ==
== MQTT topics & commands ==
Line 44: Line 60:
|-
|-
| once1
| once1
| Interrupts the current ticker in the first line and displays this ticker once. Afterwards displays the old text1 ticker.
| Interrupts the current ticker in the first line and displays this ticker once. Afterward displays the old text1 ticker.
| ALARM!!!
| ALARM!!!
|-
|-
| once2
| once2
| Interrupts the current ticker in the second line and displays this ticker once. Afterwards displays the old text2 ticker.
| Interrupts the current ticker in the second line and displays this ticker once. Afterward displays the old text2 ticker.
| Let's go!
| Let's go!
|-
|-
Line 68: Line 84:
|-
|-
|}
|}
...
 
[[Category:Project]]
== Software Compilation ==
 
In case you need to setup a new system and compile the software again, here are some hints.
 
You might need to install the one or the other Debian package (e.g. build-essential libssl-dev libjsoncpp-dev). You will find out when the compilation fails :-).
 
* Install the PAHO MQTT libraries:
 
  # Install the c client first
  git https://github.com/eclipse/paho.mqtt.c
  cd paho.mqtt.c
  cmake -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_STATIC=TRUE -DPAHO_BUILD_SAMPLES=TRUE ${CROSS_COMPILE_ARG}
  make
  sudo make install
  cd ..
  git clone https://github.com/eclipse/paho.mqtt.cpp
  cd paho.mqtt.cpp
  cmake -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_STATIC=TRUE -DPAHO_BUILD_SHARED=FALSE \
        -DPAHO_MQTT_C_PATH=../paho.mqtt.c/ -DPAHO_MQTT_C_LIB=../paho.mqtt.c/src/libpaho.mqtt3as-static.a ${CROSS_COMPILE_ARG}
  make
  sudo make install
  sudo ldconfig
 
 
* Install led-mqtt:
 
  git clone -recursive https://github.com/siedi/rpi-led-mqtt.git
  cd rpi-led-mqtt
  make
 
 
 
[[Category: Project]]

Revision as of 08:15, 11 January 2019

 
LED Panel

Release status: beta [box doku]

Description Displays a ticker on the LED Panel in the space
Author(s)  Matthias

The LED Panel actually consists 2 32x128 LED matrixes with a HUB75 connected to a Raspberry Pi 1. The panels are provided by Jorgen, the pi by Matthias The custom software can retrieve messages via MQTT (what else) and display them in two rows. The first row is the "larger" one, the second row the smaller one. The content and format of the text can be heavily customized via MQTT (see below).

Software

  • Based on the RPI-RGB-LED-Matrix project from hzeller [1].
  • Uses the C++ MQTT Paho library (needs to be compiled and installed to /usr/local/lib & /usr/local/include accordingly)
  • The Code is located here https://github.com/siedi/rpi-led-mqtt
  • The LED software is automatically launched on startup via the crontab of the pi user and running in the background.

Run it

The program needs to run as root to access the gpios. Without any parameters, it will start with the defaults configured in the source code.

 sudo ./led-mqtt

The following command line parameters are available:

parameter description
-S <xxx> Set MQTT server


MQTT topics & commands

The topic structure is <prefix>/<command>/<parameter>, e.g. mumalab/room/ledpanel/set/once1

  • prefix: as give by the command line
  • command: "set" to set a value. There are currently no other commands implemented (like get)
  • parameter: see table below
  • payload: the value to set
topic parameter description value example
text1 Sets the text of the ticker in the first, upper line. Welcome to the MuMaLab!
text2 Sets the text of the ticker in the second, lower line. We love LEDs!
once1 Interrupts the current ticker in the first line and displays this ticker once. Afterward displays the old text1 ticker. ALARM!!!
once2 Interrupts the current ticker in the second line and displays this ticker once. Afterward displays the old text2 ticker. Let's go!
color1 The RGB value of the first line, as a string, comma separated. 255,0,128
color2 The RGB value of the second line, as a string, comma separated. 255,0,128
font1 Name of the font file as on the server for the first text line. 9x18.bdf
font2 Name of the font file as on the server for the second text line. 5x8.bdf

Software Compilation

In case you need to setup a new system and compile the software again, here are some hints.

You might need to install the one or the other Debian package (e.g. build-essential libssl-dev libjsoncpp-dev). You will find out when the compilation fails :-).

  • Install the PAHO MQTT libraries:
 # Install the c client first
 git https://github.com/eclipse/paho.mqtt.c
 cd paho.mqtt.c
 cmake -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_STATIC=TRUE -DPAHO_BUILD_SAMPLES=TRUE ${CROSS_COMPILE_ARG}
 make
 sudo make install
 cd ..
 git clone https://github.com/eclipse/paho.mqtt.cpp
 cd paho.mqtt.cpp
 cmake -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_STATIC=TRUE -DPAHO_BUILD_SHARED=FALSE \
       -DPAHO_MQTT_C_PATH=../paho.mqtt.c/ -DPAHO_MQTT_C_LIB=../paho.mqtt.c/src/libpaho.mqtt3as-static.a ${CROSS_COMPILE_ARG}
 make
 sudo make install
 sudo ldconfig


  • Install led-mqtt:
 git clone -recursive https://github.com/siedi/rpi-led-mqtt.git
 cd rpi-led-mqtt
 make