Web server en LPC1769 ¿alguien consiguió levantar una página web

913 views
Skip to first unread message

Matias CAPEAR

unread,
Nov 30, 2012, 6:27:06 PM11/30/12
to embeb...@googlegroups.com

Estimados,
Estoy recorriendo el arduo camino de conseguir que funcione un webserver dentro del LPC1769, por el método que sea (FreeRTOS+uIP, o código directo).
Quisiera saber si alguien consiguió esto con éxito: usando la interfaz Ethernet, levantar una páginita web metida dentro del LPC desde un browser de una PC conectada a la misma red que el LPC.
Desde ya muchas gracias,
Matias

Alejandro Celery

unread,
Nov 30, 2012, 7:05:38 PM11/30/12
to embeb...@googlegroups.com
Mat�as, yo en su momento hice un engendro con FreeRTOS y C++ que usaba
uIP, CREO recordar que part� de alg�n ejempo de la p�gina de FreeRTOS
pero ya no lo recuerdo. Cuesti�n, te sugiero empezar por ah� y si no lo
logr�s puedo buscar mi c�digo. Lo que s� recuerdo es que el ejempo en
cuesti�n era justamente una paginita web, yo luego la modifiqu� para que
sea un simple socket TCP.

LwIP es mucho m�s "humano" de usar, no hay protothreads, protosockets,
protoboards ni nada por el estilo (si alguien de la lista tiene bien
claro ese entuerto y me quiere desasnar o me indica de d�nde leerlo,
estar� agradecido), el problema es que no encontr� todav�a un port
andando para el LPC17xx, y cuando lo intent� hacer llegu� a la misma
conclusi�n que vos.
Si vas a www.lpcware.com hay un port que dice ser para LPC 177x, imagino
que el perif�rico MAC es igual y podr�as intentar usarlo, cuando tenga
tiempo yo lo voy a encarar por ese lado.

Y si no das con ninguno de los dos, prob� con easyweb, es otro stack TCP
del que no se absolutamente nada pero mis alumnos de UTN han reportado
que "lo baj� y funcion� de una".

Saludos!

El 30/11/2012 08:27 p.m., Matias CAPEAR escribi�:
>
> Estimados,
> Estoy recorriendo el arduo camino de conseguir que funcione un
> webserver dentro del LPC1769, por el m�todo que sea (FreeRTOS+uIP, o
> c�digo directo).
> Quisiera saber si alguien consigui� esto con �xito: usando la interfaz
> Ethernet, levantar una p�ginita web metida dentro del LPC desde un
> browser de una PC conectada a la misma red que el LPC.
> Desde ya muchas gracias,
> Matias -- Recibiste este mensaje porque est�s suscripto al Grupo
> Google Embebidos32. Para postear en este grupo, escribe un email a
> embeb...@googlegroups.com. Para des-suscribirte, env�a un email a
> embebidos32...@googlegroups.com. Para m�s opciones, visita el
> sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es

Alejandro Celery

unread,
Dec 1, 2012, 10:35:11 AM12/1/12
to embeb...@googlegroups.com
Me alegraste el día! Andaba buscando algo así hace rato.
Con la API RAW te referís a la de eventos y callbacks? Me vendría de perillas.

Ahora la pregunta obligada: El mail Iojan... El nombre Sebastian... El apellido por casualidad Mastropiero?

Saludos!

El 01/12/2012 10:35 a.m., Iojan escribió:
Hola Matías,
Te recomiendo arrancar con el ejemplo "FreeRTOS+IO and FreeRTOS+CLI demo 2 functionality". Usa la API RAW de LwIP para levantar un servidor web muy simple. El server soporta CGI y SSI que, aunque sean un poco rudimentarios, son muy útiles.
Lo estoy usando como código base para un desarrollo en el laburo y me resultó muy bien organizado y sencillo de modificar. 
El sistema de archivos se genera con una aplicación externa (si no recuerdo mal se puede bajar del repositorio de LwIP).

Espero que te sirva para arrancar.

Saludos!

Sebastián.
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es

Sergio

unread,
Dec 1, 2012, 12:49:01 PM12/1/12
to embeb...@googlegroups.com
Hola Matias:
 
De hecho, usando cualquier stack de TCP/IP, no solo vas a poder levantar una pagina desde una PC conectada desde la misma red a la placa del LPC, sino que podrias acceder desde cualquier parte del mundo. Al fin y al cabo, este es el proposito del protocolo TCP/IP, verdad?
 
Con casi todos los ejemplos de LPC1769, viene un ejemplo llamado EasyWeb, el cual permite ver una pagina web. En realidad, este no es un servidor web real, sino un programa que simplemente espera una conexion TCP al puerto 80, y envia la pagina web. Es decir, no maneja el protocolo HTTP, sino solo el tcp. De todas formas, sirve como ejemplo y esta bueno para experimentar. El problema es que no te permitira colocar links o imagenes en la pagina web.
 
Estoy seguro que en www.lpcware.com hay ejemplos del lwIP (opensource) para el LPC1769 y otros. El tema es que si queres modificar algo o te encontras con algun problema de configuracion, no hay demasiada informacion para saber como funciona. Y es ahi donde veo la principal diferencia entre los distintos stacks disponibles. En general, todos funcionan, pero si no hay informacion, limitan el uso para el usuario que no conoce mucho del tema.
 
Por esa razon, hace varios años escribi un libro (en ingles) donde la idea era justamente explicar los detalles de implementacion de un Stack de TCP/IP. El libro viene con 13 laboratorios donde muestra como funciona cada una de las capas del protocolo. Podes ver los screenshots en esta direccion; 
 
 
Si bien el libro esta basado en un kit ya desactualizado, estoy terminando y seguramente lo publicare antes de fin de año, todos los ejemplos del libro para el IDE LPCXpresso y la placa LPC1769 (con la BaseBoard como opcional). Dado que el codigo fuente de los protocolos bases (ip, icmp, arp, udp, tcp, http, etc) esta protegido por los derechos del libro, solo estarian disponibles para el que compre el libro, pero para los que no lo tengan, aun permitira instalar los laboratorios y una libreria de modo que puedan ser usados en cualquier aplicacion, ya sea un demo o comercial. Una vez listo, voy a subir esta ultima version a
www.lpcware.com para quien lo desee bajar.
 
Adjunto un par de imagenes para que vean como se ve el browser con una "supuesta" aplicacion que se usa en el libro para partir como proposito de control a traves de internet. La otra imagen es de una aplicacion Windows, la cual muestra otra forma de controlar remotamente una aplicacion embebida, usando solo TCP o UDP, y no necesariamente el Browser. 
El libro tambien provee ejemplos para email (SMTP) y web services (consumiendo web services desde un embebido).
 
Espero que les sirva la informacion.
 
Atte;
Sergio Scaglia
book1.png
book2.png

Matias CAPEAR

unread,
Dec 2, 2012, 5:43:12 PM12/2/12
to embeb...@googlegroups.com
Alejandro, lohan y Sergio: muchas gracias por tomarse el tiempo de responder, no pensé que mi semilla germinaría tan rápido :)

Alejandro: no había oído del easyweb, será mi siguiente paso entonces. Si tengo algún éxito lo reportaré por aquí. Espero que sea así de sencillo como te dijeron porque lo de levantar una página es el paso 1 de N dentro del proyecto que estoy encarando y si cada uno se me va a complicar como este estoy fritanga!

lojan: el ejemplo que propones es lo primero que intenté y me pasé tanto tiempo tratando de hacerlo andar que lo descarté. Básicamente le configuré una dirección IP y máscara compatible con el host de prueba y traté de levantar una página y nada (intenté tanto desde un switch como por un cable cruzado, sin firewalls de por medio ni nada: CERO paquetes recibidos). Si tengo que ponerme a leer y entender el código del lwIP para hacer un seguimiento de la falla, casi que me sería mas facil programar mi propio stack :))  (escribir código es mucho más fácil que leerlo).

Sergio: Muy buenos datos! en especial, saber que recibir una página web no implica manejo de http, así que esto evitará que me vuelva loco cuando por fin levante la simple paginita con texto plano. Por ahora, con obtener una simple respuesta a un PING estaría más que conforme para empezar.  En lpcware no hay tantos ejemplos como imaginás y lo poco que hay adjunta mínima info. Probaré con easy web y en cuanto al libro, si sale antes de fin de año seré un seguro comprador ¿implementa un stack tuyo o se maneja con alguno conocido? ¿libre o pago? Me interesa porque de hecho conozco bastante bien "en teoría" el funcionamiento del caballito IP y sus diversos jinetes.... pero si hay que ponerlo en código 'e otro cantar :D...

Continuaré entonces por el lado del easyweb y luego reporto. Cualquier info adicional que quieran aportar, más que bienvenida!
Salud

Matías

Sebastián Fernandez

unread,
Dec 3, 2012, 9:06:06 AM12/3/12
to embeb...@googlegroups.com
Alejandro, la API es esa misma. Realmente el ejemplo me ahorro muchísimo tiempo.
El seudónimo "Iojan" viene por ahí :) Me paso a mi nombre real así no quedo poco serio...

Matías, me resulta raro que no haya funcionado, a mi me salió andando en la primer prueba (de hecho también por eso quedó como mi código base). El stack lwIP funciona correctamente y no necesité estudiarlo a fondo, solo tuve que indagar un poco más para poder cambiar la configuración IP desde una pagina web de configuración del dispositivo que implementé.
No tendrás un problema en el hardware? pudiste hacer andar el puerto ethernet con algún otro ejemplo? No especificaste que placa estás usando. Tené en cuenta que la interfaz física (PHY) que utilizan en el ejemplo que pasé es una LAN8720 que viene en la placa LPCxpresso, si tu placa tiene otro integrado hay que hacer algunas modificaciones al driver.

Saludos!

ignacio zaradnik

unread,
Dec 3, 2012, 1:30:41 PM12/3/12
to embeb...@googlegroups.com
·        INGENIERO DE APLICACIÓN-PRODUCTO (Ref.: IAP)
 
Ingeniero electrónico o estudiante avanzado últimos años Ingeniería Electrónica
Nivel básico de inglés técnico oral y escrito
Desarrollo de circuitos digitales y analógicos
Desarrollos con Microcontroladores hardware y software (lenguajes  C y ASM)
Diseño de circuitos impresos
Asistencia técnica y capacitación a vendedores y clientes
Experiencia mínima de 3 años realizando tareas similares
 
 
·        ASISTENTE DE VENTAS (Ref.: AVF)
 
Técnico electrónico
Nivel medio de inglés técnico oral y escrito
Buen manejo de herramientas de Office
Administración de página WEB institucional
Buen Manejo de redes sociales
Manejo de catálogos de distribuidores
Seguimiento de Ordenes de compra con clientes internos (fuerza de ventas)
Comunicación Básica con proveedores del exterior.
Experiencia mínima de 6 meses realizando tareas similares
 
 
·        VENDEDOR MOSTRADOR (Ref: VMM)
 
Técnico electrónico o estudiante de Ingeniería Electrónica
Aptitud y perfil comercial (excluyente)
Nivel básico de inglés técnico oral y escrito
Venta de componentes electrónicos
Experiencia mínima de 1 año realizando tareas similares
 
 
 
 
Los interesados deberán enviar CV por email a rr...@electrocomponentes.com , indicando referencia en el asunto, y remuneración pretendida. 
Reply all
Reply to author
Forward
0 new messages