Frozen Bottle

Version vom 24. Mai 2016, 22:25 Uhr von Basti (Diskussion | Beiträge) (mehr v2-Bilder eingefügt)
Zur Navigation springen Zur Suche springen


github

Es gibt ein github repository mit Software für das Frozenbottle Projekt:

https://github.com/freieslabor/FrozenBottle/

v1

v2


Anschluss

Die Bilder zeigen, wie der Anschluß an einen Rechner erfolgt mit dem PIC.

Links ist ein USB-seriell adapter, angeschlossen an die PIC Platine. (Belegung des dreipoligen UART darauf ist GND/RX/TX)

Die PIC Platine hat einen Ausgang passend zu den Kabeln an den LED-Gläsern. Von hier an die Reihe von Gläsern.

Der Einspeisepunkt ist hier in der Mitte der gezeigten sechs Gläser. Er sollte in die Mitte der Kette. Eventuell sind mehrere solche Einspeiser notwendig.

Die PIC Platine zieht Strom über die 12V Schiene der LED Kette, der USB-Adapter über den USB Port.


Software interface

Für einfachen Zugang von jedem Rechner aus könnte ein Prozess auf einem Rechner laufen (RasPi oder der alte Firewall Rechner), der Pakete von beliebiger Quelle auf UDP port 8901 annimmt, und diese an die LEDs sendet.

Damit kann einer, der Lust hat ein Muster zu programmieren, dieses in einer Sprache seiner Wahl auf einem beliebigen Rechner tun und Daten zum FrozenBottle senden.

Im github liegt unter 'UDP_2_ser_server' ein kleines python Programm, was das Weiterleiten ausführt.

Das PIC Programm (auch github) nimmt Daten auf seriell im Format XGRB 1555 and und gibt sie an den LED streifen aus (kompatibel mit WS2812 und WS2811).

UDP

Das Protokoll ist sehr einfach: Ein Paket enthält kein header, und nur LED Farbdaten als RGB. Drei bytes fuer eine LED. Sobald ein Paket empfangen wird, wird es sofort auf die LEDs weitergegeben.

Erstmal sei es Port 8901.

Es gibt (zur Zeit?) keine Arbitrierung von clients. Maximal unterstützte Zahl von Lichtern ergibt sich vom Limit von UDP Paketen - also ausreichend.

Simu Programm

Ein auf SDL2 basierendes Programm simuliert das FrozenBottle setup und nimmt Daten auf UDP im selben Format entgegen. Damit lassen sich die Muster ohne Zugang zum Aufbau grob ausprobieren.

Source sollte portabel sein, es ließ sich auf Debian-7 und auf Windows7 (beide x64) zu bauen.