Redshift

Aus c3RE.de
Wechseln zu: Navigation, Suche

Redshift492.jpg

Redshift ist ein rotes "retro" LED Display mit 64x12=768 Pixel

Es steht oben rechts im Regal des Clubraums.

Es kann Befehle und Frames(Bilder) via MQTT empfangen.

Ihr seid alle herzlich eingeladen, bits und bytes an dieses Display zu schicken!

Wie das UFO und die ws2812-Tonne wird es durch ein PC-Netzteil mit 5V= versorgt. Das Netzteil steht im Schaltschrank und kann per Fernbedienung/Funksteckdose eingeschaltet werden.

Sende einen Text via MQTT oder node-red: http://nodered/ui/#/0

Weitere Details im Pad: http://pads.c3re.de/p/redshift


Ähnlich wie beim WS2812-UFO kann man die Pixel per MQTT ansteuern. Das Topic lautet: huette/clubraum/000/redshift/actuators/set_pixel Folgende Befehle kann man an dieses Topic senden:

  • 0-767 #111111 (set one pixel)
  • 0-767 #000000 (clear one pixel)
  • 255 #0 clear display
  • 255 #010000 fill display
  • text Hello (display Text, max 10 letters)
  • scroll Hello World (scroll from right to left)
  • scrolly Hello (scroll from bottom to top)
  • row #0..B" (fill one row, clear all other rows)

Zweites Topic: huette/clubraum/000/redshift/actuators/frame - hier kann man Frames (2D Bilder) hin senden: 1pixel = 1 bit, 8 byte pro Zeile


Beispiel für das Senden von 2 Frames

#!/usr/bin/env python
import time

import paho.mqtt.client as mqtt

#topic = "huette/clubraum/000/ws2812tonne/actuators/frame"
topic = "huette/clubraum/000/redshift/actuators/frame"

def on_connect(client, userdata, flags, rc):
    print("Connected with result code " + str(rc))

client = mqtt.Client()
client.on_connect = on_connect

client.connect("mqtt", 1883, 60)

client.loop_start()

# 64 elements, all with value 255
# 255 = all bits on (111111111111) = all LEDs on
byteArray =  bytearray(  [255]*64 )
          
# the 8 bytes in each row are the same
# 2 = 0000 0010
# 4 = 0000 0100
# 8 = 0000 1000
#...                       
byteArray2 = bytearray([2,2,2,2,2,2,2,2,
                        4,4,4,4,4,4,4,4,
                        8,8,8,8,8,8,8,8,
                        16,16,16,16,16,16,16,16,
                        32,32,32,32,32,32,32,32,
                        64,  64, 64, 64, 64, 64, 64, 64,
                        128,128,128,128,128,128,128,128,
                        1,1,1,1,1,1,1,1])
                        
print len(byteArray )
print len(byteArray2)

while True:
    client.publish( topic, byteArray)
    time.sleep(1)
    print ('A')
    client.publish( topic, byteArray2)
    time.sleep(1)
    print ('B')


redshift-uhr.sh


mosquitto_pub -t huette/clubraum/000/redshift/actuators/set_pixel -m "255 #000000"

while true; do

    date +"text  %H:%M:%S" | mosquitto_pub -h mqtt  -t "huette/clubraum/000/redshift/actuators/set_pixel" -l
#    echo "."
    sleep 0.5
done