Ingesta Ethernet con PIC18F67J60

Envía lecturas DS18B20 desde un PIC18F67J60 con la pila TCP/IP de Microchip en MPLAB X y el mismo relay HTTPS en la LAN que el Uno.

Primer plano de cables Ethernet Cat-5e blancos con conectores RJ45
El JSON de las sondas suele salir de la LAN por Ethernet o por un relay cercano, no directamente a internet. Foto: DiscDepotDundee.co.uk. CC BY-SA 4.0

El Microchip PIC18F67J60 tiene MAC Ethernet y PHY 10BASE-T integrados. Este ejemplo es C con MPLAB X + XC8 sobre la clásica Microchip TCP/IP Stack (demo Ethernet de MLA): ni Arduino, ni Python, ni Zephyr. El mismo JSON de ingesta a través del relay HTTP→HTTPS en la LAN.

La pila MLA no incluye un cliente HTTPS mantenido para Cloudflare. Deja el MCU en HTTP hacia un relay en una Raspberry Pi o un NAS, con el mismo patrón que Uno + W5100 y STM32 Zephyr.

Componentes

Componentes para una sonda antiheladas PIC18 con Ethernet
Componente Para qué Comprar
Placa PIC18F67J60 MAC + PHY + RJ45 integrados. PICkit / ICD para grabar. Microchip PIC18F67J60
DS18B20 resistente al agua Pin por defecto del ejemplo: RD0 (cámbialo si tu demo lo usa). Adafruit DS18B20 · Amazon
Resistencia de 4.7kΩ Pull-up al VDD de 1-Wire de la placa (usa un adaptador de nivel si las E/S son solo de 5V). Amazon 4.7k
Toma Ethernet DHCP o IP estática en la demo de MLA. El equipo del relay en la misma LAN. Cable Cat5e hasta tu switch.

Cableado

  • DS18B20 VDD → VDD lógico de la placa (a menudo 3.3V; consulta el esquema de la demo)
  • DS18B20 GND → GND
  • Datos del DS18B20 → RD0, pull-up de 4.7k (edita las macros OW_* si hace falta)
  • RJ45 → LAN. PICkit para grabar; UART para los registros a 115200

Compilar y grabar

  1. Abre Dashboard → Devices y descarga PIC18 main.c (con la ruta de ingesta ya incluida).
  2. En un equipo de la LAN:
    python3 sketches/relay/push_https_forward.py --listen 0.0.0.0:8080 \
      --upstream https://probeharbor.dev
  3. Pon en INGEST_HOST la IP de ese equipo (IPv4 con puntos).
  4. Instala MPLAB X + XC8. Abre una demo Ethernet TCPIP de MLA para PIC18F67J60, conserva los fuentes de la pila, añade este módulo, llama a ProbeHarborAppInit / ProbeHarborAppTask desde el bucle principal de la demo junto a StackTask(), compila y graba.
  5. UART a 115200: enlace/DHCP ok y después POST a través del relay. La clave de sensor temp1 se importa con el primer POST.

Listo para usar en el repositorio: sketches/microchip/pic18f67j60_ds18b20_ingest/

Relacionado

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 PIC18F67J60 puede enviar datos a ProbeHarbor?
Sí. C listo para usar con la pila TCP/IP de MLA en MPLAB X: MAC/PHY Ethernet integrado, DS18B20 en RD0, HTTP hacia el relé TLS de la red local. Guía: probeharbor.dev/about/pic18-ethernet-ingest.

¿Por qué no HTTPS desde el PIC?
La pila TCP/IP clásica de Microchip no incluye un cliente HTTPS mantenido para Cloudflare. El relé local mantiene el microcontrolador en HTTP, igual que Uno W5100 y STM32 Zephyr.

¿Es Arduino o XC8?
XC8 / MPLAB X sobre la demo Ethernet de MLA. No es un .ino de Arduino.