RaspberryPi mit serieller Kommunikation und visuellem Output

Gestern habe ich an einem Projekt mitgeholfen, dass sich mit einem Gedankenexperiment beschäftigt. Es besteht aus einem abgedunkeltem Raum, in dem sich ein Bildschirm befindet, den man von außen nicht sehen kann. Auf dem Bildschirm steht "Dieser Bildschirm ist immer blau", außerhalb des Raumes wiederum behauptet ein Schild, dass wenn sich niemand im Raum befindet, der Bildschirm rot wäre. Ähnlich wie bei Schroedingers Katze, geht es hierbei darum welcher Aussage man glaubt.

Zu technischen Umsetzung ließ sich zaehlwerk natürlich bestens wiederverwenden, war nur die Frage wie man damit den Monitor ansteuert.

Die Wahl fiel dann auf folgendes Setup:
  • Arduino mit Ultraschallsensoren
  • Raspberry Pi mit HDMI-Monitor (Raspbian)
  • NodeJS + Socket.io + Serialport
  • Chromium (wegen dem Fullscreenmodus)
  • Adafruit WebIDE

Hacksession #arduino #processing #nodejs #raspberrypi #creativecoding #abgehobenekünstler

A photo posted by Marco (@alphonspho) on

Wir haben das BETT in einen astreinen Hackerspace verwandelt

Zu den ursprünglichen Plänen gehörte:
  • Ultraschallsensorik an dem GPIO des Raspberry Pis betreiben, ist daran gescheitert, dass es ohne Vorkenntnisse etwas schwierig ist den Arduino-Sketch von zaehlwerk auf Python zu portieren

  • Direkte Serielle Kommunikation Arduino <> Raspberry Pi über die GPIO-Pins (Rx, Tx) - ist daran gescheitert, dass die Pins auf dem Arduino auf 5V laufen und beim RPi auf 3,3V und das zu wandeln ein zu großer Aufwand gewesen wäre

  • Visuelle Umsetzung nur mit Processing (ohne Webserver, Socket, etc.) - ist daran gescheitert, dass trotz vieler Tutorials im Netz kein Einziges eine Serielle Kommunikation zwischen Arduino und RPi zum Laufen bringen konnte

Weitere Stolpersteine waren u.a., dass die Installation nicht wie geplant mit einem 15m HDMI-Kabel betrieben werden konnte, da anscheinend das Signal zu schwach wurde. Das Arbeiten auf einer grafischen Oberfläche ist sehr zäh, dafür ist der RPi (Model B, Rev 1 - 256MB Ram) zu schwach auf der Brust. Auch nodeJS zu installieren war ein mächtiger Krampf, vor allem da nachdem ich eine lauffähiges .deb-Paket gefunden habe, die Adafruit WebIDE eine andere Version installiert hat und daher wieder kein Zugriff auf npm möglich war. Im Nachhinein habe ich dann noch pijs.org gefunden, womit das sicherlich wesentlich einfacher gegangen wäre.

Umzusetzen ist in jetzt noch die Befehlskette die auf die serielle Kommunikation folgt (node-Skript --> Websocket --> jquery). Im Gegensatz zu dem 12 Stunden Sonntag (16.00 – 04.00Uhr ), sollte das aber nicht mehr so viel Zeit in Anspruch nehmen.

This article is my 2nd oldest. It is 388 words long.