by:

Heute möchte ich mal ein kleines Gebäudeüberwachung und Visualisierungsprojekt von mir vorstellen. 

Angefangen hatte es eigentlich damit das ich den Ölverbrauch messen wollte, dass sollte sich dann aber als Problematischer herausstellen als gedacht, was ich euch hier kurz näher erörtern möchte.


Mein erster Gedanke war den Verbrauch über die Betriebsstunden zu messen. Dafür kaufte ich mir ein Geräuschpegel-Sensor.
Die Idee war das ich einfach über den doch relativ lauten Boiler die Betriebsstunden ablesen kann.  Die Methode hätte den Vorteil gehabt das sie a. nicht invasiv in das bestehene System eingreift und b. relativ günstig wäre.  Wäre, schlussendlich habe ich die Idee wieder verworfen da der Verbrauch wohl nicht mit dem Verbrenngeräusch korreliert. 
Eine weitere Idee, die deutlich invasiver gewesen wäre, war ein Durchflussmesser zu installieren, aber auch hier hätte ich zumindest zwei installieren müssen, 
scheinbar wird ein Teil des Heizöles wieder zurückgeleitet und ich hätte die Differenz berechnen müssen. Das war mir dann doch zu aufwändig und zu invasiv. 
Schlussendlich habe ich mich für eine Distanzmessung via Ultraschal entschieden, das ist ebenfalls wenig Invasiv, lässt aber den ungefähren verbrauch 
erahnen. Um die Messung zu verbessern nutze ich noch ein Temperatur Sensor, da sich offenbar die Schallgeschwindigkeit mit der Temperatur verändert.
Es ist unglaublich wieviel man bei so kleinen Projekten lernt. 

Welches Sensor Board  

Derzeit verwende ich Development Boards auf esp8266 basis, wie z.b. das NodeMCU V3 oder jetzt auch das wemos d1 mini. 
Das Board selbst hat ein WLan chip an Board, es ist relativ klein, verbraucht wenig Strom, hat genügend ein und ausgänge um kleine Hobby Projekte umzusetzen.
Außerdem gibt es eine große Community die auf Basis vom esp8266 Projekte realisiert, was bei Fragen doch sehr hilfreich ist.
Wer etwas mehr power benötigt und auch Bluetooth angewiesen ist, dem kann man auch den großen Bruder esp32 empfehlen. 

Welche Software für das Board

Nun angefangen habe ich mit der NodeMCU Firmware, hier wird mit LUA programmiert was besonders für Anfänger gut sein soll. 
Nach einem langen und schmerzgeplagten leidensweg, den ich hier nur kurz andeuten möchte, habe ich nach einigen Monaten 
auf Python, genauer Micopython (https://micropython.org/) gewechselt und es nicht bereut. 
Ich empfehle hier den Atom Editor und das pymakr Plugin, so kann man aus dem Editor direkt den Code hochladen und 
sieht gleich das Ergebnis. 
Als alternative zu LUA und Python gibts auch die gute alte Arduino IDE mit der C ähnlichen sprache. 
Hat ganz generell auch gut funktioniert, wer allerdings wie ich oft dinge ändert und ausprobiert ist mit
Micropython in sofern besser dran, als das Hochladen vom Code deutlich schneller geht, muss er nicht erst immer wieder
neu komepliert werden wie bei Arduino. Aber das ist natürlich nur geschmakssache. 
Am Ende kommt man mit jeder Platform zum Ziel, sollte sich auf einige Workarrounds gefasst machen.

Visualiserung

Nachdem ich schon die Hardware und darauf laufene Software selbstr gestrickt habe kann ich natürlich nicht ein bestehne Visualiserung verwenden. 
Nein ich hab mir natürlich meine eigene Dashboarding App gebaut, als basis kommt Laravel und fürs Frontend Vue.js in Einsatz.
Das System befindet sich zwar noch in Entwicklung, aber die Wichtigsten funktionen sind bereits im Einsatz und seit über ein Jahr im Dauerbetrieb. 

Funktionsumfang:
Erstellung von Dashboards
Konfiguration der einzelnen Charts (Farben, Labels, Typ: Line, Bar..) 
Verschachtelte Datenquellen 
Rest API 

 

Wer die Software testen möchte und oder mir feedback geben möchte ist herzlich eingeladen das an dieser stelle zu tun. 

 


Firmware
https://riot-os.org/
https://docs.micropython.org/en/latest/esp8266/tutorial/intro.html

Visualisierung: 
https://gitlab.com/andreas83/home.io