Internet der Dinge – Hacker's Edition
Für die Vernetzung des Haushaltequipments — von der Überwachungs-Webcam bis zum intelligenten Kühlschrank — gibt es viele schlüsselfertige Lösungen, auch von Swisscom. Hat man als Engineer oder Hacker aber bestimmte Vorstellungen, wie das Zusammenspiel der Haushaltsgeräte und Gadgets funktionieren soll, sind Lösungen für den Privatanwender nicht besonders hilfreich. Der immer stärker werdenden Gemeinde der Hardware-Hacker bietet sich inzwischen eine grosse Auswahl an verschieden Plattformen für etliche Anforderungen. Ich habe in den letzten Jahren einige davon ausprobiert.
[caption id="attachment_1481" align="alignright"
width="150"]{.size-thumbnail
.wp-image-1481 width=”150”
height=”150”}
Der Maximite – Ein vollwertiger (Heim-)Computer mit Touchscreen, USB
und Echtzeituhr.[/caption]
Let’s talk about sex
Auch wenn das Platinendesign der AVR NetIO des Elektronikversands Pollin vielleicht nicht zu den durchdachtesten Lösungen gehört, beschäftigen sich doch etliche Hobby-Elektroniker mit diesem Board. Es ist sehr einfach aufzubauen und bietet auch mit der mitgelieferten Firmware bereits genug Möglichkeiten für eigene Experimente. Für einen ernsthaften Einsatz sollte man allerdings eine "ordentliche" Firmware wie das frei erhältliche Ethersex einsetzen. Diese Software lässt sich individuell konfigurieren und eigentlich recht einfach auf das NetIO brennen. Allerdings musste ich mir zusätzlich einen Adapter löten, um meinen AVR ISP mkII mit dem Board zu verbinden. Und das ist natürlich frickelig.
Die Schnittstellen des Boards werden mit dem ECMD-Protokoll gesteuert. Die gibt natürlich nicht der Endanwender ein, sondern wir bauen z.B. eine Webanwendung, die die erforderlichen Steuerbefehle erzeugt. Ich habe diese Anwendung mit Django gebaut; dadurch kann man die heimische Steuerung mit dem Tablet vornehmen. Alternativ kann man auch eine Ansteuerung mit HTTP (http://ETHERSEX-IP/ecmd?ECMD-COMMAND) vorsehen und die erforderlichen URLs als Kontakte im iPhone speichern. Mit der Spracherkennung kann man z.B. den Kontakt „Garagentor öffnen” anrufen. Das macht natürlich Eindruck.
[caption id="attachment_1482" align="alignright"
width="150"]{.size-thumbnail
.wp-image-1482 width=”150”
height=”150”}
Das AVR NetIO hat wenig Anschlüsse, die sind dafür aber sehr
solide.[/caption]
Leider hat das NetIO nur wenige Ports. Diese kann man mit eine I2C-Expander, wie dem PHILIPS PCF8574P erweitern. Pollin bietet diesen Chip auch auf einem Erweiterungsboard an, das ich aber für diesen Einsatz zu teuer und zu unflexibel finde.
Um Geräte mit Netzspannung einzuschalten, verwende ich Solid-State-Relais. Die kann man direkt über die digitalen Ausgänge eines solchen Boards schalten und sorgt gleichzeitig für eine galvanische Trennung zum 230-Volt-Netz. Trotzdem sollte man die netzseitige Installation von einem Elektriker abnehmen lassen.
Arduino macht mobil
Während meiner Versuche, eine fahrbare Roboterplattform zu bauen, hatte ich einige Ansätze zur drahtlosen Ansteuerung ausprobiert, die sich als nicht praktikabel erwiesen haben. Vor allem die Kommunikation über ZigBee produzierte schon erheblichen Lern- und Programmieraufwand. Während der erfolglosen Experimente wurde allerdings der Arduino Yun angekündigt. Die Spezifikation erwies sich genau als das, was ich brauchte: Ein WLAN-fähiger Chip mit Linux, der über einen seriellen Port mit dem Arduino spricht. Das hat den Vorteil, dass ich meine Arduino-basierte Motorsteuerung weiterverwenden kann und der Roboter ohne Zusatzhardware durch den PC am ohnehin vorhandenen WLAN durch Kommandos gesteuert werden kann.
[caption id="attachment_1483" align="alignright"
width="150"]{.size-thumbnail
.wp-image-1483 width=”150”
height=”150”}
Der Arduino Yun hat Linux und WLAN an Bord.[/caption]
Inzwischen ist der Yun endlich bei mir eingetroffen. Die Konfiguration geht, wie bei Arduino üblich, leicht von der Hand und ist auch von Nicht-Technikern zu bewältigen. Nun kann ich meinem Roboter Befehle erteilen, indem ich mich per SSH einlogge. Das ist dann ein bisschen wie beim Steuern des Marsrovers Curiosity, der ja auch nicht mit dem Joystick gesteuert wird. Der nächste Schritt wäre, den Roboter anzuweisen, Bier aus dem Kühlschrank zu holen oder seine Feinde zu eliminieren.
Bunt und mit Touch
Vielleicht nicht unbedingt für die Konnektivität, aber als cooles "Cockpit" für eigene Projekte: das Maximite, das ursprünglich für Retro-Computing entworfen wurde. Aber nur als Hommage an die Heimcomputerzeit ist es mir definitiv zu schade. Ebenso hat wohl auch Carsten Meyer von der c’t gedacht: Er hatte eine Neuauflage entworfen, die mit einem Touchscreen ausgestattet ist. Zusammen mit der einfachen Grafikprogrammierung in BASIC (ja, ja, ich weiss) lassen sich grafisch bedienbare Steuerungen bauen, ohne dass man einen teuren Industrie-PC (womöglich noch mit Windows CE) benötigte.
[caption id="attachment_1480" align="alignright"
width="150"]{.size-thumbnail
.wp-image-1480 width=”150”
height=”150”}
Der Maximite kommt mit Touchscreen und BASIC-Interpreter.[/caption]
Dieses Board hat leider keinen Netzwerkanschluss, diesen müsste man zusätzlich bereit stellen.
Coming Soon: Espruino
Ein letztes Board hatte ich bei Kickstarter entdeckt und gleich gefördert. Ich bin sehr gespannt auf die JavaScript-Schnittstelle.
Es gibt jedenfalls eine schöne Auswahl an Boards, und für jeden
Geschmack ist wohl etwas dabei, mit denen man attraktive
Steuerungsprojekte realisieren kann. Potenzial gibt es genug. Ich habe
jedenfalls meiner Kaffeemaschine schon mal die IP-Adresse
2001:918:ffe9::cafe:feed
zugewiesen. Mal sehen, was sich machen lässt.