README.design

branch
stable
changeset 366
a14a31bfc73b
parent 364
487274c2e9dc
child 370
e6ac8d7ed08b
equal deleted inserted replaced
365:9f27c822b14d 366:a14a31bfc73b
1 Centrale daemon 'bmsd' regelt de dagelijkse berichten tussen MQTT en de
2 database. Om deze berichten betrouwbaar af te handelen is MQTT er tussen
3 gezet.
4 Alle sensoren en controllers communiceren uitsluitend via MQTT.
5
6 Sensoren en controllers:
7
8 1. Vergisting controllers.
9 2. Temperatuur loggen.
10 3. Hergisting drukmeters. (druk + temp).
11 4. Brouw controllers.
12 5. Ispindel.
13
14
15 Stappen:
16
17 1. Importeren oude vergisting en brouw logs. DONE.
18 2. Thermferm moet DLOG berichten gaan sturen, per wijziging en per 5 minuten. DONE.
19 3. bmsd moet deze DLOG berichten verwerken. Versie 0.0.2. Bier producten in database. DONE.
20 4. Versie 0.0.2 handmatig installeren op productie. DONE.
21 5. Thermferm uitbreiden met vergisting stage. DONE.
22 6. Brouw controller uitbreiden met MQTT. Niet, ESP32 wordt onstabiel.
23 7. bmsd uitbreiden met brouw controller berichten. Niet, zie hierboven.
24 8. bmsd productie platform upgraden, versie 0.0.3 DONE.
25 9. bmsd recepten editor implementeren. DONE.
26 10. bmsd uitbreiden met productie (brews) stappen, met hierin recepten. DONE.
27 11. bmsd koppelen logs aan productie. DONE.
28
29
30
31
32 MQTT structuur volgens Sparkplug model.
33
34 mbv1.0/fermenters/[NBIRTH,DBIRTH]/<hostname>/
35 mbv1.0/fermenters/DDATA/<hostname>/<unitalias>/
36
37 ---------------------------------------------------------------------------
38
39 namespace/group_id/message_type/edge_node_id/{device_id}
40
41 namespace is de root, "mbv1.0"
42
43 group_id oa: fermenters, brewcontrol, env_sensor
44
45 message_type: NBIRTH - Birth certificate for MQTT EoN nodes.
46 NDEATH - Death certificate for MQTT EoN nodes.
47 NCMD - Node command message.
48 DBIRTH - Birth certificate for devices.
49 DDEATH - Death certificate for devices.
50 NDATA - Node data message.
51 DDATA - Device data message.
52 DLOG - Device data logging.
53 DCMD - Device command message.
54 STATE - Critical application state message.
55
56 NCMD: reboot (application restart)
57 rebirth
58
59 DCMD: fermenter state change + temperature settings.
60 fermenter profile install.
61 fermenter load product.
62 fermenter set stage
63
64
65 Product: code, uuid en naam.
66 Stage: Plan Wait Brew Primary Secondary Tertiary Package Carbonation Mature Taste Ready Closed
67 | | | | | |
68 | | | | | +------------- Log/rapport
69 | | | | +------------------------ rapport/etiketten
70 | +-------+---------+--------------------------------- Log/rapport
71 +--------------------------------------------------------- Log/rapport
72 1
73 Main table: products. 2 Main table: products.
74 In progress: overview.
75 In Progress: view charts. DONE fermenters, todo brewlogs.
76 In Progress: view logs. 3 In Progress: view logs.
77 In Progress: update state.
78 In Progress: Tabbed screens. DONE.
79 Start new: some sort of wizzard like a new recipe. DONE.
80 Archive: select via name/code/date.
81 Calendar: shows upcoming events. 4 Calendar: shows upcoming events.
82 Recipes can be copied to 'recipes' or 'brews', imported from 'recipes'/'products' or created manual.
83 Products recipes Beerxml import.
84 Recipes Beerxml import.
85
86
87 -----------------------------------------------------------------------------
88
89 Formaat csv vergisting logs.
90
91 Directory: www/logs/fermentation
92 Filenaam: product_code\ product_name.log
93
94 2014-11-15 18:39,BEER,PRIMARY,20.312,19.750,-1.500,20.5,18.6,18.8,35,12345,0,67890,Whatsup,Fermenter
95 | | | | | | | | | | | | | | |
96 0 datetime + | | | | | | | | | | | | | |
97 1 mode --------------+ | | | | | | | | | | | | |
98 2 stage -------------------+ | | | | | | | | | | | |
99 3 temp air -----------------------+ | | | | | | | | | | |
100 4 temp beer -----------------------------+ | | | | | | | | | |
101 5 temp chiller ---------------------------------+ | | | | | | | | |
102 6 temp room -------------------------------------------+ | | | | | | | |
103 7 setpoint low ---------------------------------------------+ | | | | | | |
104 8 setpoint high -------------------------------------------------+ | | | | | |
105 9 heater power ------------------------------------------------------+ | | | | |
106 10 heater usage ----------------------------------------------------------+ | | | |
107 11 cooler power --------------------------------------------------------------+ | | |
108 12 cooler usage ------------------------------------------------------------------+ | |
109 13 event --------------------------------------------------------------------------------+ |
110 14 fermenter uuid --------------------------------------------------------------------------------+
111
112 De oude logs zijn geimporteerd en geconverteerd. Nieuwe worden geschreven
113 door bmsd welke de log gegevens ontvangt via MQTT DLOG berichten.
114 Vanwege de snelheid van verwerken staan de logs niet in de database.
115 Kunnen we de loggegevens versturen in gzip formaat om bandbreedte te sparen?
116 5
117 ----------------------------------------------------------------------------- 6 -----------------------------------------------------------------------------
118 7
119 TODO: 8 TODO:
120 9
121 Export ingredienten naar xml. 10 Export ingredienten naar xml.
122 11
123 Extra: 12 Extra:
124 13
125 Gisten alcohol_tolerance veld toevoegen.
126 Gisten diastaticus bit toevoegen. 14 Gisten diastaticus bit toevoegen.
127 Waarschuwing voor te zwaar voor de gist.
128 Waarschuwing voor overschrijden moutstort.
129 Gist typen: kveik en brett? Apart of niet. 15 Gist typen: kveik en brett? Apart of niet.
130 16
131

mercurial