Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comanda Pic A Traves de Internet PDF
Comanda Pic A Traves de Internet PDF
Internet
Biblioman
Abril-2011
Comandar un PIC a travs de Internet
Introduccin
Conectar un Microcontrolador a una red Ethernet y recibir o enviarle instrucciones al
PIC desde una pgina WEB a travs del protocolo HTTP no es nada novedoso a estas
alturas. Para ello tenemos dos opciones; la primera es utilizar un controlador externo
que implementa ya todo lo necesario para la comunicacin Ethernet, el
Microcontrolador se conecta al mdulo Ethernet a travs de una interfaz como RS-232,
SPI, etc. En este grupo se encuentran dispositivos como: ENC28J60, ENC624J600,
Rabbit, EZ Web Lynx, SitePlayer, etc. La otra opcin es utilizar un Microcontrolador que
lleve ya integrado el controlador Ethernet, Microchip dispone de varios PICs con estas
caractersticas como el PIC18F67J60, PIC18f97J60, PIC32MX795FXXX, etc. Las ventajas
y desventajas de utilizar una opcin u otra son hasta cierto punto obvias, en el caso de
utilizar un mdulo externo puedes utilizar cualquier Microcontrolador para realizar
una aplicacin que enve y reciba datos desde Internet, al estar todo lo referente a la
comunicacin Ethernet en el mdulo externo, no necesitas implementar nada ms que
t aplicacin en el Microcontrolador y las funciones necesarias para el envo de datos
serie al controlador, con el consiguiente ahorro de recursos en el PIC, como
inconveniente lgicamente est el que tienes que utilizar un componente Hardware
ms en t circuito. Si se utiliza un Microcontrolador que incorpore el controlador
Ethernet te ahorras el tener que utilizar un componente extra para la gestin de la
comunicacin Ethernet, pero como inconvenientes tendrs que solo podrs utilizar un
nmero reducido de PICs en tus proyectos y que lgicamente tendrs que incluirle a t
cdigo el conjunto de libreras o Stack TCP/IP que suministre el desarrollador del
compilador que utilices y como estars suponiendo, si es que no las conoces ya, no son
nada livianas en cuanto a tamao , con el consiguiente consumo de recursos por
parte del PIC. En realidad dada la complejidad del Stack lo que se hace es adaptar t
aplicacin para que funcione dentro del conjunto de libreras TCP/IP.
Caractersticas Principales
Soporte para los siguientes protocolos de comunicacin: ARP, ICPM, IP, UDP,
TCP, DHCP.
Interfaz serie con un Baud Rate configurable entre 300 y 115.200 bits por
segundo.
768 bytes para los SiteObjetos (veremos ms adelante lo que es esto), los
cuales pueden ser del tipo bit, byte, integer, long y string.
Comenzando
Para empezar a trabajar con el SitePlayer lo primero que tenemos que tener adems
de disponer del dispositivo en s, es bajarnos las aplicaciones de escritorio y la
documentacin (muy completa) desde la pgina del fabricante NetMedia.
Desde la seccin de descargas nos bajaremos la versin completa que incluye el Site
Linker V1.1
Una vez instalado el paquete se nos habrn instalado varias aplicaciones, todas ellas
muy sencillas de utilizar: SitePlayerPCDemo, SiteLinker, Serial Port Tester y
UPDsendtest. Vamos hacer una pequea descripcin de cada una de ellas.
Serial Port Tester: como su propio nombre indica es una aplicacin que nos
permite testear la interfaz serie que incorpora el SitePlayer, adems desde ella
podemos ajustar determinados parmetros de configuracin en el SitePlayer
como la direccin IP del dispositivo, Obtener la direccin MAC, hacer un Reset,
Obtener o cambiar el valor de determinadas posiciones de memoria, etc.
o Make and DownLoad: har los dos pasos anteriores en uno, nos pedir
que seleccionemos un archivo de definiciones (.SPD), generar el
archivo binario (.spb) y lo cargar en el SitePlayer.
Hardware necesario
Modulo principal:
PCB:
Montaje terminado:
Ejemplo N1
2) Crear la o las pginas WEBS usando un editor HTML (podis utilizar cualquiera,
siempre que cumpla el estndar).
Archivo de Definiciones
;SECCIN DEFINICIONES
;SECCIN DE OBJETOS
org 0FF14h
led1 ds 1
org 0FF15h
led2 ds 1
org 0FF16h
led3 ds 1
org 0FF17h
pulsador1 ds 1
org 0FF18h
pulsador2 ds 1
Lo primero que observamos viendo el contenido del archivo es que se parece mucho a
un cdigo escrito en ensamblador, lo que va detrs del ; son comentarios. El cdigo
se puede dividir en tres secciones: seccin de definiciones, declaracin de Objetos y
una seccin de exportacin de ficheros.
Si no utilizamos un servidor DHCP para obtener la direccin IP, con este parmetro
asignaremos una IP fija a nuestro dispositivo. Si utilizamos la opcin del DHCP a ON,
tambin deberemos configurar una IP inicial con este parmetro.
Esta opcin es muy til cuando utilizamos el SitePlayer junto con un Microcontrolador.
Cada vez que desde la pgina WEB se modifique algn dato, el SitePlayer pondr a
La ruta que pongamos aqu ser donde se crear el archivo binario Ejemplo1.spb
despus de ensamblarlo con el programa SiteLinker.
Seccin de Objetos
Nota: se puede hacer un smil entre lo que es una variable y el concepto de Objeto en
el SitePlayer, pero como se ver ms adelante los SiteObjetos disponen de
modificadores y propiedades que los hacen diferentes a lo que es en s el concepto de
una variable.
Por ejemplo, desde la pgina WEB utilizando el protocolo http puedo hacer una
peticin de lectura o escritura de los objetos (variables) y desde la interfaz serie puedo
tambin leer o escribir en esos objetos.
Por ejemplo:
org 0FF14h
led1 ds 1
Declara el objeto led1 del tipo ds que es un tipo de dato que depende del espacio
usado (parecido al tipo Variant en Basic) el 1 indica que es tipo byte., si fuera un dos
sera de tipo Integer, etc. Este tipo de dato no admite un valor inicial para el objeto.
El org al igual que en ensamblador sirve para indicar a partir de que posicin de
memoria empezarn a guardarse los Objetos.
org 00h
led1 db 1
pulsador1 db 1
Como hemos comentado ya para crear la pgina WEB podemos utilizar un simple
editor de texto plano como el bloc de notas o ayudarnos de un editor de pginas WEB
ms avanzado como FrontPage, Dreamweaver u otro cualquiera, si utilizamos est
ltima opcin hay que tener en cuenta que aunque estos IDES son de gran ayuda para
el que no tiene mucha soltura en programar en este lenguaje de etiquetas como es el
html siempre tendremos que editar el cdigo generado por el Wizard y modificar
algunas cosas, vamos a ver que cosas son esas con el cdigo del ejemplo que estamos
viendo.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<body>
<div align="left">
</div>
<tr>
</tr>
<tr>
</tr>
<tr>
<div align="center"></div></td>
</tr>
<tr>
<div align="center"></div></td>
</tr>
<tr>
<td><p><strong>estable/strong></p>
<p><strong>Pulsador 2 = ^pulsador2</strong></p></td>
</tr>
</table>
<p> </p>
<p> </p>
</body>
</html>
De todo este cdigo y quitando el cdigo que le da formato a la pgina, lo que nos
interesa son las lneas que lleven cdigo como este:
div align="center"><a href="Ejemplo1.SPI?led1=led1~1">Toggle Led
1</a> <img src="led^led1.gif" width="40" height="20"
/></div>
Pulsador 2 = ^pulsador2
Location: /index.htm
<cr><lf>
Cmo accedo a los Objetos desde html? Pues debemos de poner el smbolo (^)
seguido del nombre del Objeto, en el ejemplo:
Pulsador 2 = ^pulsador2
^pulsador2 ser sustituido por el valor que tenga en memoria el Objeto pulsador2.
En este caso led1=led~1 le asigna al objeto led1 su valor negado, con lo que se
consigue el efecto Toggle en el led.
Y ahora Que..?
Pues ya tenemos todos los archivos que componen nuestro proyecto creados, nos
queda unificarlos en un nico archivo binario, para ello abrimos la aplicacin SiteLinker
hacemos clic sobre File-> Open y seleccionamos el archivo de definiciones que
habamos creado anteriormente (Ejemplo1.SPD). Una vez abierto hacemos clic sobre
Download -> Make Download File. Si todo ha ido bien en el cuadro de texto de la
aplicacin nos mostrar el tamao en bytes que ocupar el archivo en la memoria
Flash del dispositivo y un mensaje de que el archivo binario (Ejemplo1.SPB) se ha
creado correctamente.
Nota: si intentamos abrir directamente las pginas WEB creadas con el navegador, no
se mostrarn correctamente, ya que el navegador no sabr interpretar los smbolos
que son especficos y necesarios para el funcionamiento del servidor WEB del
SitePlayer.
http://www.youtube.com/watch?v=617ngsnmBeg
Ejemplo N2
Para conectarnos al servidor web del SitePlayer desde Internet a travs de una red
externa a nuestra red local (LAN) es necesario hacerlo por medio de nuestra IP
pblica. Esta IP es la que nos asigna nuestro proveedor de servicios de internet (ISP).
Puedes averiguar cul es t IP pblica a travs de diferentes pginas como esta:
http://www.adslayuda.com/ip.html
Otro problema que tendremos que resolver es que esa IP a no ser que la paguemos
no es fija sino dinmica, es decir cada vez que nuestra puerta de enlace
(normalmente un rooter) se reinicie, nuestro ISP nos asignar una IP pblica
diferente. Afortunadamente la mayora de los rooters que nos regalan las
empresas ISP cuando contratamos sus servicios nos dan la posibilidad de
conectarnos a un servidor DNS dinmico gratuito como dyndns, No-IP, ect. Esto lo
que hace es que una vez configurado el rooter cada cierto tiempo enva nuestra IP
pblica al servidor DNS y este actualizar la IP asociada al nombre de dominio. A
partir de ahora nosotros accederemos a la pgina a travs del nombre de dominio y
no tendremos que preocuparnos de que nuestra IP pblica haya cambiado.
Ejemplo:
<a href="Ejemplo2.SPI?com=ON">Marcha</a>
<a href="Ejemplo2.SPI?com=OFF">Parada</a>
Estos dos enlaces colocados en la pgina WEB enviaran por el puerto serie las
cadenas ON y OFF cuando pulsemos sobre los enlaces Marcha y Parada.
Si hay dos dgitos despus del smbolo (%) sern interpretados como
caracteres Hexadecimales.
65536- (1250000/baudrate)
putc(0x80);
putc(0x00);
putc(0x01);
http://www.youtube.com/watch?v=5Tz3a68AK94
Puedes comentar o seguir los avances sobre estos ejemplos en este hilo del foro de
AquiHayApuntes.com
Fuentes de Informacin
http://www.netmedia.com/siteplayer/webserver/sp1.html
http://www.superrobotica.com/S310265.htm
Marcas registradas
Las marcas citadas en este artculo as como las imgenes procedentes de capturas de
pantallas pertenecen a sus respectivos propietarios su utilizacin en este artculo es con fines
divulgativos y sin nimo de lucro.
Licencia
Versin: 1.0.0
Email: email.Biblioman@gmail.com
Este artculo esta bajo una licencia Creative Commons: Reconocimiento-No Comercial-
Compartir bajo la misma licencia.