Ingest mit CH32V (RISC-V)

DS18B20-Werte von einem WCH CH32V307 mit WCHNET-C und eingebautem Ethernet senden. MounRiver Studio und das gleiche LAN-HTTPS-Relay wie beim Uno.

Nahaufnahme weißer Cat-5e-Ethernet-Kabel mit RJ45-Steckern
Das Fühler-JSON verlässt das LAN meist über Ethernet oder ein nahes Relay, nicht direkt übers öffentliche Internet. Foto: DiscDepotDundee.co.uk. CC BY-SA 4.0

ESP32, Pico W und STM32 decken Arm und Xtensa ab. Wenn du eine QingKe-RISC-V-Sonde willst, die weder Arduino noch Python noch Zephyr ist, sendet ein CH32V307V-EVT-R1 mit WCHNET C dasselbe Ingest-JSON per POST über das integrierte 10M-Ethernet. MounRiver Studio, WCH-Link. Kein WLAN-Modul.

WCHNET ist IPv4-TCP ohne gepflegten TLS-Client. Dieses Beispiel nutzt dasselbe HTTP→HTTPS-Relay im LAN wie Uno + W5100 und STM32 Zephyr, damit Cloudflare die Zertifizierungsstellen wechseln kann, ohne dass du neu flashen musst.

Teile

Teile für eine CH32V-RISC-V-Frostsonde
Teil Wozu Kaufen
CH32V307V-EVT-R1 QingKe RISC-V, integrierter 10M-PHY + RJ45, WCH-Link. Der Gigabit-MAC bleibt hier ungenutzt. WCH CH32V307
Wasserdichter DS18B20 Sonde für Rohr oder Kriechkeller. Daten an PB12. Adafruit DS18B20 · Amazon
4.7kΩ-Widerstand Pull-up von der DS18B20-Datenleitung auf 3.3V. Versorge die Sonde nicht mit 5V. Amazon 4.7k
Ethernet-Anschluss DHCP in deinem LAN. Ein Pi, NAS oder Laptop betreibt das TLS-Relay. Ein beliebiges Cat5e-Patchkabel zu deinem Switch.

Verdrahtung

  • DS18B20 VDD → EVT 3.3V
  • DS18B20 GND → GND
  • DS18B20-Daten → PB12, 4.7k auf 3.3V
  • RJ45 → LAN. WCH-Link-USB zum Flashen und für die serielle Ausgabe mit 115200.

Bauen und flashen

  1. Öffne Dashboard → Devices und lade CH32V main.c herunter (Ingest-Pfad bereits eingetragen), oder kopiere die Defines aus dem Ingest-Hinweis.
  2. Auf einem Rechner im LAN:
    python3 sketches/relay/push_https_forward.py --listen 0.0.0.0:8080 \
      --upstream https://probeharbor.dev
  3. Setze INGEST_HOST auf diesen Rechner (IPv4 in Punktnotation). Ersetze User/main.c durch die heruntergeladene Datei.
  4. Installiere MounRiver Studio. Öffne das offizielle Projekt EVT ETH/DHCP, behalte NetLib / eth_driver, ersetze nur User/main.c, baue und flashe.
  5. Seriell mit 115200: dhcp ok, dann POST 200. Der Sensorschlüssel temp1 wird beim ersten POST übernommen.

Fertige Dateien im Repo: sketches/wch/ch32v307_ds18b20_ingest/ (Bit-Bang-1-Wire an PB12 + WCHNET-HTTP-Client).

Andere CH32V-Boards

Jeder CH32V307 mit dem Ethernet-PHY des EVT kann diesen C-Code ausführen. CH32V203 / CH32V003 haben keinen Ethernet-MAC. Es gibt Community-Cores für Arduino-CH32, aber die gehören nicht zu diesem Beispiel. Ein CH32V307 mit W5500 ist möglich, dann bist du aber wieder bei ioLibrary über SPI statt beim integrierten MAC.

Warum nicht als Nächstes nRF oder TI?

  • nRF52: Bluetooth oder Thread, kein natives HTTPS über WLAN.
  • nRF7002 DK: Nordics Wi‑Fi 6 funktioniert im nRF Connect SDK, aber das Pinnen von TLS-Zertifizierungsstellen unter Zephyr bleibt eine Wartungsfalle.
  • TI SimpleLink / NXP RW612: leistungsfähige WLAN-SDKs in C, aber in der Bastlerszene weniger verbreitet als EVT + WCHNET.

Weiterlesen

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 CH32V ohne Arduino oder Python an ProbeHarbor senden?
Ja. Das Beispiel für das CH32V307V-EVT ist WCHNET-C in MounRiver Studio: User/main.c einfach in das offizielle ETH/DHCP-Projekt einsetzen, per WCH-Link flashen, 10M-Ethernet auf dem Board. DS18B20 an PB12. HTTP an das TLS-Relay im LAN, genau wie bei Uno W5100 und STM32 Zephyr. Anleitung: probeharbor.dev/about/ch32v-riscv-ingest.

Warum nicht direkt HTTPS vom CH32V?
WCHNET bietet IPv4-TCP/UDP ohne gepflegten TLS-Client. Der Ingest von ProbeHarbor läuft über HTTPS. Mit dem Relay im LAN bleibt der Mikrocontroller bei HTTP, und ein Pi/NAS übernimmt TLS – dasselbe Muster wie bei Uno Ethernet und STM32 Zephyr.

Ist das Arduino-CH32 oder PlatformIO Arduino?
Nein. Einige Community-Cores machen CH32V für die Arduino IDE nutzbar. Dieses Beispiel ist Hersteller-C (QingKe RISC-V, WCHNET), keine .ino.