Está en la página 1de 26

Comandar un PIC a travs de

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.

En mi opinin el uso de un controlador externo es una manera fcil y sencilla de


conectar un Microcontrolador o cualquier otro dispositivo a una red Ethernet pero
difiere bastante en cuanto al desarrollo del cdigo de la aplicacin si en vez de ello
utilizamos un Microcontrolador con el controlador Ethernet incluido y por tanto no se
puede comparar una cosa con la otra.

En este artculo vamos a ver como utilizar un controlador Ethernet externo


concretamente el SitePlayer SP1 que fabrica la empresa NetMedia. Algunas de sus
caractersticas son las siguientes:

Biblioman http://www.aquihayapuntes.com Pgina 2


Comandar un PIC a travs de Internet

Caractersticas Principales

Servidor WEB completo en un mdulo de reducido tamao (22x33mm), cuyo


cerebro es tan solo un Microcontrolador de 8 bits concretamente el 89C51 de
Philips al que se le ha aadido una interfaz Ethernet.

Dispone de un puerto de 8 pines que permite su conexin directa a circuitos de


entrada y salida, tambin pueden configurarse cuatro PWMs o DACs de 8 bits,
generadores de frecuencia, o contadores de eventos.

El dispositivo cumple con el estndar 10BaseT con correccin automtica de la


polaridad por hardware.

64 KBites de memoria flash de los cuales 48 KBites estn disponibles para


albergar las pginas web, cuya carga se hace va Ethernet.

El Firmware del dispositivo es actualizable va Ethernet.

Soporte para los siguientes protocolos de comunicacin: ARP, ICPM, IP, UDP,
TCP, DHCP.

La IP del dispositivo la podemos configurar de forma esttica o de forma


dinmica a travs de un servidor DHCP.

Interfaz serie con un Baud Rate configurable entre 300 y 115.200 bits por
segundo.

Controles .OCX para facilitar la creacin de aplicaciones de escritorio en Visual


Basic, Java, C C++ y para el monitoreo y control remoto del SitePlayer.

768 bytes para los SiteObjetos (veremos ms adelante lo que es esto), los
cuales pueden ser del tipo bit, byte, integer, long y string.

Las pginas web que posteriormente se alojarn en el SitePlayer deben de


cumplir el estndar HTML y se pueden crear por medio del bloc de Notas o con
cualquiera de los mltiples programas del tipo WYSIWYG que existen como
FrontPage, Dreamweaver, etc.

La conexin del dispositivo a una red Ethernet se realiza a travs de un


conector RJ-45 apantallado con filtros para evitar interferencias.

Biblioman http://www.aquihayapuntes.com Pgina 3


Comandar un PIC a travs de Internet

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.

La conexin al SitePlayer se realiza a travs de un puerto serie libre que


tengamos en nuestro ordenador y un convertidor de niveles como el MAX232
para adaptar los niveles TTL en los que trabaja el SitePlayer a la norma RS232
requerida por el PC.

Biblioman http://www.aquihayapuntes.com Pgina 4


Comandar un PIC a travs de Internet

SitePlayerPCDemo: es un emulador software del SitePlayer y nos permite


depurar nuestro proyecto, antes de descargarlo definitivamente en el
SitePlayer. En si es un servidor WEB local que nos permite visualizar en el
navegador las pginas tal y como si lo estuviramos haciendo realmente a
travs del SitePlayer.

Biblioman http://www.aquihayapuntes.com Pgina 5


Comandar un PIC a travs de Internet

SiteLinker: un proyecto para el SitePlayer no consta slo de los archivos en


html de las pginas que queremos cargar en l, adems hay que crear otra serie
de archivos como el archivo de definiciones (.SPD) y otros, que veremos en un
ejemplo ms adelante. Pues bien el SiteLinker tiene dos funciones, la primera
es enlazar todos esos archivos en un solo archivo binario y que tendr de
extensin (.SPB) este ser el archivo que hay que cargar en el SitePlayer y que
se transferir a l va Ethernet a travs de este mismo programa.

Como se ve en la figura de arriba si hacemos clic sobre la pestaa Download tenemos


tres opciones:

o Make DownLoad: solamente har el linkado de los archivos y generar


el archivo binario con extensin (.spb).

o Download SitePlayer: enviar al SitePlayer va Ethernet el archivo


binario que seleccionemos.

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.

Biblioman http://www.aquihayapuntes.com Pgina 6


Comandar un PIC a travs de Internet

UDPsendtest: el SitePlayer tambin tiene la funcionalidad de poder enviar


mensajes UDP a cualquier combinacin de direcciones MAC/IP que queramos.
Est aplicacin permite visualizar los paquetes UDP enviados por el SitePlayer.

Hardware necesario

El SitePlayer aunque pocos, necesita componentes auxiliares para ponerlo en


funcionamiento. Podemos adquirir una placa de demostracin ya hecha o hacerla
nosotros mismos, tambin se puede realizar el montaje en una Proto-Board, yo he
optado por la realizacin de una pequea placa modular.

Biblioman http://www.aquihayapuntes.com Pgina 7


Comandar un PIC a travs de Internet

Modulo principal:

Biblioman http://www.aquihayapuntes.com Pgina 8


Comandar un PIC a travs de Internet

PCB:

Montaje terminado:

Biblioman http://www.aquihayapuntes.com Pgina 9


Comandar un PIC a travs de Internet

Mdulo para la conexin serie a un PC:

Biblioman http://www.aquihayapuntes.com Pgina 10


Comandar un PIC a travs de Internet

Conexin serie del SitePlayer a un PC

Ejemplo N1

Ahora que ya tenemos nuestro SitePlayer montado y leda la documentacin del


fabricante ya estamos listos para realizar el primer ejemplo. Que consistir en la
realizacin de una pgina WEB realizada en HTML y que alojaremos en el SitePlayer,
despus desde un navegador WEB instalado en un PC accederemos a dicha pgina, la
cual permitir el control del puerto de I/O del SitePlayer.

La aplicacin una vez terminada quedar segn se muestra en la figura de abajo.

Biblioman http://www.aquihayapuntes.com Pgina 11


Comandar un PIC a travs de Internet

Desde la pgina web mostrada a la izquierda de la imagen de arriba podremos poner a


ON/OFF tres salidas digitales representadas por tres diodos Leds, tambin podremos
visualizar el estado de los dos pulsadores colocados sobre la proto-Board.

Para la realizacin de cualquier proyecto con el SitePlayer deberemos de realizar los


siguientes pasos:

1) Crear el archivo de definiciones de nuestro proyecto (.SPD) con el bloc de Notas


u otro editor de texto plano.

2) Crear la o las pginas WEBS usando un editor HTML (podis utilizar cualquiera,
siempre que cumpla el estndar).

3) Ensamblar todo en nico archivo binario (.SPB) y descargarlo en el SitePlayer a


travs del programa SiteLinker.

4) Acceder a la pgina cargada en el SitePlayer a travs de un navegador WEB.

Biblioman http://www.aquihayapuntes.com Pgina 12


Comandar un PIC a travs de Internet

Archivo de Definiciones

El archivo de definiciones para nuestro primer ejemplo es el siguiente:


;Ejemplo1

;SECCIN DEFINICIONES

;Nombre o descripcin del dispositivo


$Devicename "AquiHayApuntes.com"

;$DHCP on establece que el SitePlayer obtenga la IP a travs de un


;servidor DHCP
$DHCP off

;$DownloadPassword password para poder descargar nuevas pginas y


;actualizaciones del firmware.
$DownloadPassword ""

;$InitialIP Parmetro para configurar una IP fija


$InitialIP "192.168.1.250"

;$PostIRQ on genera un nivel bajo (IRQ) en el pin 11.


$PostIRQ off

;$Sitefile ruta donde se crear el archivo binario con extensin .SPB


$Sitefile "C:\Program Files\SitePlayer\Ejemplo1.spb"

;$Sitepath Directorio raz donde est alojada la pgina WEB


$Sitepath "C:\Program Files\SitePlayer\Ejemplo1"

;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

;SECCIN EXPORTACIN DE FICHEROS

;No utilizada en este ejemplo.

Biblioman http://www.aquihayapuntes.com Pgina 13


Comandar un PIC a travs de Internet

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.

En la seccin de definiciones se establecen los parmetros inciales del SitePlayer, hay


muchas opciones de configuracin (estn todas explicadas en el manual de referencia),
aqu vamos a comentar las utilizadas en este ejemplo:
;$Nombre o descripcin del dispositivo
$Devicename "AquiHayApuntes.com"

Este parmetro es equivalente al nombre de un PC que le ponemos para identificarlo


dentro de una red local. El nombre puede ser una cadena de hasta 64 caracteres.

;$DHCP on establece que el SitePlayer obtenga la IP a travs de un


;servidor DHCP
$DHCP off

Si nuestro Router dispone de servidor DHCP entonces la IP del dispositivo se la dar el


Rooter dentro de las que tenga libres en el rango definido por nosotros.

Nota: la mayora de los Modem-Rooter que proporcionan gratuitamente los


proveedores de servicios de Internet llevan incorporado este servicio).

;$DownloadPassword password para poder descargar nuevas pginas y


;actualizaciones del firmware.
$DownloadPassword ""

En este caso la contrasea est en blanco, se puede especificar una contrasea de


hasta 16 caracteres. Si tenemos establecida una contrasea el SiteLinker nos pedir la
contrasea antes de poder cargar una nueva pgina.

;$InitialIP Parmetro para configurar una IP fija


$InitialIP "192.168.1.250"

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.

;$PostIRQ on genera un nivel bajo (IRQ) en el pin 11.


$PostIRQ off

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

Biblioman http://www.aquihayapuntes.com Pgina 14


Comandar un PIC a travs de Internet

nivel bajo el PIN 11 durante cinco microsegundos, cuando este parmetro lo


configuremos a ON podremos conectar ese PIN a la patilla RB0 del PIC configurado
como interrupcin externa, de esa manera el Microcontrolador no estar
constantemente preguntando el valor de los datos al dispositivo, solo lo har cuando
haya datos nuevos que leer en el SitePlayer.

;$Sitefile ruta donde se crear el archivo binario con extensin .SPB


$Sitefile "C:\Program Files\SitePlayer\Ejemplo1.spb"

La ruta que pongamos aqu ser donde se crear el archivo binario Ejemplo1.spb
despus de ensamblarlo con el programa SiteLinker.

;$Sitepath Directorio raz donde est alojada la pgina WEB


$Sitepath "C:\Program Files\SitePlayer\Ejemplo1"

Tendremos que crear la carpeta Ejemplo1 en el directorio indicado y dentro de esa


carpeta es donde tendremos que guardar nuestra pgina WEB que puede constar de
varias pginas html unidas mediante enlaces.

Seccin de Objetos

Aqu es donde est el Kit de la cuestin. El SitePlayer dispone de unas direcciones de


memoria que van desde la 0000h a 02FFh donde se pueden guardar objetos definidos
por nosotros y acceder a su valor a travs de diferentes interfaces y protocolos.

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.

Biblioman http://www.aquihayapuntes.com Pgina 15


Comandar un PIC a travs de Internet

El org al igual que en ensamblador sirve para indicar a partir de que posicin de
memoria empezarn a guardarse los Objetos.

Veamos otro ejemplo:

org 00h
led1 db 1
pulsador1 db 1

Aqu el valor del Objeto led1 se guardar en la direccin 0x00h y pulsador1 en la


direccin 0x01h. El dato es de tipo byte (db) y el 1 tiene un significado diferente al
ejemplo anterior, en este caso significa el valor inicial que tomar la variable.

Seccin de Exportacin de Ficheros

No utilizada en este ejemplo. Define cmo y dnde se exportar cualquier fichero


durante el proceso de linkado. til cuando los datos se tienes que exportar a
aplicaciones de escritorio hechas en Visual Basic, C, C++, etc.

Nota: Una vez creado el archivo de definiciones lo guardamos con el nombre


Ejemplo1.SPD, (no olvidarse de modificar la extensin del archivo).

Creacin de la pgina WEB en html

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.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Documento sin t&iacute;tulo</title></head>

Biblioman http://www.aquihayapuntes.com Pgina 16


Comandar un PIC a travs de Internet

<body>

<div align="left">

<p><img src="logo.jpg" width="300" height="85" /></p>

</div>

<table width="309" border="1">

<tr>

<th colspan="2" bgcolor="#0066FF" scope="col">Contol E/S Site


Player</th>

</tr>

<tr>

<td width="124" rowspan="3" bgcolor="#99CC00"><div


align="center"><strong>Salidas Digitales</strong></div></td>

<td bgcolor="#FFFFFF"><div align="center"><a href="Ejemplo1.SPI


?led1=led1~1">Toggle Led 1</a>&nbsp;&nbsp;<img src="led^led1.gif"
width="40" height="20" /></div></td>

</tr>

<tr>

<td bgcolor="#FFFFFF"><div align="center"><a href="Ejemplo1.SPI


?led2=led2~1">Toggle Led 2</a>&nbsp;&nbsp;<img src="led^led2.gif"
width="40" height="20" /></div>

<div align="center"></div></td>

</tr>

<tr>

<td bgcolor="#FFFFFF"><div align="center"><a href="Ejemplo1.SPI


?led3=led3~1">Toggle Led 3</a> &nbsp;&nbsp;<img src="led^led3.gif"
width="40" height="20" /></div>

<div align="center"></div></td>

</tr>

<tr>

<td bgcolor="#CCFF00"><p align="center"><strong>Entradas


Digitales</strong></p> </td>

<td><p><strong>estable/strong></p>

Biblioman http://www.aquihayapuntes.com Pgina 17


Comandar un PIC a travs de Internet

<p><strong>Pulsador 2 = ^pulsador2</strong></p></td>

</tr>

</table>

<p>&nbsp;</p>

<p>&nbsp;</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>&nbsp;&nbsp;<img src="led^led1.gif" width="40" height="20"
/></div>

Pulsador 2 = ^pulsador2

El fabricante nos da la posibilidad de poder enviar o recibir datos al SitePlayer desde la


pgina web de varias formas. Por ejemplo podemos utilizar el mtodo GET desde un
formulario y tambin podemos como en este caso enviar o recibir datos a travs de un
enlace. Para establecer un enlace en HTML necesitamos un destino en este caso el
destino es el archivo Ejemplo1.SPI que tendremos que crear y guardar en el directorio
raz que hayamos elegido en la creacin del proyecto. El contenido de este archivo es
el siguiente:

HTTP/1.0 302 Found

Location: /index.htm

<cr><lf>

Y para lo nico que sirve es para hacer un re direccionamiento a la pgina index.htm


con la informacin actualizada. Es muy importante no olvidarse de dejar una lnea en
blanco al final del fichero, si no lo hacemos no funcionar.

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.

Biblioman http://www.aquihayapuntes.com Pgina 18


Comandar un PIC a travs de Internet

Y la parte del cdigo html que modifica el valor de un Objeto es esta:

<a href="Ejemplo1.SPI?led1=led1~1">Toggle Led 1</a>

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.

Probando nuestro proyecto

En teora ya tenemos nuestro proyecto listo para cargarlo en el SitePlayer, pero no


sabemos si funciona correctamente, para depurar nuestro programa de posibles
errores disponemos del programa SitePlayerPCDemo que ya habamos visto
anteriormente. Para ello abrimos la aplicacin y hacemos clic en File->Open y
seleccionamos el archivo Ejemplo1.SPB, despus hacemos clic sobre Browser para que
se nos habr el navegador y podamos probar nuestra aplicacin.

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.

Cargando nuestra aplicacin en el SitePlayer


Una vez probada nuestra aplicacin en local solo nos queda transferir el archivo
binario al SitePlayer, para ello abrimos de nuevo la aplicacin SiteLinker pulsamos
sobre Download->Download SitePlayer y descargamos el archivo Ejemplo1.SPB a la
memoria Flash del Site player. Si todo ha ido bien podremos abrir el navegador y

Biblioman http://www.aquihayapuntes.com Pgina 19


Comandar un PIC a travs de Internet

acceder a la pgina WEB a travs de la IP que hayamos definido previamente en el


archivo de definiciones.

Aqu tenis un vdeo de la aplicacin funcionando.

http://www.youtube.com/watch?v=617ngsnmBeg

Ejemplo N2

En este segundo ejemplo utilizaremos la interfaz serie para conectar un


Microcontrolador (PIC18F4550) a una red Ethernet a travs del SitePlayer. El ejemplo
consistir en un controlador de la temperatura ambiente. El Microcontrolador recibir
los datos de la temperatura a travs de un sensor de temperatura (DS1631) conectado
al PIC a travs de un bus I2C. El PIC enviar los datos al SitePlayer a travs de la interfaz
serie y visualizaremos el resultado en una pgina web a la cual accederemos desde un
Navegador instalado en un PC externo a nuestra red local (LAN).

El montaje del circuito se muestra en la figura de abajo:

Biblioman http://www.aquihayapuntes.com Pgina 20


Comandar un PIC a travs de Internet

Y la forma en la que quedara conectado el circuito a una red Ethernet sera la


siguiente:

Biblioman http://www.aquihayapuntes.com Pgina 21


Comandar un PIC a travs de Internet

Con respecto al ejemplo 1 este presenta dos novedades:

1) En el primer ejemplo accedamos a la pgina WEB a travs de la misma red


Local en la que tenamos conectado el SitePlayer. Como se ve en la figura de
arriba en esta ocasin se accede a travs de un nombre de dominio propio y
por tanto podremos comandar el Microcontrolador desde cualquier lugar en
donde tengamos un dispositivo capaz de conectarse a Internet y disponga de
un navegador WEB y digo cualquier dispositivo porque no solo podremos
hacerlo a travs de un PC sino tambin a travs de una PDA, un telfono mvil,
una consola de videojuegos etc. que en definitiva era lo que se pretenda.

2) En el primer ejemplo controlbamos el puerto de I/O del SitePlayer. En este


ejemplo se establece un protocolo de comunicacin entre el SitePlayer y el
Microcontrolador a travs de la interfaz serie.

En todo lo dems el procedimiento a seguir es el mismo que lo realizado para el


ejemplo anterior.

Consideraciones a tener en cuenta

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.

Biblioman http://www.aquihayapuntes.com Pgina 22


Comandar un PIC a travs de Internet

A la hora de implementar el protocolo de comunicacin entre el Microcontrolador y


el SitePlayer a travs de la interfaz serie, tenemos dos opciones:

o Utilizar el objeto COM: es la forma ms sencilla, la funcin de este objeto es


el envo de cadenas de caracteres a travs del puerto serie. Cuando desde la
pgina WEB queremos enviar algn dato al Microcontrolador a travs del
puerto serie llamamos al objeto COM y este enviar los datos directamente
al Microcontrolador a travs del pin Tx de la interfaz serie sin guardar nada
en la memoria RAM del SitePlayer.

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 queremos enviar caracteres no imprimibles utilizaremos el siguiente


formato:

<a href="Ejemplo2.SPI?com=%01%03">enva Ctrl-A Ctrl-C</a>

Si hay dos dgitos despus del smbolo (%) sern interpretados como
caracteres Hexadecimales.

Tambin podemos configurar el Baud Rate del puerto serie desde la


pgina WEB:
<a href="Ejemplo2.SPI?baud=65406">Haz clic para baud Rate =
9600 baudios</a>

Esto configurar la velocidad a 9600 baudios, la frmula a emplear es:

65536- (1250000/baudrate)

En el manual de referencia hay una tabla con los valores comnmente


utilizados.

El inconveniente que tiene este mtodo es que la comunicacin es


unidireccional, desde la pgina WEB haca el PIC y no a la inversa ya que
el objeto COM no modifica ni guarda ningn dato en la memoria RAM
del SitePlayer.

Biblioman http://www.aquihayapuntes.com Pgina 23


Comandar un PIC a travs de Internet

o Para evitar el inconveniente anterior, podemos controlar la comunicacin


serie a travs de los siguientes comandos:

De esta forma podemos leer el valor de un Objeto en memoria o modificar su valor; al


almacenar los datos en memoria ya no hay ningn problema en establecer una comunicacin
bidireccional entre la pgina WEB y el Microcontrolador al igual que hicimos con el Ejemplo1.

La forma de utilizar estos comandos utilizando el lenguaje C y el compilador de CCS es la


siguiente:

Primeramente hay que inicializar el SitePlayer para ello se enva 20 veces el


comando NOP:

////////Funcin de inicializacin SitePlayer ///////////


void inicio(){
int i;
for(i=0;i<20;i++){
putc(0);
}
delay_ms(50);
}

Para enviar un dato al SitePlayer se enva el comando de escritura (80h) seguido de


la direccin del objeto y el valor que queremos asignarle:

putc(0x80);
putc(0x00);
putc(0x01);

Esto escribir el valor 1 en la direccin 0x00

Biblioman http://www.aquihayapuntes.com Pgina 24


Comandar un PIC a travs de Internet

Una peticin de lectura al SitePlayer ser similar salvo que el comando a


enviar ser el de lectura (C0h).

Un vdeo del ejemplo 2 funcionando lo tenis aqu:

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

CCS Custom Computer Services

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.

Biblioman http://www.aquihayapuntes.com Pgina 25


Comandar un PIC a travs de Internet

Licencia

Autor de este artculo: Biblioman

Versin: 1.0.0

Pgina Web: http:\\www.aquihayapuntes.com

Email: email.Biblioman@gmail.com

Este artculo esta bajo una licencia Creative Commons: Reconocimiento-No Comercial-
Compartir bajo la misma licencia.

Biblioman http://www.aquihayapuntes.com Pgina 26

También podría gustarte