Vorig weekend heb ik nog eens een oud projectje van onder het stof gehaald : temperatuurmonitoring met een raspberry pi. Over de werking heb ik geen klagen, maar de weergave van het geheel is niet geheel volgens mijn zin. Alles gebeurd namelijk via JS, en dit zou ik graag veranderd zien naar bootstrap...
1. De oorsprong
Raspberry 01 : http://temp01.mytemp.be/index.php?w=shed
Raspberry 02 : http://temp02.mytemp.be/index.php?w=shed
De gele bol (Outside Sun) : daar moet je niet op letten. Oorspronkelijk was het script bedoeld voor te werken met 3 temperatuursensors per raspberry pi, ik gebruik er hier maar twee.
VOORDEEL : je kan het temperatuurverloop bekijken per 1 dag, 2 dagen, 3 dagen, 4 dagen, 5 dagen, 6 dagen, 7 dagen, 30 dagen
NADEEL : zoals je ziet klopt het uur totaal niet : het loopt altijd 2 uur voor
2. De veranderde versie
Beide raspberry's in één view : http://www.mytemp.be/index.php
Een aantal maand geleden heb ik deze versie laten maken.
VOORDEEL : je ziet de temperatuur van beide raspberry pi's in één oogopslag
NADEEL : reclame "chart by amcharts.com" (gratis versie), het uur klopt nog steeds totaal niet, de index links (°C) geeft hij niet correct weer.
3. Wat ik wil
Ik zit te denken om beide raspberry pi's in één view te houden (zoals bij de veranderde versie), maar ipv de hele JS statistiek om dit via een bootstrap te doen (voorbeeld : http://wrapbootstrap.com/preview/WB0JLR295 zie bovenaan scherm). Daar de data van de raspberry pi's toch in een MySQL database zit vermoed ik dat dit perfect mogelijk is (let op : per raspberry pi is er een aparte database. In dit geval zijn er dus 2 databases!).
VOORDEEL : alles is HTML, gemakkelijker dus om bijvoorbeeld nog een raspberry pi toe te voegen, geen vervelende reclame
NADEEL : ik verlies de vertikale balk welke kan zeggen hoeveel graden het was bij alle 4 de sensors op een bepaald uur (geen prob)
OPGELET : ik zie maar één probleem en dat is bij de overgang winteruur/zomeruur. In oktober gaat het steeds van 3u terug naar 2u, in maart van 2u vooruit naar 3u. Ik zou bij de overgang naar het winteruur de data van 2u tot 3u deleten, en verder meten vanaf het "nieuwe" uur. Met de overgang naar zomertijd zou ik de lijn doortrekken van 2u tot 3u.
4. Hoe werkt het precies
De raspberry pi roept elke 2 minuten via python (+cronjob) een PHP script aan op de server. Daar roept hij dan de database op, en plaatst daarin de gemeten waarden (temp1, temp2, temp3). Het vierde veld (create_at) vermeld de datum/uur dat de server de informatie heeft binnen gekregen.
Zoals je ziet is de waarde van temp2 in 99% van de gevallen gelijk aan temp3. Gewoon omdat ik 2x dezelfde sensor in het script heb gezet. Iemand met de nodige know-how in python en php mag dit wat bij betreft er gerust uit doen, zodat er maar 2 sensors gemeten worden. Dit is echter geen must! Screenshot database : http://www.mytemp.be/images/tempdb.png
Wie heeft er zin of ziet dit zitten
![Smile :-)](./images/smilies/icon_smile.gif)
Vragen? Shoot!