WordPress Widget

Heute habe ich den Interrupt für die Windgeschwindigkeit eingebaut. Der läuft sehr gut. Außerdem habe ich ein Widget erstellt bei dem die aktuellen Werte angezeigt werden. Man könnte das ganze noch umbauen so das es automatisch aktualisiert wird. Dann habe ich den SheevaPlug noch auf das Tinkerforge Power Supply umgebaut.

Webservice Update

Heute habe ich mich ein bisschen um den Webservice gekümmert und die Geschwindigkeit ein bisschen verbessert. Die Werte für den Durchschnitt werden jetzt nicht mehr bei jedem Aufruf berechnet sondern nur noch einmal in der Stunde bzw. alle 10 min. bei dem Durchschnitt über eine Stunde.

Update:

Nachdem ich heute 31.03 feststellen musste, dass der Webservice bei den Durchschnittswerten nach der Änderungen falsche Werte liefert habe ich ihn nochmal überarbeitet. Jetzt sind die Werte wieder richtig und werden auch ordentlich ausgegeben.

WordPress Plugin (2)

Heute habe ich den Strahlenschutz mit den neuen Sensoren eingebaut ich hoffe das morgen das AnalogIn Bricklet kommt, dann kann ich auch das einbauen und den Luftdrucksensor in betrieb nehmen. Außerdem habe ich grade das WordPress Plugin erweitert so das es jetzt auch Durchschnittswerte ausgibt und diese einigermaßen formatiert.

Als ersten großen Test habe ich Client und Server die Nacht über laufen lassen. Dabei sind trotz Interrupt Modus recht viele Werte zusammengekommen.
bildschirmfoto

6JS -> Temperatursensor
6pU -> Luftfeuchtigkeitssensor

Die ersten Sensoren

Heute habe ich mich mal um die ersten neuen Komponenten gekümmert.

img_0179

Holzbrett mit den 3 Sensoren Temperatur, Luftfeuchtigkeit und Luftdruck

Die 3 Sensoren Temperatur, Luftfeuchtigkeit und Luftdruck habe ich auf einem Holzbrett angeordnet. Sie passen so genau in meinen schon vorhandenen Strahlenschutz.

cimg0320

Strahlenschutz

Den Luftdrucksensor realisiere ich über ein AnalogIn Bricklet und den MPX_4115A Sensor.

WordPress Plugin

Sooo grade die ersten Erfahrungen mit dem schreiben von Plugins gemacht. Läuft soweit sehr gut, die erste Funktion ist eingerichtet und läuft Problemlos. In den nächsten Tagen werde ich mir mal die restlichen Funktionen ansehn und implementieren.

Oberfläche

Heute habe ich mich mal an die Oberfläche gemacht. Da ich später auch gerne eine Android App schreiben möchte habe ich mich für einen Webservice in Java entscheiden. Als erstes habe ich mich dabei um einige Methoden gekümmert über die man die nächste gelegene Station finden kann wenn man seinen Standort angibt und auch den Abstand zu dieser herausfinden kann. Dadurch kann man später bei der App sofort die richtige Station anzeigen. Außerdem habe ich Methoden für den aktuellen Wert eines Sensors sowie den Durchschnittswert in 12 und 24 Stunden geschrieben. Außer der App würde ich das ganze gerne als Plugin für WordPress bereitstellen so das man z.B. einfach über einen Tag eine Temperatur-Übersicht als Diagramm in eine Seite einfügen kann.

Erster Test

Nachdem ich am Montag meine Lieferung von Tinkerforge bekommen habe, konnte ich heute endlich den ersten Testlauf machen  🙂

Und ich muss sagen nachdem ich 2 kleine Fehler beseitigt hatte lief alles super. Sobald sich ein Wert an den Sensoren ändert wird er an den Client geleitet und dieser schickt sie dann an den Server und in die Datenbank. Außerdem wird die Tabelle für den entsprechenden Sensor automatisch angelegt wenn diese noch nicht vorhanden ist.

Sobald ich wieder ein bisschen Zeit habe geht es weiter 😉

Wetterstation 2.0 ist in Arbeit

Nachdem ich meine erste Wetterstation soweit fertig habe und auch schon einige kleinere Schwachstellen wie z.B. den Regensensor festgestellt habe, habe ich nach Hardware und Software gesucht um auch weitere Stationen ohne großen Aufwand aufbauen zu können. Dabei bin ich auf Tinkerforge gestoßen. Dies ist eine keine Open Source Software und Hardware Schmiede die Hardwaremodule bauen, die man modular zusammenfügen kann. Außerdem bieten sie Sensoren für Temperatur Luftfeuchtigkeit und Lichtstärke an. Weiter sollen folgen. Schön ist an diesen Modulen auch das man die Werte der Sensoren mittels eines Callbacks bekommt der nur ausgelöst wird wenn sich der Sensorwert verändert. Dies hat eine geringere Belastung der DSL Leitung zur folge (was heute zwar nicht mehr so wichtig ist aber ein schöner Nebeneffekt ist. ) Außerdem war es wichtig das man die Stationen an einen einfachen DSL Anschluss hängen kann ohne gleich die Routerkonfig ändern zu müssen. Dazu habe ich mir ein Client-Server System überlegt was einen zentralen Server voraussetzt. Die einzelnen Stationen verbinden sich dann einfach automatisch mit dem Server und übergeben die per Callback ermittelten Werte. Sollte die Verbindung einmal nicht klappen wird der Wert auf der Station zwischengespeichert und bei der nächsten Verbindung mit übertragen. Durch meine Hardwareauswahl (Tinkerforge) muss ich an jeder Station einen kleinen PC haben auf dem die Software läuft. Um dies so klein und preisgünstig wie möglich hinzu bekommen, habe ich mich für einen Rasberry Pi entschieden. Die Software ist schon zu großen Teilen fertig aber noch nicht besonders ausgetestet, da ich im Moment noch auf die Hardware warte 😉 . Client und Server habe ich beides in Java geschrieben. Zur Übertragung der Werte habe ich mir ein eigenes Protokoll ausgedacht, welches auf put, get und update Kommandos beruht. Wenn das erst mal soweit läuft möchte ich den Datenstrom gerne noch per AES verschlüsseln. Auf den Client gibt es eine zusätzliche „Updater“ Software über die die Client Software aktualisiert werden kann sollte ich mal was ändern wollen. Als Server möchte ich auch gerne einen Rasberry Pi einsetzen. Alle Werte sollen später über ein Webseite einsehbar sein. Da hab ich mir noch nicht so die Gedanken drum gemacht. Ich habe aber ganz gute Erfahrungen mit der Diagrammbibliothek von JQuery gemacht. Da lassen sich sehr gut übersichtliche und anschauliche Diagramme mit erstellen.