Midnight Sun CTF
[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=[https://developer.mbed.org/users/chrissidach/code/s0usvide/ STM32F407 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 schonend und gleichmäßig Garen kann.
9
10 == Hintergrund ==
11 Für so etwas ist die Wikipedia in der Regel besser:
12 * http://en.wikipedia.org/wiki/Sous-vide
13
14
15 == Technik ==
16
17 === Steuern und Regeln ===
18 * Kernstück der Regelung ist eine Kombination aus einem ESP8266 und einem Stm32-F4 Nucleo.
19 ** Das ESP übernimmt die Web-Repräsentation
20 ** Das Nucleo kümmert sich um Temperaturmessung, Regelung und Leistungssteuerung
21 ** Hier kann es ein Display geben
22 * Als Interface zu den Garern (Pods) dienen sog. Extender
23 ** Extender stellen Steuersignale für die Solid-State Relais und Hardware-Treiber für die Onewire-Temperaursensoren bereit.
24 ** Ein Extender kann bis zu 4 Pods interfacen.
25 ** Es können bis zu 8 Extender an ein Nucleo per I2C angebunden werden.
26 ** Durch die abgesetzten Extender können die Extender auch näher an die Pods gebracht werden => Man spart Leitungen.
27
28 === ESP zu Nucleo Bus-Kommunikation ===
29 * ESP und Nucleo sprechen mit einander UART.
30 * Normale Kommunikation ist asynchron. ESP kann an das Nucleo anfragen stellen.
31 * Normale Kommunikation:
32 ** anfrage: <6-digit referenz> <befehl>[ <extension-pod>][ <value>]"\n"
33 ** antwort: <6-digit referenz> <befehl>[ <extension-pod>][ <value>]"\n"
34 * Events vom Nucleo zum ESP:
35 ** event: "######" <event> <extension-pod>[ <value>]"\n"
36 * Mögliche Befehle:
37 ** gettargettemp
38 ** settargettemp
39 ** getpower
40 *** Gibt an, ob ein Pod geheizt / geregelt wird
41 ** setpower
42 *** Setzt, ob ein Pod geheizt / geregelt wird
43 ** getcontroller
44 *** Regler-Magie
45 ** setcontroller
46 *** Regler-Magie
47 ** listextensions
48 *** Antwort <value>: csv-List aller verbundenen Extensions.
49 * Events:
50 ** <event>: lostext
51 ** <event>: newext
52 ** <event>: lostpod
53 ** <event>: newpod
54 ** <event>: podstatus
55 *** Entweder <value>: <temp>
56 *** Oder <value>: "sensorfail"
57 *** Sendet jede Sekunde den Status für alle verbundenen Pods
58
59 * Datenformat für <value>:
60 ** Temperatur in 0,1°C. signed int
61 * Datenformat für <extension-pod>:
62 ** extension und pod werden 0-basiert gezäht
63 ** Trennzeichen "-"
64
65 == Prototyp 1 ==
66 * Bestelltes Material bisher:
67 ** ESP8266 Eval-Board
68 ** DS18b20-Temperatusensoren, wasserdicht
69 ** Olimex ESP8266 Development Board
70 ** PCF8574 I2C I/O Extensions
71 ** Solid-State Relais "no Name"
72 ** STM32-F4 Nucleo
73 ** I2C <-> 1 Wire HW-Controller "Namen vergessen"
This page took 0.047962 seconds and 5 git commands to generate.