NEWS
OpenMqttGateway RF 433MHz aufbauen
-
OpenMqttGateway RF 433MHz CC1101
- OpenMqttGateway https://github.com/1technophile/OpenMQTTGateway
- Media Links https://github.com/1technophile/OpenMQTTGateway?tab=readme-ov-file#media
Anwendungsbeschreibung
Begriffsklärung
- ESP32-WROOM-32: https://en.wikipedia.org/wiki/ESP32#ESP32
- RF Module CC1101: https://en.wikipedia.org/wiki/RF_module
- GI4JTF Antenne: https://de.wikipedia.org/wiki/Dipolantenne
Überblick
Ein mögliche Umsetzung ist hier unten zu sehen. Links oben der ESP 32 auf einem ESP Expansion Board (blau).
Das RF Modul ist direkt mit dem Expansion Board verbunden (grün).
Die 12Vdc Spannungsversorgung erfolgt über den Schalter (türkis) und einen DCDC Step LM2596 down Konverter ((lila), 7Vdc Ausgang.
Komponenten
iobroker RasPi 4
(keine SD-Karte, kein USB Stick)
Plattform linux, Betriebssystem linux- Architektur arm64, CPUs 4, Geschwindigkeit 1500 MHz, Modell Cortex-A72, RAM 3.7 GB
- OS: 2023-02-21-raspios-bullseye-arm64-lite.img.xz
- ETCHER FOR WINDOWS (X86|X64) (PORTABLE): https://www.balena.io/etcher#download-etcher
- Node.js v18.17.0, NPM 9.6.7
- USB3 Hub inkl Netzteil: SSD Datenträgergröße 60 GB
- log2ram https://linuxhint.com/improve-sd-card-lifespan-log2ram-raspberry-pi/
- Aktive Instanzen 19
Instanzen
- Admin v6.13.16
- mqtt.0 v5.2.0
- Port: Dein Port, z.B. 1883
- User: Dein_User
- PW: Dein_Password
ESP32-WROOM-32 auf ESP Expansion Board 38pins
Firmware
- OpenMQTTGateway v1.7.0 https://docs.openmqttgateway.com/prerequisites/boards/esp32devmulti_receiver.html
- Board index 36
- Environment esp32dev-multi_receiver
- uC esp32dev
- Firmware upload (web install)
- ESP Expansion Board 38pin
- DCin Spezifikation gibt eine Spannungsbereich von 6.5 - 16V an.
- Nach meiner Erfahrung wird der DCDC auf dem Board bei 12V schon so heiß, dass man ihn nicht mehr anfassen kann. Deswegen habe ich noch einen DCDC Step Down LM2596 vorgeschaltet.
- Das RF Modul habe ich mit Drahtbrücken direkt angeschlossen.
- Die 3V und die 5V haben von mir noch einen Elko C=470uF/35V aufgesteckt bekommen.
Lokale Spannungsversorgung DCDC Step Down LM2596
- 12Vdc Eingang + 470uF/63V
- 7Vdc Ausgang (über Potentiometer eingestellt) + 470uF/63V
RF Module CC1101 von TI
- Für die Frequenzen: 300-348 MHz, 387-464 MHz und 779-928 MHz
- SMA Buchse und ist laut Datenblatt auf 50 Ohm angepasst.
- Die Konfiguration erfolgt über das SPI Interface (MISO, MOSI, SCK, CSN). Das SPI Interface ist auch am ESP 32 zu finden.
- Verbindung CC1101 Pinout
- RF_MODULE_CS=5 ; pin to be used as chip select
- RF_MODULE_GDO0=12 ; CC1101 pin GDO0
- RF_MODULE_GDO2=27 ; CC1101 pin GDO2
Die Verbindung zwischen dem RF Modul (CC1101) Pin Header auf der Oberseite (2x4), Pins 1..8 und dem ESP 32 erfolgt über Steckverbinder (IO Pins am ESP 32 Board). An der SMA Buchse des RF Modul wird die Antenne angeschraubt. Die hier enthaltene Antenne ist aus meiner Sicht nicht besonders gut.
Ziel
Mit dem OpenMqttGateway sollen, über das 433MHz Band, Temperatursensoren per MQTT an den ioBroker gesendet werden. Damit möchte ich die Radiofrequenz Welt der Sensoren mit dem ioBroker verbinden. Der OpenMqttGateway ist hier eine einfache Lösung und mit recht wenig Aufwand/Kosten verbunden.
Bei dem RF Modul war eine sehr kleine Antenne mit SMA Stecker enthalten. Diese ist aber nicht besonders empfindlich. In meinem Beispiel ist das Gesamtsystem im Gartenhaus angebracht. Dort ist auch noch genügend Platz für eine etwas größere Antenne im Selbstbau. Diese soll die Frequenzen 315MHz, 433MHz und 868MHz abdecken, auch wenn ich mich hier erstmal auf die 433MHz einschränke.
Eine sehr einfache Selbstbau Antenne wurde von GI4JTF vorgestellt. Diese habe ich hier auf andere Frequenzen angepasst und aufgebaut. Der Wellenwiderstand der Antenne sollte bei etwa 75 Ohm liegen. Die 50 Ohm Eingangswiderstand des RF Module passen hier nicht ganz genau dazu. Ich halte dennoch an dieser Lösung fest.
Alternativ sind kleine Antennen in der TI Application Note AN058 “Antenna Selection Guide”, von Richard Wallace, beschrieben. Ein schöner Überblick ist auch in TI DN035 “Antenna Selection Quick Guide” zu finden.Kurzbeschreibung der Lösung
ESP32-WROOM-32 und RF Module CC1101 im Gehäuse
Nach dem flashen der firmware schaltet der ESP in einen Access Point mode (AP). Ihr könnt Euch dann z.B. mit Tablet und Notebook mit dem ESP 32 verbinden. Jetzt müsste Ihr SSID, Password etc. setzen. Danach findet Ihr den ESP 32 mit open mqtt broker in eurem Wifi wieder. Beim Aufruf der IP Adresse öffnet sich eine Weboberfläche zur Konfiguration.Konfiguration über die WebOberfläche
Ausgabe auf der Console:
N: OpenMQTTGateway URL: http://192.168.178.zz/ N: ZwebUI setup done N: RF Config not found using default N: C1101 spi Connection OK N: Enable RTL_433 Receiver: 433.92Mhz N: ZgatewayRTL_433 setup done N: OpenMQTTGateway modules: ["WebUI","RF","RF2","RTL_433"] N: ************** Setup OpenMQTTGateway end ************** W: MQTT connection... N: Connected to broker N: Send on /RFtoMQTT msg {"active":3,"frequency":433.92,"rssithreshold":-82,"rssi":-89,"avgrssi":0,"count":0} N: Update check, free heap: 116828N: Update check done, free heap: 75320N: Send on /SYStoMQTT msg {"uptime":3,"version":"v1.7.0","disc":true,"ohdisc":false,"env":"esp32dev-multi_receiver","freemem":118572,"mqttp":"1883","mqtts":false,"msgprc":0,"msgblck":0,"maxq":0,"minmem":113800,"tempc":53.33,"freestck":5996,"eth":false,"rssi":-53,"SSID":"blabla","BSSID":"08:96:D7:7C:xx:28","ip":"192.168.178.zz","mac":"40:22:D8:79:yy:B4","modules":["WebUI","RF","RF2","RTL_433"]} N: Send on /WebUItoMQTT msg {"displayMetric":true,"webUISecure":true,"displayQueue":0} N: Send on /RLStoMQTT msg {"latest_version":"v1.7.0","title":"OpenMQTTGateway","release_url":"https://github.com/1technophile/OpenMQTTGateway/releases/tag/v1.7.0","installed_version":"v1.7.0","entity_picture":"https://github.com/1technophile/OpenMQTTGateway/raw/development/docs/img/Openmqttgateway_logo_mini_margins.png","release_summary":""} N: Send on /RTL_433toMQTT/Nexus-TH/3/153 msg {"model":"Nexus-TH","id":153,"channel":3,"battery_ok":1,"temperature_C":21.7,"humidity":34,"protocol":"Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor","rssi":-72,"duration":776996}
Daten im MQTT Adapter des ioBroker
Die Datenpunkte (DP) des open mqtt gateway OMG_multi_receiver findet Ihr dann hier im Objektbaum: mqtt.0.home.OMG_multi_receiver
Status Informationen:
mqtt.0.home.OMG_multi_receiver.LOGtoMQTT{"reason":5,"uptime":960}
mqtt.0.home.OMG_multi_receiver.LWT
online
mqtt.0.home.OMG_multi_receiver.RFtoMQTT
{"active":3,"frequency":433.92,"rssithreshold":-81,"rssi":-92,"avgrssi":-90,"count":6884}
mqtt.0.home.OMG_multi_receiver.RLStoMQTT
{"latest_version":"v1.7.0","title":"OpenMQTTGateway","release_url":"https://github.com/1technophile/OpenMQTTGateway/releases/tag/v1.7.0","installed_version":"v1.7.0","entity_picture":"https://github.com/1technophile/OpenMQTTGateway/raw/development/docs/img/Openmqttgateway_logo_mini_margins.png","release_summary":""}
mqtt.0.home.OMG_multi_receiver.SYStoMQTT
{"uptime":102697,"version":"v1.7.0","disc":false,"ohdisc":false,"env":"esp32dev-multi_receiver","freemem":118832,"mqttp":"1883","mqtts":false,"msgprc":3508,"msgblck":0,"maxq":2,"minmem":52588,"tempc":60,"freestck":2332,"eth":false,"rssi":-88,"SSID":"blabla","BSSID":"DC:39:6F:49:D8:87","ip":"192.168.178.78","mac":"40:22:D8:79:F1:B4","modules":["WebUI","RF","RF2","RTL_433"]}
mqtt.0.home.OMG_multi_receiver.WebUItoMQTT
{"displayMetric":true,"webUISecure":true,"displayQueue":0}
Sensoren:
mqtt.0.home.OMG_multi_receiver.RTL_433toMQTT.inFactory-TH.1.166{"model":"inFactory-TH","id":166,"channel":1,"battery_ok":1,"temperature_C":19.66667,"humidity":84,"mic":"CRC","protocol":"inFactory, nor-tec, FreeTec NC-3982-913 temperature humidity sensor","rssi":-78,"duration":1803000}
mqtt.0.home.OMG_multi_receiver.RTL_433toMQTT.inFactory-TH.2.156
{"model":"inFactory-TH","id":156,"channel":2,"battery_ok":1,"temperature_C":112.1111,"humidity":100,"mic":"CRC","protocol":"inFactory, nor-tec, FreeTec NC-3982-913 temperature humidity sensor","rssi":-78,"duration":998996}
Die GI4JTF Antenne (Rundstrahler) Planung
Diese Antenne besteht aus drei Dipolantennen, die miteinander verbunden sind und einen Gesamtwiderstand der Antenne von 75 Ohm bilden. Bestens für ein typisches Koaxialkabel im Fernseh/Radiobereich geeignet. Die Antenne soll für die Frequenzen 315 MHz, 433 MHz und 868 MHz ausgelegt sein. Die drei Längen l1, l2, l3, passend zu den drei Frequenzen, sind nach GI4JTF wie folgt zu berechnen: l1 = 145.02 / 868 = 0,17m, l2 = 146.90 / 433 = 0,34m, L3 = 146.18 / 315 = 0,46mDer Abstand zwischen den Dipolen soll nach GI4JTF 50 mm betragen.
- Als Dipol Material kann man z.B. blanken Metall Draht (Kupferdraht) mit ~d=4mm Durchmesser, aus der Hausinstallation, verwenden.
- Als Verbindung zwischen den Dipolen sollte man dünneres Material verwenden, damit man diesen einfach an die SMA-Buchse löten kann, z.B. d=0.8mm versilberten Kupferdraht. Die SMA Buchse schraubt man auf einen Metallwinkel.
- Die Kunststoffführungen können aus einfachen Kabelkanälen gefertigt werden, z.B. 3x (15x15mm) und 12cm lang. In den Flanken bohrt man jetzt 6x 5mm Löcher pro Kabelkanal, im Abstand von 50mm auf beiden Seiten.
- Die ganze Antenne könnte man auf ein Holzbrett montieren, die Kabelkanäle und den Winkel dort verschrauben. Die Dipole steckt Ihr jetzt durch die Bohrlöcher, verlötet den Silberdraht mit SMA und Dipolen und verklebt alles mit Heißkleber.
Die GI4JTF Antenne (Rundstrahler) Umsetzung
Hier sieht man den 50 Ohm SMA Anschluss zum RF Modul links in der Mitte. Die SMA Buchse ist auf einem kleinen Aluwinkel aufgeschraubt. Die Innen- und Außenleiter ragen in den mittleren Kabelkanal.Die Anpassung, an der SMA Buchse, ist nicht optimal, hier aber besonders günstig.
Ein versilberter Kupferdraht verbindet alle Dipole nach oben mit dem Innenleiter. Die Dipole nach unten mit dem Außenleiter.
Die Dipol Rundstrahler stecken in vorgebohrten Löchern in den Kabelkanälen als Führung und sind mit Heißkleber gegen verrutschen gesichert.
Alles auf einer kleinen Holzplatte ~17x17cm aufgeschraubt.
Jegliches Metall (z.B. Schrauben) sollten möglichst weit von den Dipolen entfernt sein.
Die grünen Dachlatten dienen nur der Befestigung im Giebel des Gartenhauses und haben keine weitere Funktion.
-
@alk
Einige Zusatzinformationen: