“Desarrollo de aplicaciones para la conectividad IP de microcontroladores”. Trabajo de título de Pablo Hernán Naveas Farías, como requisito parcial para optar al título de Ingeniero Civil Electrónico, mención Computadores. Departamento de Electrónica
56
Embed
“Desarrollo de aplicaciones para la conectividad IP de ...lsb/elo325/clases/ExamenPablo Naveas.pdf · microcontroladores”. ... 3 Introducción ... Teléfonos celulares. Equipos
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
“Desarrollo de aplicaciones para la conectividad IP de microcontroladores”.
Trabajo de título de Pablo Hernán Naveas Farías, como requisito parcial para optar al título de
Conectividad de estos dispositivos:Obtención y transferencia de información.Control y configuración en forma remota.
Maneras de conectar estos dispositivos a la red:
Solución por hardware.
http://www.lantronix.com
5
Introducción
Implementación de protocolos en el dispositivo:
Programar stack TCP/IP.Ocupar proyectos open source (uIP, lwIP).Adquirir la solución por software.
“En el 2010, el 95% de los sistemas conectados a Internet serán embebidos, no PCs...”
6
Objetivos
Programar aplicaciones de red para la tarjeta Easyweb.
Desarrollar aplicaciones que permitan el control y el monitoreo del estado de la tarjeta desde un PC.
7
Tarjeta Easyweb
• LCD de 16 x 2 caracteres.• Cuatro pulsadores.• 2 salidas activadas por relé.• Un buzzer.• 1 LED de propósito general.• Un conector para los pines JTAG del
microcontrolador.• Conector P6 (ADC12).
Interfaz de red:• Un controlador de red CS8900A de Cirrus
Logic, con sus componentes externos.
MSP430 F149 más:
8
Interfaz de red: conexión MSP430 a controladora de red CS8900.
Datos
Direccionamiento
IOR
/
IOW
uCCS8900
9
Interfaz de red: conexión CS8900 a componentes externos.
Conector RJ- 45
Transformador de aislación de pulsos
Link / Data Leds
10
Interfaz de red: packet driver y stackTCP/IP.
Se escogen:cs8900a.c (packet driver).Stack uIP.
Programados en C.Código abierto.Portados a la tarjeta Easyweb.
11
Interfaz de red: packet driver y stackTCP/IP.
Interacción uIP con packet driver :
Inicialización (cs8900a_init())
Envío de datos (cs8900a_send())
Verificación de llegada de nuevos paquetes (cs8900a_poll())
12
Interfaz de red: packet driver y stackTCP/IP.
Stack TCP/IP: uIP.Múltiples conexiones TCP/IP.
Detección de errores.
Permite paquetes fragmentados.
Tiene soporte para datagramas UDP.
13
Para programar una aplicación, ¿quéarchivos se deben incluir al proyecto?
+ main.c
Packet driver
Inicializaciones más Loop control
Stack TCP/IPAlg. Checksum.ARP
Aplicación a programar+ aplicacion.c
14
Aplicaciones de red desarrolladas (1).
Conexión de la tarjeta a la red
15
Uso de la API del stack uIP.
uIP invoca periódicamente a una función de la aplicación: UIP_APPCALL.
La API de uIP define el modo en que la aplicación interactúa con las funciones del stack:
Manejo de conexiones.Recepción y envío de datos.
16
Aplicaciones de red desarrolladas.
Desarrollo de primera aplicación y programación de cliente TCP/IP (1):
Aplicación simple -> “msp430”Configuración opciones ->uipopt.hDefinición de la función invocada periódicamente
Tercera Aplicación (3):Cliente de correo para el envío de e-mail.Protocolo cliente – servidor SMTP
Se analizan datos recibidos para elaboración de respuesta.
28
uip_connect(,)
connected()
newdata(),
senddata()
acked()
29
Aplicaciones de red desarrolladas (3).
30
Aplicaciones de red desarrolladas.
Cliente TCP/IP con GUI (4):
Control en forma remota del estado de la tarjeta.Desarrollo de una interfaz gráfica para la clase programada.
31
Aplicaciones de red desarrolladas (4).
Control en forma remota de la tarjeta Easyweb: Cliente TCP/IP con GUI.
Interfaz de desarrollo de aplicación GUI
32
33
Aplicaciones de red desarrolladas (4).
Control en forma remota de la tarjeta Easyweb:
34
Aplicaciones de red desarrolladas (4).
Cliente TCP/IP con GUI:
Escalable (agregar componentes).
Requerimientos (Java, plugins Swing –AWT).
Interfaz más ‘universal’ -> Web
35
Aplicaciones de red desarrolladas.
Conectividad web:uIP contiene la implementación de un servidor web (fs.c, cgi.c, httpd.c)Recursos de memoria -> escasosPoca flexibilidad en el mantenimiento de la aplicación.Función de un microcontrolador: adquirir y procesar datos, controlar procesos.
Control simultáneo de dos o más tarjetas?Aplicación web final (7):-> un Bean y una página JSP por tarjeta.-> cambio página de bienvenida, la conexión se
realiza desde la página de control.
DEMO
49
Conclusiones
Documentación del proceso de diseño de aplicaciones de red con stack uIPpara tarjeta Easyweb.Documentación del desarrollo de aplicaciones de red en Java.Nuevo esquema para la conectividad web de la tarjeta Easyweb.
50
Trabajos Futuros
Seguridad.
Red de microcontroladores.
Programación del microcontrolador vía interfaz web.
“Desarrollo de aplicaciones para la conectividad IP de microcontroladores”.
Trabajo de título de Pablo Hernán Naveas Farías, como requisito parcial para optar al título de
Estados conexión TCP./* The TCP states used in the uip_conn->tcpstateflags. */#define CLOSED 0#define SYN_RCVD 1#define SYN_SENT 2#define ESTABLISHED 3#define FIN_WAIT_1 4#define FIN_WAIT_2 5#define CLOSING 6#define TIME_WAIT 7#define LAST_ACK 8#define TS_MASK 15