Ingestão Ethernet com PIC18F67J60

Envie leituras do DS18B20 a partir de um PIC18F67J60 com a pilha TCP/IP da Microchip no MPLAB X e o mesmo relay HTTPS local do Uno.

Close de cabos Ethernet Cat-5e brancos com conectores RJ45
O JSON das sondas normalmente sai da rede local por Ethernet ou por um relay próximo, não direto pela internet pública. Foto: DiscDepotDundee.co.uk. CC BY-SA 4.0

O Microchip PIC18F67J60 tem MAC Ethernet e PHY 10BASE-T integrados. Este exemplo é C com MPLAB X + XC8 sobre a clássica Microchip TCP/IP Stack (demo Ethernet da MLA): nada de Arduino, Python ou Zephyr. O mesmo JSON de ingestão pelo relay HTTP→HTTPS na LAN.

A pilha MLA não traz um cliente HTTPS mantido para a Cloudflare. Deixe o MCU em HTTP para um relay em um Raspberry Pi ou NAS, no mesmo padrão do Uno + W5100 e do STM32 Zephyr.

Peças

Peças para uma sonda contra congelamento PIC18 com Ethernet
Peça Para quê Comprar
Placa PIC18F67J60 MAC + PHY + RJ45 integrados. PICkit / ICD para gravação. Microchip PIC18F67J60
DS18B20 à prova d’água Pino padrão do exemplo: RD0 (troque se a sua demo usar esse pino). Adafruit DS18B20 · Amazon
Resistor de 4.7kΩ Pull-up para o VDD de 1-Wire da placa (use conversor de nível se as E/S forem só de 5V). Amazon 4.7k
Ponto de rede DHCP ou IP estático na demo da MLA. Máquina do relay na mesma LAN. Cabo Cat5e até o seu switch.

Ligação

  • DS18B20 VDD → VDD lógico da placa (muitas vezes 3.3V; confira o esquema da demo)
  • DS18B20 GND → GND
  • Dados do DS18B20 → RD0, pull-up de 4.7k (edite as macros OW_* se precisar)
  • RJ45 → LAN. PICkit para gravação; UART para logs a 115200

Compilar e gravar

  1. Abra Dashboard → Devices e baixe PIC18 main.c (com o caminho de ingestão preenchido).
  2. Em uma máquina da LAN:
    python3 sketches/relay/push_https_forward.py --listen 0.0.0.0:8080 \
      --upstream https://probeharbor.dev
  3. Defina INGEST_HOST como essa máquina (IPv4 com pontos).
  4. Instale o MPLAB X + XC8. Abra uma demo Ethernet TCPIP da MLA para o PIC18F67J60, mantenha os fontes da pilha, adicione este módulo, chame ProbeHarborAppInit / ProbeHarborAppTask no loop principal da demo ao lado de StackTask(), compile e grave.
  5. UART a 115200: link/DHCP ok e depois POST pelo relay. A chave de sensor temp1 é importada no primeiro POST.

Pronto para usar no repositório: sketches/microchip/pic18f67j60_ds18b20_ingest/

Veja também

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 PIC18F67J60 pode enviar para o ProbeHarbor?
Sim. Código em C pronto para o MLA TCP/IP Stack no MPLAB X: MAC/PHY Ethernet integrado, DS18B20 no RD0, HTTP para o relay TLS na rede local. Guia: probeharbor.dev/about/pic18-ethernet-ingest.

Por que não usar HTTPS a partir do PIC?
O clássico Microchip TCP/IP Stack não traz um cliente HTTPS mantido para a Cloudflare. O relay na rede local mantém o microcontrolador em HTTP, igual ao Uno W5100 e ao STM32 Zephyr.

Isto é Arduino ou XC8?
XC8 / MPLAB X sobre a demo Ethernet do MLA. Não é um .ino do Arduino.