Ingestion CH32V RISC-V

Envoyez des relevés DS18B20 depuis un WCH CH32V307 en C avec WCHNET et l’Ethernet intégré. MounRiver Studio et le même relais HTTPS LAN que l’Uno.

Gros plan de câbles Ethernet Cat-5e blancs avec connecteurs RJ45
Le JSON des sondes quitte généralement le LAN par Ethernet ou via un relais proche, pas directement par Internet. Photo : DiscDepotDundee.co.uk. CC BY-SA 4.0

ESP32, Pico W et STM32 couvrent Arm et Xtensa. Si vous voulez une sonde QingKe RISC-V qui ne soit ni Arduino, ni Python, ni Zephyr, une CH32V307V-EVT-R1 sous WCHNET C envoie en POST le même JSON d’ingestion via son Ethernet 10M intégré. MounRiver Studio, WCH-Link. Pas de module Wi‑Fi.

WCHNET fait du TCP sur IPv4 sans client TLS maintenu. Cet exemple utilise le même relais HTTP→HTTPS sur le LAN que Uno + W5100 et STM32 Zephyr : Cloudflare peut ainsi changer d’autorité de certification sans reflasher la carte.

Composants

Composants pour une sonde antigel CH32V RISC-V
Composant Rôle Acheter
CH32V307V-EVT-R1 QingKe RISC-V, PHY 10M + RJ45 intégrés, WCH-Link. La MAC Gigabit n’est pas utilisée ici. WCH CH32V307
DS18B20 étanche Sonde pour tuyau ou vide sanitaire. Données sur PB12. Adafruit DS18B20 · Amazon
Résistance 4.7kΩ Pull-up de la ligne de données du DS18B20 vers 3.3V. N’alimentez pas la sonde en 5V. Amazon 4.7k
Prise Ethernet DHCP sur votre LAN. Un Raspberry Pi, un NAS ou un ordinateur portable fait tourner le relais TLS. N’importe quel câble réseau Cat5e jusqu’à votre switch.

Câblage

  • DS18B20 VDD → EVT 3.3V
  • DS18B20 GND → GND
  • Données DS18B20 → PB12, 4.7k vers 3.3V
  • RJ45 → LAN. USB du WCH-Link pour le flash et la liaison série à 115200.

Compiler et flasher

  1. Ouvrez Dashboard → Devices et téléchargez CH32V main.c (chemin d’ingestion déjà renseigné), ou copiez les defines depuis l’encadré d’ingestion.
  2. Sur une machine du LAN :
    python3 sketches/relay/push_https_forward.py --listen 0.0.0.0:8080 \
      --upstream https://probeharbor.dev
  3. Réglez INGEST_HOST sur cette machine (IPv4 en notation pointée). Remplacez User/main.c par le fichier téléchargé.
  4. Installez MounRiver Studio. Ouvrez le projet officiel EVT ETH/DHCP, gardez NetLib / eth_driver, remplacez uniquement User/main.c, compilez, flashez.
  5. Série à 115200 : dhcp ok, puis POST 200. La clé de capteur temp1 est importée au premier POST.

Prêt à déposer dans le dépôt : sketches/wch/ch32v307_ds18b20_ingest/ (1-Wire en bit-bang sur PB12 + client HTTP WCHNET).

Autres cartes CH32V

Tout CH32V307 doté du PHY Ethernet de l’EVT peut exécuter ce code C. Les CH32V203 / CH32V003 n’ont pas de MAC Ethernet. Il existe des cores communautaires Arduino-CH32, mais ce n’est pas cet exemple. Un CH32V307 avec un W5500 est possible, mais vous revenez alors à ioLibrary en SPI au lieu de la MAC intégrée.

Pourquoi pas nRF ou TI ensuite ?

  • nRF52 : Bluetooth ou Thread, pas de HTTPS natif en Wi‑Fi.
  • nRF7002 DK : le Wi‑Fi 6 de Nordic fonctionne dans nRF Connect SDK, mais l’épinglage des AC TLS sous Zephyr reste un piège de maintenance.
  • TI SimpleLink / NXP RW612 : SDK Wi‑Fi en C performants, mais bien moins répandus chez les amateurs qu’EVT + WCHNET.

À voir aussi

Les liens d’achat Amazon peuvent contenir un identifiant Partenaires (Associates). Les liens Adafruit et des autres vendeurs sont directs (Adafruit n’a pas de programme d’affiliation). ProbeHarbor peut toucher une commission sur les achats Amazon éligibles, sans surcoût pour vous.

FAQ

Un CH32V peut-il envoyer des données à ProbeHarbor sans Arduino ni Python ?
Oui. L’exemple pour CH32V307V-EVT est en C avec WCHNET dans MounRiver Studio : un User/main.c à déposer dans le projet officiel ETH/DHCP, flashage WCH-Link, Ethernet 10M intégré. DS18B20 sur PB12. HTTP vers le relais TLS du réseau local, comme pour Uno W5100 et STM32 Zephyr. Guide : probeharbor.dev/about/ch32v-riscv-ingest.

Pourquoi pas du HTTPS directement depuis le CH32V ?
WCHNET fournit TCP/UDP en IPv4 sans client TLS maintenu. L’ingestion ProbeHarbor est en HTTPS. Le relais local garde le microcontrôleur en HTTP et laisse un Pi/NAS gérer TLS, sur le même principe que l’Uno Ethernet et le STM32 Zephyr.

Est-ce Arduino-CH32 ou Arduino sous PlatformIO ?
Non. Certains cores communautaires adaptent le CH32V à l’Arduino IDE. Cet exemple est en C du fabricant (QingKe RISC-V, WCHNET), pas un .ino.