Toolbox Interactiondesign


PHYSICAL INTERACTION DESIGN

Internet der Dinge

Ethernet-Board

Folgendes Szenario wurde bearbeitet:
Der Arduino befindet sich in einem Zimmer und ist ausgestattet mit einem Temperatursensor und einem Servomotor. Der Servomotor ist gekoppelt mit dem Heizungsregler. Über eine Netzadresse kann die aktuelle Temperatur bzw. der Temperaturverlauf in den letzten Stunden angezeigt werden. Ein Schieberegler ermöglicht die Steuerung der Heizung. So kann schon im vorhinein die Heizung hochgedreht werden, bevor man nach Hause kommt (wahlweise auch heruntergedreht werden, wenn das vergessen wurde).

Der Temperatursensor wurde im Beispiel mit einem Photowiderstand ersetzt, damit der Einfluss der Heizung schnell simuliert werden kann. Nachfolgend ein Schaltplan. Achtung: Bevor das Ethernet-Shield auf das Arduino-Board gesteckt wird, die MAC-Adresse vom Aufkleber ablesen.

Schaltplan mit Arduino, Ethernet-Board, Servo und Photo-Sensor

Für das Szenario gibt es nun unterschiedliche, nachfolgend beschriebene Lösungen. Ausführliche Kommentare finden sich in den einzelnen Scripten:

1. Flash: Der Arduino schreibt eine XML-Datei, aus der die
Temperaturwerte von Flash ausgelesen werden können. Über HTTP-Requests
kann der Servomotor angesteuert werden. Die Flash-Datei befindet sich dabei
nicht auf dem Arduino, sondern auf einem extra Gerät oder einem separaten
Webspace.

Flash: Flash_Arduino_XML
Arduino: Arduino_Flash_XML

2. Processing: Arduino und Processing tauschen Daten per UDP-
Verbindung aus. Processing fragt die Temperaturdaten vom Arduino ab,
kann diese visuell darstellen und sendet die Position eines
Schiebereglers an den Arduino, der entsprechend den Servomotor justiert.

Processing: Processing_Arduino_UDP
Arduino: Arduino_Processing_UDP

3. HTML: Angelehnt an das Poldi-Webserver-Tutorial kann die aktuelle
Temperatur auf einer HTML-Seite abgelesen werden. Die Regelung der
Heizung erfolgt über ein Formularfeld (Eintragen einer Zahl) und das Klicken
eines Buttons (wahlweise eine Reihe von nummerierten Buttons
ohne Formularfeld).

HTML 1: Arduino_Webserver_1
HTML 2: Arduino_Webserver_2

18.10.2012 | Steffi Husslein |