diff -r 000000000000 -r 033898178630 README.design --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.design Sat Aug 04 21:19:15 2018 +0200 @@ -0,0 +1,82 @@ +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. + 7. bmsd uitbreiden met brouw controller berichten. + 8. bmsd productie platform upgraden, versie 0.0.3 + + +Web interface bouwen met jqwidgets, breeze en knockout. + + +Database: + + 1. Recepten opslaan in json formaat omdat dit flexibel is. + 2. Brouwsels zijn recepten plus extra gegegevens. json formaat. + 3. Inventaris ingredienten in json. Voorraad historie is extra arrays. + 4. Export naar beerxml. + 5. Import van brouwhulp xml met sync vanuit backup locatie. + 6. Brouwerij configuratie voornamelijk in json. + + +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 en naam. + BIRTH date + Recept. + Locatie: Plan - Wacht - Brouw - Vergisting - Verpakken - Hergisting - Rijpen - Proeven - Afgesloten. + | | | | + | | | +-------- Log/rapport + | | +-------------------- rapport/etiketten + | +--------------------------------- Log/rapport + +------------------------------------------- Log/rapport +