# HG changeset patch # User Michiel Broek # Date 1600457325 -7200 # Node ID b6a616372a26d3286eb7c1534251cb1b3d774cd7 # Parent 70f382a2b8429922d248e756f2938847ca922768 Finished the network protocol documentation for the co2meters and ispindels. diff -r 70f382a2b842 -r b6a616372a26 doc/bms-ch8.sgml --- a/doc/bms-ch8.sgml Fri Sep 18 14:56:08 2020 +0200 +++ b/doc/bms-ch8.sgml Fri Sep 18 21:28:45 2020 +0200 @@ -344,9 +344,14 @@ Netwerk payload data formaat voor CO2 meters. - -Nog schrijven - +De co2meters zijn simpele units gebouwd rond een ESP32 computer. Deze units +hebben een klein scherm en een rotary knop voor de bediening. Dit is voldoende +om alle instellingen te doen. Deze computer is ook voorzien van WiFi. Via +WiFi worden de meetgegevens verstuurd als MQTT berichten. Op iedere co2meter +kunnen drie drukmeters worden aangesloten. +De uuid codes worden niet eenmalig gegenereerd, maar deze worden samengesteld +uit een vast patroon en het mac adres. In deze uuid code is ook een volgnummer +voor het unit nummer verwerkt. { "metric":{ @@ -446,13 +451,6 @@ Path / URI: /ispindel/index.php - -De densiteit wordt standaard door de iSpindel in graden Plato gegeven en zo worden -de gegevens ook verwerkt. Het SG wordt door de /ispindel/index.php -berekend. Dit script verzorgd de omzetting van de iSpindel POST data naar MQTT -data. - - @@ -485,11 +483,56 @@ -De ontbrekende gegevens worden aangevuld door bmsd -De volgende gegevens worden via het MQTT protocol ontvangen: +De iSpindel stuurt de data in een http post commando naar het script /ispindel/index.php. +Dit script zet de ontvangen data om in twee MQTT berichten die verwerkt zullen worden door bmsd. +Eerst het bericht zoals het ontvangen wordt van de iSpindel: { + "name":"ispindel000", + "ID":"13962697", + "angle":"42.96722", + "temperature":"25.5625", + "temp_units":"C", + "battery":"4.254432", + "gravity":"9.306425", + "interval":"900", + "RSSI":"-37" +} + + + +De densiteit wordt door de iSpindel in graden Plato gegeven en zo worden +de gegevens ook verwerkt. +Zorg er dus voor dat de iSpindel gecalibreerd wordt in Plato. +Het script /ispindel/index.php verzorgd de omzetting van de iSpindel POST data naar MQTT +data. +Eerst wordt het node bericht gemaakt: + +mbv1.0/ispindels/NBIRTH/ispindel-d50dc9 +{ + "metric":{ + "uuid":"c0ffeeee-cafe-dead-beef-2af236d50dc9", + "interval":900, + "properties":{ + "hardwaremake":"Wemos", + "hardwaremodel":"D1 mini", + "os":"Unknown", + "os_version":"Unknown", + "FW":"Unknown" + }, + "net":{ + "address":"192.168.1.65", + "ifname":"sta", + "rssi":-37 + } + } +} + +En vervolgens het unit data bericht: + +mbv1.0/ispindels/DBIRTH/ispindel-d50dc9 +{ "unit":{ "uuid":"c0ffeeee-cafe-dead-bee0-2af236d50dc9", "alias":"iSpindel000", @@ -502,9 +545,11 @@ } } + De iSpindel stuurt geen aparte log informatie, alle informatie voor de logfile -wordt uit het standaard bericht gehaald. +wordt uit het standaard unit data bericht gehaald. +Ook wordt het SG door bmsd berekend uit de ontvangen Plato waarde. De log gegevens worden niet opgeslagen in de SQL database maar weggeschreven in platte tekst bestanden. Hierdoor is de gelogde informatie sneller toegankelijk. Ieder brouw product heeft zijn eigen bestand.