ESP32, Pico W y STM32 cubren Arm y Xtensa. Si quieres una sonda QingKe RISC-V que no sea Arduino, ni Python, ni Zephyr, una CH32V307V-EVT-R1 con WCHNET C envía por POST el mismo JSON de ingesta a través de su Ethernet 10M integrado. MounRiver Studio, WCH-Link. Sin módulo Wi‑Fi.
WCHNET es TCP sobre IPv4 sin un cliente TLS mantenido. Este ejemplo usa el mismo relay HTTP→HTTPS en la LAN que Uno + W5100 y STM32 Zephyr, así Cloudflare puede cambiar de CA sin que tengas que volver a grabar la placa.
Componentes
| Componente | Para qué | Comprar |
|---|---|---|
| CH32V307V-EVT-R1 | QingKe RISC-V, PHY 10M + RJ45 integrados, WCH-Link. Aquí no se usa la MAC Gigabit. | WCH CH32V307 |
| DS18B20 resistente al agua | Sonda para tuberías o espacio sanitario. Datos en PB12. | Adafruit DS18B20 · Amazon |
| Resistencia de 4.7kΩ | Pull-up de la línea de datos del DS18B20 a 3.3V. No alimentes la sonda con 5V. | Amazon 4.7k |
| Toma Ethernet | DHCP en tu LAN. Una Raspberry Pi, un NAS o un portátil ejecuta el relay TLS. | Cualquier cable de red Cat5e hasta tu switch. |
Cableado
- DS18B20 VDD → EVT 3.3V
- DS18B20 GND → GND
- Datos del DS18B20 → PB12, 4.7k a 3.3V
- RJ45 → LAN. USB del WCH-Link para grabar y para el puerto serie a 115200.
Compilar y grabar
- Abre Dashboard → Devices y descarga CH32V main.c (con la ruta de ingesta ya incluida), o copia los defines del recuadro de ingesta.
- En un equipo de la LAN:
python3 sketches/relay/push_https_forward.py --listen 0.0.0.0:8080 \ --upstream https://probeharbor.dev - Pon en
INGEST_HOSTla IP de ese equipo (IPv4 con puntos). SustituyeUser/main.cpor el archivo descargado. - Instala MounRiver Studio. Abre el proyecto oficial EVT ETH/DHCP, conserva NetLib /
eth_driver, sustituye soloUser/main.c, compila y graba. - Serie a 115200:
dhcp oky despuésPOST 200. La clave de sensortemp1se importa con el primer POST.
Listo para usar en el repositorio: sketches/wch/ch32v307_ds18b20_ingest/ (1-Wire por bit-bang en PB12 + cliente HTTP de WCHNET).
Otras placas CH32V
Cualquier CH32V307 con el PHY Ethernet de la EVT puede ejecutar este código C. Los CH32V203 / CH32V003 no tienen MAC Ethernet. Existen cores comunitarios Arduino-CH32, pero no son este ejemplo. Un CH32V307 con W5500 es posible, aunque entonces vuelves a ioLibrary por SPI en lugar de la MAC integrada.
¿Por qué no nRF o TI a continuación?
- nRF52: Bluetooth o Thread, no HTTPS nativo por Wi‑Fi.
- nRF7002 DK: el Wi‑Fi 6 de Nordic funciona en nRF Connect SDK, pero fijar las CA de TLS en Zephyr sigue siendo una trampa de mantenimiento.
- TI SimpleLink / NXP RW612: SDK de Wi‑Fi en C muy capaces, pero con menos presencia entre aficionados que EVT + WCHNET.
Relacionado
- Añadir dispositivos
- Ingesta con STM32 Zephyr
- Ingesta con Raspberry Pi Pico W
- Relay HTTPS en Python
- Ingesta en ensamblador AVR
- Todos los sketches ↗
Los enlaces de compra de Amazon pueden incluir una etiqueta de afiliado (Associates). Los enlaces de Adafruit y otros vendedores son directos (Adafruit no tiene programa de afiliados). ProbeHarbor puede recibir una comisión por compras válidas en Amazon sin coste adicional para ti.
Preguntas frecuentes
¿Un CH32V puede enviar datos a ProbeHarbor sin Arduino ni Python?
Sí. El ejemplo para CH32V307V-EVT está en C con WCHNET en MounRiver Studio: un User/main.c que sustituye al del proyecto oficial ETH/DHCP, flasheo con WCH-Link, Ethernet 10M integrado. DS18B20 en PB12. HTTP hacia el relé TLS de la red local, igual que Uno W5100 y STM32 Zephyr. Guía: probeharbor.dev/about/ch32v-riscv-ingest.
¿Por qué no HTTPS directamente desde el CH32V?
WCHNET es TCP/UDP sobre IPv4 sin un cliente TLS mantenido. La ingesta de ProbeHarbor es HTTPS. El relé local mantiene el microcontrolador en HTTP y deja que una Pi/un NAS gestione TLS, el mismo patrón que Uno Ethernet y STM32 Zephyr.
¿Es Arduino-CH32 o Arduino con PlatformIO?
No. Algunos cores de la comunidad adaptan el CH32V al Arduino IDE. Este ejemplo es C del fabricante (QingKe RISC-V, WCHNET), no un .ino.