/* ESP zu Nucleo Bus-Kommunikation */ Events mit Namen versehen. Befehle überarbeitet...
[stratum0-wiki.git] / S0us-vide.mw
1 {{Projekt|kontakt=Chrissi^, reneger, Doom, Kasa|status=aktiv|beschreibung=Ein sous vide Garer für den Stratum 0|bild=|bildbeschreibung=|interessenten=|source=|lizenz=|download=|version=}}[[Kategorie:Dokumentation]][[Kategorie:Projekte]]
2
3 == Idee ==
4 Think big!
5
6 Es war auf dem EasterHegg 2015 in Braunschweig. Stratum 0 und Netz39 tragen das Event aus - und lassen es sich nicht nehmen auch Catering anzubieten. Burger waren auch dabei. Und um ersten Schritt war es naheliegend die Petties in der Pfanne zu braten.
7
8 Aber mehr ist besser! Deshalb muss ein s0us-vide Garer her, in dem man auch mal 50kg Fleisch schonen und gleichmäßig Garen kann.
9
10
11 == Hintergrund ==
12 Für so etwas ist die Wikipedia in der Regel besser:
13 * http://en.wikipedia.org/wiki/Sous-vide
14
15
16 == Technik ==
17
18 === Steuern und Regeln ===
19 * Kernstück der Regelung ist eine Kombination aus einem ESP8266 und einem Stm32-F4 Nucleo.
20 ** Das ESP übernimmt die Web-Repräsentation
21 ** Das Nucleo kümmert sich um Temperaturmessung, Regelung und Leistungssteuerung
22 ** Hier kann es ein Display geben
23 * Als Interface zu den Garern (Pods) dienen sog. Extender
24 ** Extender stellen Steuersignale für die Solid-State Relais und Hardware-Treiber für die Onewire-Temperaursensoren bereit.
25 ** Ein Extender kann bis zu 4 Pods interfacen.
26 ** Es können bis zu 8 Extender an ein Nucleo per I2C angebunden werden.
27 ** Durch die abgesetzten Extender können die Extender auch näher an die Pods gebracht werden => Man spart Leitungen.
28
29 === ESP zu Nucleo Bus-Kommunikation ===
30 * ESP und Nucleo sprechen mit einander UART.
31 * Normale Kommunikation ist asynchron. ESP kann an das Nucleo anfragen stellen.
32 * Normale Kommunikation:
33 ** anfrage: <6-digit referenz> <befehl>[ <extension-pod>][ <value>]"\n"
34 ** antwort: <6-digit referenz> <befehl>[ <extension-pod>][ <value>]"\n"
35 * Events vom Nucleo zum ESP:
36 ** event: "######" <event> <extension-pod>[ <value>]"\n"
37 * Mögliche Befehle:
38 ** gettargettemp
39 ** settargettemp
40 ** getpower
41 *** Gibt an, ob ein Pod geheizt / geregelt wird
42 ** setpower
43 *** Setzt, ob ein Pod geheizt / geregelt wird
44 ** getcontroller
45 *** Regler-Magie
46 ** setcontroller
47 *** Regler-Magie
48 ** listextensions
49 *** Antwort <value>: csv-List aller verbundenen Extensions.
50 * Events:
51 ** <event>: lostext
52 ** <event>: newext
53 ** <event>: lostpod
54 ** <event>: newpod
55 ** <event>: podstatus
56 *** Entweder <value>: <temp>
57 *** Oder <value>: "sensorfail"
58 *** Sendet jede Sekunde den Status für alle verbundenen Pods
59
60 * Datenformat für <value>:
61 ** Temperatur in 0,1°C. signed int
62 * Datenformat für <extension-pod>:
63 ** extension und pod werden 0-basiert gezäht
64 ** Trennzeichen "-"
65
66 == Prototyp 1 ==
67 * Bestelltes Material bisher:
68 ** ESP8266 Eval-Board
69 ** DS18b20-Temperatusensoren, wasserdicht
70 ** Olimex ESP8266 Development Board
71 ** PCF8574 I2C I/O Extensions
72 ** Solid-State Relais "no Name"
73 ** STM32-F4 Nucleo
74 ** I2C <-> 1 Wire HW-Controller "Namen vergessen"
This page took 0.048108 seconds and 5 git commands to generate.