# HG changeset patch # User Michiel Broek # Date 1557675879 -7200 # Node ID 487274c2e9dc78624cd91613e8d15ed1aa3359a7 # Parent 0aa27f92a8f95d3a3d2ccb84264c0df7ae01502d Documentation updates. diff -r 0aa27f92a8f9 -r 487274c2e9dc README.design --- a/README.design Sun May 12 17:24:34 2019 +0200 +++ b/README.design Sun May 12 17:44:39 2019 +0200 @@ -1,88 +1,7 @@ -Centrale daemon 'bmsd' regelt de dagelijkse berichten tussen MQTT en de -database. Om deze berichten betrouwbaar af te handelen is MQTT er tussen -gezet. -Alle sensoren en controllers communiceren uitsluitend via MQTT. - -Sensoren en controllers: - - 1. Vergisting controllers. - 2. Temperatuur loggen. - 3. Hergisting drukmeters. (druk + temp). - 4. Brouw controllers. - 5. Ispindel. - - -Stappen: - - 1. Importeren oude vergisting en brouw logs. DONE. - 2. Thermferm moet DLOG berichten gaan sturen, per wijziging en per 5 minuten. DONE. - 3. bmsd moet deze DLOG berichten verwerken. Versie 0.0.2. Bier producten in database. DONE. - 4. Versie 0.0.2 handmatig installeren op productie. DONE. - 5. Thermferm uitbreiden met vergisting stage. DONE. - 6. Brouw controller uitbreiden met MQTT. Niet, ESP32 wordt onstabiel. - 7. bmsd uitbreiden met brouw controller berichten. Niet, zie hierboven. - 8. bmsd productie platform upgraden, versie 0.0.3 DONE. - 9. bmsd recepten editor implementeren. DONE. - 10. bmsd uitbreiden met productie (brews) stappen, met hierin recepten. DONE. - 11. bmsd koppelen logs aan productie. DONE. - - - - -MQTT structuur volgens Sparkplug model. - -mbv1.0/fermenters/[NBIRTH,DBIRTH]// -mbv1.0/fermenters/DDATA/// - ---------------------------------------------------------------------------- - -namespace/group_id/message_type/edge_node_id/{device_id} - -namespace is de root, "mbv1.0" - -group_id oa: fermenters, brewcontrol, env_sensor - -message_type: NBIRTH - Birth certificate for MQTT EoN nodes. - NDEATH - Death certificate for MQTT EoN nodes. - NCMD - Node command message. - DBIRTH - Birth certificate for devices. - DDEATH - Death certificate for devices. - NDATA - Node data message. - DDATA - Device data message. - DLOG - Device data logging. - DCMD - Device command message. - STATE - Critical application state message. - -NCMD: reboot (application restart) - rebirth - -DCMD: fermenter state change + temperature settings. - fermenter profile install. - fermenter load product. - fermenter set stage - - -Product: code, uuid en naam. - Stage: Plan Wait Brew Primary Secondary Tertiary Package Carbonation Mature Taste Ready Closed - | | | | | | - | | | | | +------------- Log/rapport - | | | | +------------------------ rapport/etiketten - | +-------+---------+--------------------------------- Log/rapport - +--------------------------------------------------------- Log/rapport Main table: products. - In progress: overview. DONE. - In Progress: view charts. DONE. In Progress: view logs. - In Progress: update state. DONE. - In Progress: Tabbed screens. DONE. - Start new: some sort of wizzard like a new recipe. DONE. - Archive: select via name/code/date. DONE. Calendar: shows upcoming events. - Recipes can be copied to 'recipes' or 'brews', imported from 'recipes'/'products' or created manual. DONE. - Products recipes Beerxml import. DONE. - Recipes Beerxml import. - ----------------------------------------------------------------------------- diff -r 0aa27f92a8f9 -r 487274c2e9dc doc/bms-ch6.sgml --- a/doc/bms-ch6.sgml Sun May 12 17:24:34 2019 +0200 +++ b/doc/bms-ch6.sgml Sun May 12 17:44:39 2019 +0200 @@ -8,4 +8,26 @@ Productie tekst. + +Productie fases. +Het productie proces is verdeeld in de volgende stappen: + + +Planning. +Wachten. +Brouwen. +Hoofdgisting. +Nagisting. +Lageren. +Verpakken. +Hergisten. +Rijpen. +Proeven. +Gereed. +Afgesloten. + + + + + diff -r 0aa27f92a8f9 -r 487274c2e9dc doc/bms-ch8.sgml --- a/doc/bms-ch8.sgml Sun May 12 17:24:34 2019 +0200 +++ b/doc/bms-ch8.sgml Sun May 12 17:44:39 2019 +0200 @@ -45,15 +45,16 @@ MQTT clients altijd zichtbaar. Bij het starten van een node wordt er een payload verzonden, zie het payload formaat voor een node. Als een node afsluit wordt juist geen payload verzonden zodat het bericht verdwijnt. -NDATA wordt verstuurd als er veranderingen zijn voor de node, -maar ook iedere vijf minuten om aan te geven dat de node nog "levend" en aanwezig -is. NDEATH wordt verstuurd als een node offline gaat. Maar het kan ook ontvangen worden als de MQTT verbinding verbroken wordt met een node, het NDEATH bericht is ook het `last will' bericht van een node. Maar als het echt fout gaat dan zal er mogenlijk nooit een NDEATH bericht gezien worden. NCMD is een commando bestemd voor een node. Dit kan bijvoorbeeld een reboot commando zijn. +NDATA wordt verstuurd als er veranderingen zijn voor de node, +maar ook iedere vijf minuten om aan te geven dat de node nog "levend" en aanwezig +is. + DBIRTH is een of meer berichten van een apparaat wat online komt en ingeschakeld is. Een apparaat is een deel van een node. Bij het opstarten van de node is er geen device_id @@ -61,10 +62,10 @@ ingeschakeld wordt dan is er wel een geldige device_id aanwezig. Hier ook weer, er is een payload bij opstarten en geen payload bij afsluiten om het persistente bericht goed te houden. +DDEATH wordt verstuurd als een node offline gaat, of als het apparaat +uitgeschakelt wordt. DDATA heeft altijd een payload, maar deze hoeft niet volledig te zijn, enkel de gewijzigde data moet in het bericht zitten. -DDEATH wordt verstuurd als een node offline gaat, of als het apparaat -uitgeschakelt wordt. DLOG is een data log. Hier bestaat de payload uit gegevens die de bms applicatie in de database zet. DCMD is een commando voor een apparaat wat op een node geinstalleerd is.