O ESP32 e a Pico W cobrem o Wi‑Fi. Se você quer outro fabricante de chips e uma toolchain que não seja nem Arduino nem Python, uma ST Nucleo-F767ZI rodando Zephyr envia via POST o mesmo JSON de ingestão pela Ethernet da placa. C, west, ST-LINK. O conector compatível com Arduino é só uma pinagem: o firmware não é um sketch de Arduino.
HTTPS nativo no Zephyr significa embutir uma CA da CDN na imagem, o que quebra quando a cadeia de certificados do edge muda. Este exemplo usa o mesmo relay HTTP→HTTPS na rede local do caminho Uno + W5100, assim a Cloudflare pode trocar de CA sem você precisar regravar a placa.
Peças
| Peça | Por quê | Comprar |
|---|---|---|
| Nucleo-F767ZI | Cortex-M7, MAC + PHY Ethernet na placa, depurador ST-LINK. Sem módulo Wi‑Fi. | ST Nucleo-F767ZI |
| DS18B20 à prova d’água | Sonda para cano ou porão. Dados no pino Arduino D4 (PF14). | Adafruit DS18B20 · Amazon |
| Resistor de 4,7 kΩ | Pull-up dos dados do DS18B20 para 3,3 V. Não alimente a sonda pelo pino de 5 V do Arduino. | 4,7k na Amazon |
| Ponto de rede | DHCP na sua rede local. Uma Pi, um NAS ou um notebook roda o relay TLS. | Qualquer cabo de rede Cat5e até o seu switch. |
Ligação
- DS18B20 VDD → Nucleo 3.3V
- DS18B20 GND → GND
- Dados do DS18B20 → Arduino D4 (STM32 PF14), 4,7k para 3,3 V
- RJ45 → rede local. USB do ST-LINK para gravar e para a serial a 115200.
Compilar e gravar
- Abra Dashboard → Devices e baixe Zephyr main.c (com o caminho de ingestão já preenchido), ou copie os defines do aviso de ingestão.
- Num computador da rede local:
python3 sketches/relay/push_https_forward.py --listen 0.0.0.0:8080 \ --upstream https://probeharbor.dev - Defina
INGEST_HOSTcomo essa máquina. Substituasrc/main.cpelo arquivo baixado se quiser o caminho embutido. - A partir de um workspace do Zephyr:
west build -b nucleo_f767zi path/to/sketches/zephyr/ds18b20_ingest west flash - Serial a 115200:
dhcp oke depoisPOST 200. A chave de sensortemp1é importada no primeiro POST.
App no repositório: sketches/zephyr/ds18b20_ingest/ (prj.conf, overlay do D4, CMake).
Outras placas STM32
Qualquer placa Zephyr com Ethernet roda o mesmo C se você adicionar um overlay 1-Wire para o seu GPIO. A Nucleo-F429ZI e a Nucleo-H743ZI são as primas mais comuns. Uma Blue Pill com W5500 também é C, mas com Cube HAL + ioLibrary, não com este app Zephyr: use o relay da rede local do mesmo jeito.
Por que não começar por Nordic ou TI?
- nRF52: Bluetooth ou Thread, sem HTTPS nativo por Wi‑Fi.
- nRF9160: o LTE-M funciona, mas um chip e um plano de operadora são um primeiro kit de congelamento pior do que um ponto de rede na garagem.
- TI SimpleLink / NXP RW612: SDKs em C com Wi‑Fi bem capazes, mas com uma comunidade hobbista menor que a de Nucleo + Zephyr.
- CH32V307 agora tem suporte oficial: WCHNET C + Ethernet na placa (RISC-V QingKe, o mesmo relay TLS na rede local).
Relacionados
- Adicionar dispositivos
- Ingestão com Raspberry Pi Pico W
- Ingestão com CH32V RISC-V
- Lista de peças do kit de congelamento ESP32
- Relay HTTPS em Python
- Todos os sketches ↗
Os links de compra da Amazon podem incluir uma tag de Associados. Os links da Adafruit e de outras lojas são diretos (a Adafruit não tem programa de afiliados). O ProbeHarbor pode receber uma comissão por compras qualificadas na Amazon, sem custo extra para você.
Perguntas frequentes
Um STM32 pode enviar para o ProbeHarbor sem Arduino ou Python?
Sim. O exemplo para a Nucleo-F767ZI é em C com Zephyr: west build, gravação via ST-LINK, Ethernet na placa. DS18B20 no D4 do Arduino (PF14). HTTP para o relay TLS na rede local, igual ao caminho do Uno W5100. Guia: probeharbor.dev/about/stm32-zephyr-ingest.
Por que não usar HTTPS direto da Nucleo?
Dá para fazer, com o mbedTLS do Zephyr e uma CA embutida. O ProbeHarbor fica atrás da Cloudflare, então essa CA pode mudar. O relay na rede local mantém o microcontrolador em HTTP e deixa o Pi/NAS cuidar do TLS, o mesmo padrão do Uno com Ethernet.
O conector Arduino roda firmware Arduino?
Não. O D4 é só o pino no layout Arduino da Nucleo (PF14). O firmware é em C com Zephyr, não um .ino.