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 |
|