Schild: Unterschied zwischen den Versionen
Krisha (Diskussion | Beiträge) K (→Hardware) |
Krisha (Diskussion | Beiträge) (→Server: changed color order) |
||
Zeile 47: | Zeile 47: | ||
Der Server ist in C geschrieben. Der Code ist auf [https://github.com/krisha/backspace-sign/blob/master/server/sign.c github] verfügbar. | Der Server ist in C geschrieben. Der Code ist auf [https://github.com/krisha/backspace-sign/blob/master/server/sign.c github] verfügbar. | ||
− | Der Server (backspace hostname schild) erwartet ein UDP Paket auf Port 10001 mit LED_COUNT*3 Bytes. Jede LED hat 3 Bytes für die Farben | + | Der Server (backspace hostname schild) erwartet ein UDP Paket auf Port 10001 mit LED_COUNT*3 Bytes. Jede LED hat 3 Bytes für die Farben ROT, GRÜN, BLAU (in dieser Reihenfolge). Die Bytes stehen für die Helligkeit und müssen einen Wert zwischen 0 bis 127 haben. Das MSB wird ignoriert, 0x80 entspricht also einer 0. |
==== Clients ==== | ==== Clients ==== |
Version vom 12. Oktober 2013, 16:04 Uhr
backspace Schild Status: unbekannt | |
---|---|
Beschreibung | beleuchtetes Außenschild mit unserem Logo |
Autor: | krisha |
Version | 0.8 |
PayPal |
Ziel war es ein beleuchtetes Schild mit unserem Logo außen an den Vereinsräumen anzubringen.
Erlaubnisantrag
Im ersten Schritt mussten wir einen denkmalschutzrechtlichen Erlaubnisantrag für ein Schild kleiner als 1m² bei der Bauberatung der Stadt Bamberg einholen. Hierfür haben wir uns einen Lageplan beim Vermessungsamt besorgt und eine Skizze angefertigt.
Nachdem uns die Erlaubnis erteilt wurden ist, haben wir mit der Planung angefangen. Wir haben uns schließlich auf ein transparentes Schild mit dem Logo inklusive unserem Schriftzug geeinigt.
Herstellung
Schild
Wir wollten das Schild zuerst selbst mit unserer CNC-Fräse fräsen. Probleme bereitete hierbei aber die nierdige Schmelztemeperatur des Kunststoffes. Eine Kühlung wäre sehr aufwändig geworden und hätte auch den Erfolg nicht garantiert. Zudem hatten wir temporäre Probleme, dass die Fräse bei größeren Wegen manchmal hängen blieb. Das hätte eventuell dazu geführt, dass wir mehrere Plexiglasplatten benötigt hätten. Aus Kostengründen haben wir uns entschieden, das Schild fräsen zu lassen.
Das Schild wurde schließlich von Kunststoff- und Acrylglasvertrieb in Hallstadt gefertigt. Aufgrund der Beratung haben wir uns dann auch für EndLighten Plexiglas und einer zusätzlichen Folie entschieden. Das EndLighten Material hat Vorteile für die Beleuchtung und tagsüber ist die Folie gut zu sehen.
Rahmen
Ansteuerung
Hardware
Wir haben uns entschieden, dass das Schild mit addressierbaren RGB LEDs angesteuert werden soll. Hierfür haben wir in den USA bei Insomnia Lightning 3 Meter RGB Stripe mit dem Chip LPD8086 besorgt. Die Stripes sind angeblich IP67 wasserfest.
Für die Ansteuerung kamen verschiedene Systeme in Betracht:
- Atmel XMEGA (AVR)
- NXP LPC (ARM)
- Raspberry Pi
Die Entscheidung viel nach einem kurzen Test auf den Raspberry Pi. Hätten wir einen Mikrocontroller eingesetzt, hätten wir eine Platine fertigen müssen und, da das Schild über Netzwerk gesteuert werden soll, einen weiteren Ethernetchip verbauen müssen. Zudem hätten wir hier einen UDP Stack benötigt, oder selbst einen entwerfen müssen.
Der Raspberry Pi unterstützt von Haus aus SPI und Ethernet. Aufgrund der Linuxbasis war es auch erheblich einfacher einen entsprechenden UDP Server aufzusetzen.
Software
Server
Der Server ist in C geschrieben. Der Code ist auf github verfügbar.
Der Server (backspace hostname schild) erwartet ein UDP Paket auf Port 10001 mit LED_COUNT*3 Bytes. Jede LED hat 3 Bytes für die Farben ROT, GRÜN, BLAU (in dieser Reihenfolge). Die Bytes stehen für die Helligkeit und müssen einen Wert zwischen 0 bis 127 haben. Das MSB wird ignoriert, 0x80 entspricht also einer 0.
Clients
Command line
perl -e 'print "\xFF\xFF\xFF"x156' | nc -u schild 10001
Sine Demo
sine.cs is a simple sample client written in C#. It is drawing a sine wave around the sign, controllable by key presses.
Some recorded videos.
Warsow
github, desc