« Elektrotechnik & Smarthome  |

ESP32 basierendes IoT-Dingens

Teilen: facebook    whatsapp    email
Zusammenfassung anzeigen (Beta)
 1  2 
  •  taliesin
  •   Gold-Award
28.7. - 16.8.2025
41 Antworten | 6 Autoren 41
2
43
Ich habe mir gerade ein paar Mi-Thermometer eingefangen, die mit einer custom firmware offen BLE sprechen.

https://github.com/pvvx/ATC_MiThermometer

Die Dinger sind super genau, ich habe die Temperatur mittels kalibrierten Messgerät (Testo) und die Feuchte im Salzequilibrium (bei MgCl2 33% und bei NaCl 75%) nachgemessen. Die Werte sind wie im Sensordatenblatt versprochen (ca. 2% Feuchte und 0.3K).

Eigentlich will ich mein Kellerbelüftungsproblem damit lösen, aber dazu braucht es einen BLE-Empfänger, da alle sonstigen Kasteln (Raspis und Server) zu weit weg stehen um die Messknechte zu sehen.

Jetzt war der Gedanken (da ich sonst nix G'scheites finde) ein ESP32 Teilchen zu bauen.

Meine Anforderungen sind:
* ein Relais
* Modbus 485 (als slave, der die BLE-Daten auch liefern kann)
* BLE
* OTA-update über WiFi
* Versorgung über 12-24V

Jetzt ist das Dazubauen von ein paar Kleinigkeiten kein großes Thema, das Ding sollte in ein Standardgehäuse passen.

Der Haken, alleine zahlt sich das eher nicht aus. Die kaufbaren BLE-Proxis sind meist ohne Netzteil und das Relais muss ich auch noch dazubauen. Alles WiFi (oder BLE) will ich eigentlich auch nicht und diese Lösung könnte auch mit Modbus-Sensoren umgehen.

Hat hier irgendjemand ähnliche Anforderungen, HW und SW kann ich, Zeit ist etwas bescheiden.

von Claucia2

  •  taliesin
  •   Gold-Award
5.8.2025  (#21)
Ja, aber für 3 Stk. Und klar ist das bei diesem Preis eine direkter Chinese.

Ich habe bisher bei Banggood nur meinen Winkel für die Führungsschienen gekauft, war eine Top-Qualität. Ganz komm' ich dem nicht aus, z.B. bei den Leiterplatten.

1
  • ▾ Anzeige
    Energiesparhaus.at ist Teilnehmer des Amazon-Partnerprogramms, das zur Bereitstellung eines Mediums für Webseiten konzipiert wurde, mittels dessen durch die Platzierung von Partner-Links zu Amazon.de Entgelte verdient werden können.
Hallo taliesin,
hier gibt es dazu Erfahrungen und Preise: ESP32 basierendes IoT-Dingens

  •  taliesin
  •   Gold-Award
5.8.2025  (#22)

zitat..
taliesin schrieb: Wenn sich z.B. ein Sensor nicht mehr meldet, wie kriege ich das auf der modbus-Seite mit?

Ich bin jetzt von Modbus weg, weil das KC868-A2 eh eine Ethernet-Schnittstelle hat. Jetzt ziehe ich einfach zum RS485-Kabel noch Ethernet dazu, das geht relativ leicht. Dann per HTTP und REST-API einfach so:

curl -X GET http://honey-room.local/api/sensors | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   265  100   265    0     0  12589      0 --:--:-- --:--:-- --:--:-- 13250
[
  {
    "name": "ATC_778920",
    "mac": "A4:77:32:77:89:20",
    "temperature": 36.09,
    "humidity": 69.47,
    "battery": 60,
    "rssi": -73,
    "timestamp": 1754340131
  },
  {
    "name": "ATC_778930",
    "mac": "A4:77:32:77:89:30",
    "temperature": 13.71,
    "humidity": 47.98,
    "battery": 30,
    "rssi": -82,
    "timestamp": 1754340129
  }
]

Wollte sowieso schon immer Ethernet in meinem Honiglager emoji

1
  •  taliesin
  •   Gold-Award
6.8.2025  (#23)
Das Chinateil ist da ... verrückt. Im Bild ist der Deckel entfernt, es war noch ein Netzteil 12V/2A inkl. Anschlussadapterkabel und eine USB-C-Kabel dabei. Samt Versand ca. 50€.


_aktuell/20250806727673.jpg
Sieht gar nicht schlecht gemacht aus, sogar die Relaiskontaktfreistellungen dürften für 230V passen.

Drauf ist:

- 5V Schaltregler (+LED)
- 3.3V Schaltregler
- 1.8V-2.2V Schaltregler (noch nicht gemessen) für den GSM-Modul-Aufsatz
- 2 optoisolierte Eingänge (da sehen die Abstände nach nicht mehr als 50V, vielleicht 100V aus)
- RS485 Transceiver mit Überspannungsdioden, PTC-Sicherumgen und Terminierung (fix)
- 2xRelais 5V, 230V 10A (da brauche ich eine Vorsicherung) + LEDs
- Ethernet über SPI wie es ausschaut
- Eingangsschutz Transzorb Dioden
- ESP32-WROOM32E (EPS32-D0WD-V3, rev v3.1) mit 4MB flash (N4)
- I²C Erweiterungsstecker (weiß)

Grad gesehen, den Schaltplan gibt es eh dazu.

1
  •  taliesin
  •   Gold-Award
11.8.2025  (#24)
So ... die ersten Teile der SW laufen. Die Empfangsfeldstärken sind recht gut im Schnitt bei ca. -83dBm (quer übers Haus nicht weniger als -95dBm), soweit so gut.

Etwas irritiert mich folgende Beobachtung. Außentemperatur ca. 25°C und 52% r.H., mein Subraum (Raum unter der Terrasse) hatte knapp 19°C bei knapp 80% r.H., die absoluten Feuchten waren dabei ca. 12.8g/m³ (innen) und 12.0g/m³ (außen) --> lüften (noch ohne Ventilatorbetrieb, sondern nur Tür und Fenster geöffnet).

Nach ca. 1h habe ich jetzt außen 24.5°C, 54% r.H. und innen 19.9°C, 75.3%, die absoluten Feuchten sind dabei 11.8g/m³ (außen) und 12.9g/m³ (innen).

Es scheint als wäre die absolute Feuchte innen sogar leicht gestiegen! Ich verwende die Magnus Formel für die absolute Feuchte, ev. hakt die?

static float absolute_humidity(float temperature, float humidity)
{
  float T = temperature;
  float T_K = temperature + 273.15f;

  /* Magnus formula constants for water */
  const float a = 17.62f;
  const float b = 243.12f;

  /* saturation vapor pressure in hPa */
  float exp_term = (a * T) / (b + T);
  float e_s = 6.112f * expf(exp_term);

  /* actual vapor pressure in hPa */
  float e = (humidity / 100.0f) * e_s;

  /* absolute humidity in g/m³ */
  return 216.7f * e / T_K;
}


1
  •  taliesin
  •   Gold-Award
11.8.2025  (#25)
Eventuell schon eine Theorie ... ich messe außen auf der Terrasse, ca. 1.2m über Boden, die Luft in den Subraum strömt aber direkt vom Boden (über eine Tür auf ca. 1.3m unter Terrain) ein, vermutlich ist die dort feuchter?!

Die Ventilatoren sitzen bei ca. 1m über Terrain, sind aber akt. noch nicht in Betrieb.

1
  •  Benji
  •   Gold-Award
12.8.2025  (#26)
Die Magnus-Formel bzw. die Berechnung der aF passt.

Den von dir beschriebenen Effekt kenne ich ebenfalls und sehe dafür mehrere mögliche Ursachen:
  • Feuchte-Differenzen unter ~1 g/m³ liegen oft schon im Bereich der Messungenauigkeit.
  • Wände, Putz und Möbel wirken als Feuchtepuffer und können die Wirkung sogar überkompensieren. Das Gleichgewicht stellt sich meist erst nach längerer Zeit ein.


1
  •  taliesin
  •   Gold-Award
12.8.2025  (#27)

zitat..
Benji schrieb: Feuchte-Differenzen unter ~1 g/m³ liegen oft schon im Bereich der Messungenauigkeit.

Das erscheint mir viel, muss ich mal nachrechnen.

Je mehr ich mir die Daten ansehe, desto komplexer erscheint mir eine vernünftige Regelstrategie. Speziell im Winter will man den Ventilator nur so kurz wie möglich anlassen, da ja keine Wärmerückgewinnung stattfindet. Stoßlüften ist also angesagt.


1
  •  berhan
  •   Gold-Award
12.8.2025  (#28)
Kannst du die Sensoren nebeneinander legen, um eine Ungenauigkeit der Sensoren auszuschließen. Meine günstigen Sensoren differieren auch bis zu 1g/m³.

Außenluft- und Abluftsensor korrelieren bei mir zum Glück ganz gut.

Heut Morgen nach 30 Minuten querlüften zum Feuchte senken.


_aktuell/20250812841606.png



1
  •  taliesin
  •   Gold-Award
12.8.2025  (#29)
Meine Sensoren zeigen ja nur relative Luftfeuchte und die Temperatur an.

Die Fehlerrechnung zeigt, dass der Fehler in der a.H. linear zur r.H. ist und exponentiell zur Temperatur ist (ja eh, no na emoji ). Für um die 20°C ergeben sich für 0.3K Temperaturfehler und 3% in der r.H. 0.6g/m³ Fehler (bei Werten um die 16g/m³), bei niedrigeren absoluten Feuchten ist natürlich auch der Fehler geringer. 1g/m³ werden z.B. bei ca. 30°C und 80% r.H. erreicht.

Bei a.H. 10g/m³ sollte mit Mi-Sensoren der Fehler um die 0.3g/m³ liegen, wenn ich nicht wieder was vergeigt habe.

zitat..
berhan schrieb: Heut Morgen nach 30 Minuten querlüften zum Feuchte senken.

Da hattest einen guten Durchzug, war das mit der KWL KWL [Kontrollierte Wohnraumlüftung] oder einfach alle Fenster auf?


1
  •  berhan
  •   Gold-Award
13.8.2025  (#30)
Hebeschiebetüren und große Fenster, die KWL KWL [Kontrollierte Wohnraumlüftung] reagiert aufgrund des geringen Volumenstrom (250 m³/h) sehr träge.


_aktuell/20250813983490.png
Gleiche Abbildung wie oben, bis ca. 7 Uhr mit KWL KWL [Kontrollierte Wohnraumlüftung] und Bypass bei 250 m³/h (Gebäudevolumen ca. 1000 m³). Der Anstieg bei der Abluft ergibt sich durchs Duschen. Für deine Regelung im Winter ist aber die Außenfeuchte viel geringer (ca. 4g/m³), da gehts dann viel schneller.

1
  •  taliesin
  •   Gold-Award
13.8.2025  (#31)

zitat..
berhan schrieb: Hebeschiebetüren und große Fenster

Dachte ich mir.

zitat..
berhan schrieb: Für deine Regelung im Winter ist aber die Außenfeuchte viel geringer (ca. 4g/m³), da gehts dann viel schnelle

Ich brauche die eben nicht nur im Winter, sondern eigentlich das ganze Jahr. Da unser Keller eine hohe Nutzung hat, bekomme ich immer ziemlich viel warme Luft nach unten und dementsprechend feucht ist er, a.H. immer so bei 12g/m³, also aktuell 19.3°C und gut 72% r.H.
Aktuell mit Entfeuchter halbwegs trocken gehalten, d.h. kein Schimmel, aber grad so.

Jahreszeitliche Bedingungen:

Winter: außen kalt, manchmal Regen, wenig Solarstrom, Keller noch relativ warm (18°C) -> Entfeuchtung fast immer möglich, tendenziell am Tag besser, da wärmer und der Keller nicht so schnell auskühlt.

Frühling: außen immer noch teilw. kalt, oft Regen, mittel Solarstrom, Keller ziemlich kalt (14-15°C), Mischbetrieb Winter/Sommer.

Sommer: außen zu warm, teilw. Regen, viel Solarstrom, Keller immer wärmer (20°C), Entfeuchtung über Lüftung nur in der Nacht möglich, Entfeuchter kann mit Solarstrom laufen

Herbst: außen oft zu warm, oft Regen, ... Keller warm (21°C), Mischbetrieb Winter/Sommer.

Aktuell schwebt mir eine 'Regelstrategie' in der Form vor:

Sommerbetrieb:
Ab 2:00 morgens a.H. diff testen, wenn groß genug 4g/m³ oder so, für ca. 20min lüften, dann 40min warten, das ganze bis ca. 6:00
Ab 11:00 bei immer noch hoher Feuchte (>70%) Entfeuchter ein (gleicher Takt 20min ein, 40min aus)

Winterbetrieb:
Ab 10:00 morgens a.H.diff Regel bis etwa 14:00, sollte das nicht funktionieren, ab 14:00 Entfeuchterbetrieb (1 Takt).

Mischbetrieb (Herbst/Frühling):
Grundsätzlich wie Sommerbetrieb, aber wenn es in der Nacht zu kalt ist (<5°C), dann auf den Tag warten.

... und oben drauf, wenn nicht feucht gelüftet wird (a.H. diff negativ), dann jeden Tag größer eine halbe Stunde lüften.

Man könnte auch die Wettervorhersage für die nächsten 24h nutzen, aber vermutlich ist das schon gut genug.


1
  •  Benji
  •   Gold-Award
13.8.2025  (#32)

zitat..
taliesin schrieb: Da unser Keller eine hohe Nutzung hat, bekomme ich immer ziemlich viel warme Luft nach unten und dementsprechend feucht ist er, a.H. immer so bei 12g/m³, also aktuell 19.3°C und gut 72% r.H.
Aktuell mit Entfeuchter halbwegs trocken gehalten, d.h. kein Schimmel, aber grad so.

12g/m³ hab ich momentan praktisch überall, seit Wochen pendelt die aF zwischen 11 und 14 g/m³ (draußen wie drinnen)
mit rF 72% bist eh noch relativ sicher, riskant wirds ab 80% (aber die 72% verdankst du dem Entfeuchter, richtig?)

wobei die 72% bezogen auf die Lufttemperatur sind, oder? Viel spannender wäre der Taupunkt (sollten um die 14° sein) und der natürlich in Kombination mit deinen Wandtemperaturen (kennst du die?)




1
  •  taliesin
  •   Gold-Award
13.8.2025  (#33)

zitat..
Benji schrieb: aber die 72% verdankst du dem Entfeuchter, richtig?

Ja, der läuft aktuell alle 2-3 Tage für ein paar Stunden (und saugt etwa 1l Wasser pro Lauf).

Für die Wandtemperaturen gibt es ein paar kritische Stellen, die liegen um die 15-16°C, Taupunkttemperatur ist aktuell im kritischen Raum (zu wenig Durchströmung) bei 14.2°C

Mein Subraum (Kellereingang) ist auch immer brutal feucht, aktuell 21.4°C 82.5% r.H., Taupunkt bei 18.33°C, aber der ist innengedämmt und dort habe ich nirgends Temperaturen unter 20°C.

1
  •  berhan
  •   Gold-Award
13.8.2025  (#34)
Wäre der Keller geeignet für eine Brauchwasserwärmepumpe, wäre zumindest im Sommer eine Möglichkeit. Unter die 12 g/m³ schaft man im Sommer, zumindest wenn die Nächte nicht abkühlen, ohne aktive Maßnahmen eigentlich nie. Fürn Winter wäre eine Lösung mit Wärmetausch super, dann sind auch 6-7 g/m³ möglich.

1
  •  taliesin
  •   Gold-Award
13.8.2025  (#35)
Mit einer Solarthermie am Dach ist die WP WP [Wärmepumpe] halt nicht arg reizvoll emoji

Ich dachte schon, dass ich per Solarthermie im Sommer den Keller heize ... aber leider ist das mit den Leitungen nicht so toll einfach.

1
  •  taliesin
  •   Gold-Award
14.8.2025  (#36)

_aktuell/20250814932281.png
REST-API tut mal was sie soll und das OTA (ähm OE) update funkt auch soweit, jetzt wird's mal in den Keller geschraubt. backend in C++, frontend Vue+Vuetify

/api/sensors sagt sowas, jetzt braucht's am server noch ein Python script, das das liest 
und auf /api/relais postet ...

_aktuell/20250814432758.png
Vielleicht hübsche ich die web-page noch mit direkten Sensoranzeigen auf, oder publishe direkt auf MQTT und mache das alles einstellbar und ... oder doch nicht emoji

1
  •  Benji
  •   Gold-Award
16.8.2025  (#37)
@­taliesin vielleicht hast du eine Idee: ich hab jetzt noch weitere von den MI-Dingern bekommen, zwar noch die "gute" alte Hardware B1.4, aber mit einer neueren Firmware, die sich nicht mehr so einfach flashen lässt, man braucht einen "bind Key" oder ein token... alle beschriebenen Methoden scheitern momentan, vermutlich weil Xiaomi am Login "geschraubt" hat.

Hattest du das problem auch? Und ggf. auch eine Lösung? Danke!

1
  •  taliesin
  •   Gold-Award
16.8.2025  (#38)
Ich hatte einen alten Xiamo account, weil ich meine Handy bootloader aufgemacht habe. Eventuell hatte ich deswegen das Problem nicht.

Mein Vorgehensweise war:
1. Mi-Home App installieren
2. Device mit der App verbinden (BLE pairing)
3. https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor benutzen
--> MAC, ID, TOKEN und BLE-KEY
4. Installation der Exploit FW war bei mir gar nicht nötig, habe ich zuerst gemacht, ging aber beim 2. und 3. Thermometer auch direkt mit der aktuellen FW. Achja das geht nur mit Edge oder Chrom, nicht mit Firefox!

Achtung: Ich hatte den nRF scanner (App) laufen, der blockiert irgendwie den connect vom USB-BLE dongle, dann geht das Programmieren auch nicht.

Das Python-zeugs (atc_mi_interface) ist auch ein wenig zickig, vermutlich nur unter Linux, nur falls du das auch probieren möchtest.

1
  •  Benji
  •   Gold-Award
16.8.2025  (#39)
Danke! Genauso hätte ich es auch versucht, aber Schritt 3 funktioniert nicht (mehr). Es häufen sich aber Forenbeiträge dazu, Miaomi hat da wohl (kürzlich) reagiert.

ist momentan leider etwas frustrierend. 

1
  •  taliesin
  •   Gold-Award
16.8.2025  (#40)
Im schlimmsten Fall kannst über den UART flashen, das sollte immer gehen.

1
  •  Benji
  •   Gold-Award
16.8.2025  (#41)
mal sehen wie sich der Leidensdruck entwickelt emoji

1
 1  2 


Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]

Nächstes Thema: Recht auf Jahresabrechnung in Papierform