ESP32 und Pico W decken WLAN ab. Wenn du einen anderen Chiphersteller und eine Toolchain willst, die weder Arduino noch Python ist, sendet ein ST Nucleo-F767ZI mit Zephyr dasselbe Ingest-JSON per POST über das Onboard-Ethernet. C, west, ST-LINK. Die Arduino-kompatible Stiftleiste ist nur eine Pinbelegung: Die Firmware ist kein Arduino-Sketch.
Natives HTTPS unter Zephyr heißt, eine CDN-CA fest ins Image einzubauen – und das bricht, sobald die Zertifikatskette am Edge wechselt. Dieses Beispiel nutzt dasselbe HTTP→HTTPS-Relay im LAN wie der Weg mit Uno + W5100, sodass Cloudflare die CAs wechseln kann, ohne dass du neu flashen musst.
Teile
| Teil | Wozu | Kaufen |
|---|---|---|
| Nucleo-F767ZI | Cortex-M7, Ethernet-MAC + PHY an Bord, ST-LINK-Debugger. Kein WLAN-Modul. | ST Nucleo-F767ZI |
| Wasserdichter DS18B20 | Fühler für Rohr oder Kriechkeller. Daten an Arduino-Pin D4 (PF14). | Adafruit DS18B20 · Amazon |
| 4,7-kΩ-Widerstand | Pull-up von der DS18B20-Datenleitung auf 3,3 V. Versorge den Fühler nicht über den 5-V-Arduino-Pin. | 4,7k bei Amazon |
| Ethernet-Anschluss | DHCP in deinem LAN. Ein Pi, NAS oder Laptop betreibt das TLS-Relay. | Beliebiges Cat5e-Patchkabel zu deinem Switch. |
Verdrahtung
- DS18B20 VDD → Nucleo 3.3V
- DS18B20 GND → GND
- DS18B20-Daten → Arduino D4 (STM32 PF14), 4,7k nach 3,3 V
- RJ45 → LAN. ST-LINK-USB zum Flashen und für die serielle Schnittstelle mit 115200.
Bauen und flashen
- Öffne Dashboard → Devices und lade Zephyr main.c herunter (Ingest-Pfad bereits eingetragen), oder kopiere die Defines aus dem Ingest-Hinweis.
- Auf einem Rechner im LAN:
python3 sketches/relay/push_https_forward.py --listen 0.0.0.0:8080 \ --upstream https://probeharbor.dev - Setze
INGEST_HOSTauf diesen Rechner. Ersetzesrc/main.cdurch die heruntergeladene Datei, wenn der Pfad fest eingebaut sein soll. - Aus einem Zephyr-Workspace:
west build -b nucleo_f767zi path/to/sketches/zephyr/ds18b20_ingest west flash - Seriell mit 115200:
dhcp ok, dannPOST 200. Der Sensorschlüsseltemp1wird beim ersten POST importiert.
App im Repo: sketches/zephyr/ds18b20_ingest/ (prj.conf, D4-Overlay, CMake).
Andere STM32-Boards
Jedes Zephyr-Ziel mit Ethernet kann denselben C-Code ausführen, wenn du ein 1-Wire-Overlay für deinen GPIO ergänzt. Nucleo-F429ZI und Nucleo-H743ZI sind die üblichen Verwandten. Ein Blue Pill mit W5500 ist ebenfalls C, aber mit Cube HAL + ioLibrary, nicht mit dieser Zephyr-App: Nutze das LAN-Relay auf dieselbe Weise.
Warum nicht zuerst Nordic oder TI?
- nRF52: Bluetooth oder Thread, kein natives HTTPS über WLAN.
- nRF9160: LTE-M funktioniert, aber SIM-Karte und Mobilfunkvertrag sind ein schlechteres erstes Frost-Kit als ein Ethernet-Anschluss in der Garage.
- TI SimpleLink / NXP RW612: leistungsfähige WLAN-SDKs in C, aber eine kleinere Bastler-Community als Nucleo + Zephyr.
- CH32V307 wird jetzt offiziell unterstützt: WCHNET C + Onboard-Ethernet (QingKe RISC-V, dasselbe TLS-Relay im LAN).
Verwandte Themen
- Geräte hinzufügen
- Datenübertragung mit dem Raspberry Pi Pico W
- Datenübertragung mit CH32V RISC-V
- Teileliste für das ESP32-Frost-Kit
- HTTPS-Relay in Python
- Alle Sketches ↗
Amazon-Kauflinks können ein Partner-Tag (Associates) enthalten. Links zu Adafruit und anderen Händlern sind direkt (Adafruit hat kein Partnerprogramm). ProbeHarbor erhält für qualifizierte Amazon-Käufe womöglich eine Provision – ohne Mehrkosten für dich.
Häufige Fragen
Kann ein STM32 ohne Arduino oder Python an ProbeHarbor senden?
Ja. Das Beispiel für den Nucleo-F767ZI ist Zephyr-C: west build, Flashen per ST-LINK, Ethernet auf dem Board. DS18B20 an Arduino D4 (PF14). HTTP an das TLS-Relay im LAN, genau wie beim Uno-W5100-Weg. Anleitung: probeharbor.dev/about/stm32-zephyr-ingest.
Warum nicht direkt HTTPS vom Nucleo?
Das geht, mit Zephyr-mbedTLS und einer fest eingebauten CA. ProbeHarbor liegt hinter Cloudflare, daher kann sich diese CA ändern. Mit dem Relay im LAN bleibt der Mikrocontroller bei HTTP, und der Pi/NAS übernimmt TLS – dasselbe Muster wie beim Uno mit Ethernet.
Läuft auf dem Arduino-Header Arduino-Firmware?
Nein. D4 ist nur der Pin im Arduino-Layout des Nucleo (PF14). Die Firmware ist Zephyr-C, keine .ino.