Spaceprojekte/A.W.E.S.O.M.E.

Aus Flipdot

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 19: Zeile 19:
Dateien:
Dateien:
-
* Scetch im Arduino: [[Media:Webclient 012.pde | Webclient 012.pde]]
+
* Sketch im Arduino: [[Media:Webclient 012.pde | Webclient 012.pde]]

Version vom 05:54, 24. Apr. 2011

Automatic WEb "Space Open" Messaging Entity

Sobald der Hackerspace geöffnet ist, soll dies auf der Website zu sehen sein.

Lösung: Ein Arduino mit Webshield arbeitet als "seriell nach Web Interface" - ein über die serielle Schnittstelle eintreffender String wird ohne weiteres an eine feste URL als GET-Anfrage angehängt, die GET Parameter sind der Öffnungsstatus des Hackerspaces sowie diverse Messwerte.

Auf dem Webserver läuft ein PHP-Script (connect.php), das aus den per GET übergebenen Parametern eine Webseite aufbaut und in eine feste HTML-Seite (index.html) schreibt. Auf dieser Seite können z.B. Status-Icons in Abhängigkeit von den Parametern gesetzt werden.

Als Rückkanal vom Web in den Hackerspace dient ein Webformular (cange.php). In dieses Formular können mehrere Zeilen Shell-Kommandos eingegeben werden, die von diesem Script in einer Datei (settings.txt) gespeichert werden. Beim nächsten Aufruf des connect-Sripts durch den Arduino baut das Script die settings.txt in die Antwort des Webservers an den Arduino ein.


Datei:Schematic.png


Der Arduino leitet die Antwort des Webservers zu seiner seriellen Schnittstelle. Für die universelle Benutzbarkeit des seriellen Arduino-Webinterfaces ist der Arduino mit einem Bluetooth-Modul ausgestattet. Über die BT-Schnittstelle können im Haus verteile AVR-Controller mit dem Arduino kommunizieren. Der lokale Controller baut die aus seinen Sensorgrößen und Variablen wie z.B. Uhrzeit die GET - Anfrage für die Senderichtung zum Server zusammen und wertet in der Gegenrichtung die Server-Antwort mit einem Parser aus, der AT-Kommandos wie ein Modem annimmt, und damit Portleitungen, PWM-Tastgrade usw. steuern kann.

Über BT können sich nacheinander verschiedene Controller mit dem Webinterface verbinden und ihre Daten ins Netz bringen. um möglichs ##Verbindungsanforderungen infolge belegter BT-Schnittstelle gibt, sendet jeder Controller in einem gewissen Minutenabstand. Die Minutenabstände sind Primzahlen.

Dateien: