ENC28j60 Se necesita interfaz ethernet con PIC18F4520

0

Soy un novato en el controlador ethernet. Necesito usar el controlador de Ethernet para enviar datos de sensores a nuestro servidor utilizando el método http get. También revisé la documentación ENC28j60 y la pila TCP / IP de microchip. Pero no pude encontrar un ejemplo adecuado similar a mi proyecto.

informando mi solicitud a continuación.

PIC18F4520 leerá algunos datos del sensor y los enviará al servidor cada 3 minutos. por ejemplo, los datos del sensor son voltaje, corriente, temperatura, etc. Debería enviar estos datos utilizando el método GET de http a una URL como abc.com/index.php/add/add_data?volt=dc_volt&current=dc_cur&temp=temp. Donde dc_volt, dc_cur y temp son los valores medidos en el microcontrolador. ¿Cómo puedo hacer esto usando una interfaz Ethernet? Al menos, ¿cuáles son las cosas que debería aprender a hacer esto? ¿Puedo hacer esto con la pila TCP / IP de Microchip?

cualquier ayuda es apreciada.

Gracias

    
pregunta Vishnu.P

3 respuestas

5

Sí, esto es posible con TCP/IP stack . Creo que no debería saltar directamente a leer algunos datos del sensor y enviarlos al servidor cada 3 minutos, en su lugar, intente crear la aplicación de demostración provista por Microchip y acceder a su página web (o su propia página).

Microchip proporciona TCP/IP library que se incluye en Microchip Application Libraries v2013-06-15 (MAL) . Descargue e instale MAL en su sistema. Cree el TCP/IP demo app y cárguelo en su MCU. Conecte el cable LAN entre ENC28J60 y su PC. Si todo salió bien, entonces puede abrir el TCP/IP Discoverer Tool que se encuentra en C:\microchip_solutions_v2013-06-15\Microchip\TCPIP Stack\Utilities , para obtener la dirección IP. Ingrese la dirección IP en su navegador y podrá acceder a su página web predeterminada.

Lo siguiente que debes hacer es crear tu propia página web y colocar todos los archivos web dentro de la carpeta de páginas web. Así que la próxima vez que ingrese la dirección IP en el navegador, se abrirá su página web. En el código, tendrá que poner algunas variables dinámicas para obtener y publicar datos en su página web. No puedo explicar todo aquí. Pero puedes leer los tutoriales a continuación que incluyen todo lo que deseas.

Parte 1: Monitoreo basado en la web

Parte 2: Control basado en la web

Parte 3: Control avanzado basado en la web

Puede ver estos tutoriales en video para una explicación paso a paso tutorial1 tutorial2 tutorial3

    
respondido por el Aircraft
0

HTTP no es un protocolo "push". Normalmente, su cliente Windows / Linux / OSx usaría un método GET para obtener los datos del PIC18F4520. La pila TCP / IP de Microchip responderá a las solicitudes GET.

La pila TCP / IP de Microchip no incluye un navegador web como IE o FireFox o Safari, que envía solicitudes GET. No hay nada en la pila para enviar solicitudes GET.

Puede modificar la pila para enviar cualquier cosa en cualquier momento, y puede escribir un cliente Windows / Linux / OSx para escuchar lo que sus sensores están enviando, pero eso requiere más trabajo que simplemente usar la pila TCP / IP de Microchip.

Un método simple sería usar algo como CURL para enviar una solicitud GET a la parte de Microchip. La pila de Microchip puede comprender las solicitudes GET, y se proporcionan ejemplos que muestran que responde con diferentes tipos de datos. solo necesita conectar su sensor a una variable, de modo que la pila tenga un valor para enviar en la respuesta.

    
respondido por el david
0

Teniendo en cuenta que eres un "novato", creo que deberías mantenerlo simple. El ENC28J60 es un controlador Ethernet complejo y de bajo nivel. Si Microchip proporciona un controlador para eso, es genial, ¡pero no me gustaría escribir uno!

Considere usar algo como un módulo WIZnet que le permita enviar paquetes TCP directamente. Allí se hace mucho más y escribir un cliente HTTP es relativamente simple.

Incluso considera usar una Raspberry Pi para algo como esto. ¡Puede simplemente escribir scripts de shell para leer los datos y enviarlos a un servidor web! Esa cosa es realmente increíble.

A menos que esté tratando de aprender algo acerca de las piezas de Microchip, no se sienta mal por usar estos componentes increíbles y baratos que están disponibles.

    
respondido por el Daniel

Lea otras preguntas en las etiquetas