Control Remoto Web con SitePlayer
Control Remoto Web con SitePlayer
El control remoto por Internet tuvo su utilidad espectacular ya hace algunos años, cuando un cirujano situado en Europa,
realizó una operación quirúrgica a un paciente situado en un hospital de Nueva York. Dicha operación utilizó la red Internet
con conexión de muy alta velocidad, puesto que las acciones quirúrgicas debían ser en tiempo real, con varias videocámaras
que monitorizaban lo que el cirujano tenía que hacer, y por supuesto, herramientas quirúrgicas robotizadas al ritmo y
precisión de los mandos remotos del cirujano.
El proyecto de Innovación educativa que aquí se presenta , y que está destinado al control remoto de robots, ejemplificado
en un prototipo de robot más una tarjeta de control del mismo conectada al puerto paralelo de un PC, al que se accede para su
control remoto a través de una página web, nos ha obligado en cierta manera a estudiar otras posibilidades de control remoto
cada vez más demandados por la industria, usos específicos a la medida, o para el hogar, representando esté ultimo ámbito, el
de mayor desarrollo en los próximos años, con antecedentes en la denominada “Domótica”, es decir, control de las variables
ambientales/consumo energético , electrodomésticos y ventanas fundamentalmente, y que a partir de ahora se está
extendiendo a la seguridad (intrusos/robo, antiincendio, escapes de gas o agua), teleasistencia (discapacitados o ancianos) y a
la conectividad residencial entre viviendas de un mismo complejo o de éstas con el exterior dando lugar al “Hogar
Inteligente” también denominado “Hogar Digital”.
Por otra parte, los nuevos sistemas de telecomunicación, permiten, gracias a su alta velocidad de transmisión, eficiencia y
fiabilidad, el control remoto en tiempo real con respuesta prácticamente instantánea, a través de diferentes sistemas de
transmisión de la señal: Vía radio, ADSL o Cable coaxial y Fibra óptica.
Dicho control puede realizarse o monitorizarse desde una página web en: Un PC, PDA ó también Teléfono móvil.
El sistema que vamos a mostrar es un sistema que no necesita de PC para conectar el objeto de control a la red Internet,
puesto que, lo que más interesa en éste lado del control, es la conectividad, con lo que se ahorra en costes HW y SW, espacio
y energía. Es decir, se pasa de un sistema basado en PC /PC-BASED) a un sistema basado en Servidor WEB (WEB
SERVER).
Ejemplos de aplicación de éste tipo de sistemas podrían ser sistemas de videovigilancia conectados a LAN como: VIDEO
WEB SERVER ó servidor Web de video, o también: NET DVR ó IP camera. Estos sistemas, son capaces de gestionar el
protocolo TCP/IP, disponen de una tarjeta de red Ethernet 10 Base-T o 100 Base-T, y se configuran con una dirección IP
privada(libre) específica de esa red. También son capaces de enviar señales de alarma además de la señal de video.
A continuación nos centraremos en el módulo SitePlayerTM de NetMedia ,un sistema basado en Servidor Web: Por
un lado gestiona los protocolos de comunicación de Internet y por el otro se comunica con el mundo exterior a través
de una conexión tipo serie.
EL CHIP SITEPLAYER
Este integrado constituye un auténtico Web Server que permite interactuar con cualquier dispositivo electrónico a través de
una página de Internet absolutamente normal. El objetivo es dar a conocer la técnica de programación del módulo a través de
diversos ejemplos prácticos que hacen uso de la red para comunicar con diversos dispositivos remotos.
1
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
¾ Los datos pueden leerse en la web a través de campos textuales teclas graficas y conexiones.
¾ Norma Ethernet 10BaseT con corrección automática de la polaridad por hardware.
¾ 48KByte de memoria Flash para paginas Web, escribible vía Ethernet.
¾ Soporta los protocolos ARP, JCMP, IP, UDP, TCP, DHCP.
¾ Puerta serie con Baud Rate comprendida entre 300 y 115200 bits por segundo, a utilizar como interfaz hacia un
procesador.
¾ Posibilidad de escribir programas en JAVA C, C++ y Visual Basic para monitorado y control remoto de SitePlayer.
¾ 768 ByteS de SiteObjectsTM, que pueden asumir formato bit , byte, integer, long, string y gráficos.
¾ Las paginas web pueden realizarse con las herramientas de desarrollo normalizado para código HTML.
¾ Conexion directa al filtro 10BaseT o a la toma RJ45 con filtros internos.
El módulo SitePlayer , constituye lo que se denomina un “Web Server” o Servidor de Red, que gestiona los niveles más bajos
de control y comunicación. El Server se define fácilmente: es un software que responde a las llamadas efectuadas por un
cliente y envía datos en respuesta a éstas. Un pequeño ejemplo aclarará los conceptos vertidos hasta el momento: al
conectarse a Internet e introducir la dirección de una página web, el ordenador al que se le pide que envíe la página es el
Cliente, mientras que el ordenador al que se le pide que envíe los datos de la página es el Servidor. El cliente llama al
Servidor a su dirección IP, que es la dirección única y no repetida que identifica cada ordenador conectado a la misma red. Y
el Cliente y el Server se relacionan utilizando el TCP.
Se puede configurar el modo IP estática asignada al módulo de forma permanente o de forma dinámica asignada por un
Servidor en cada conexión utilizando el protocolo ARP en función de su dirección física.Para visualizar las páginas web, en
2
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
el ordenador se utiliza un “browser” (Buscador) que se basa en otro protocolo, el HTTP (Hyper Text Transfer Protocol), con
el cual se pide al Servidor que envíe la página web.
Hardware para el módulo SitePlayer
El módulo de que estamos hablando se pincha en un zócalo de una placa de pruebas que detallamos a continuación.
La placa de pruebas (FT497K) que se muestra a continuación contiene:
¾ Un microcontrolador PIC16F876.
¾ Un módulo SitePlayer (SP1) conectado entre un conector RJ45 para la conexión a red e internet y el puerto serie del
PIC.
¾ 8 salidas digitales a 8 leds indicadores conectados al puerto C del PIC.
¾ 8 entradas digitales de 8 micro switches conectadas al puertoB del PIC.
¾ Una entrada para la programación “In Circuit” del PIC a través de un selector(DEV1) para la programación
conectado al puerto RB6 y RB7 del PIC.
¾ Una entrada analógica regulada en tensión contínua con la resistencia ajustable R4 y conectada al puerto RA0 del
PIC.
¾ Una entrada analógica procedente de un sensor de temperatura con filtro y amplificador por operacional conectado
al puerto RA1
¾ Una salida modulada en pulsos (PWM) a través del puente J1 al puerto RC2 con ciclo de trabajo variable. Puede
utilizarse para el control de potencia en cargas como motores o lámparas, intercalando un amplificador de corriente.
¾ Una salida analógica (ANALOG OUT) cuya amplitud es proporcional al ciclo de trabajo de la salida anterior
conectada aun filtro paso bajo y seguidor de tensión con operacional.
¾ Una fuente de alimentación regulada con circuito integrado de 5vcc para la alimentación de las pastillas, y las
entradas analógicas, así como, para la programación del PIC.
Con la placa, y las posibilidades del Módulo Siteplayer y PIC se puede, desde una página web remota:
¾ Visualizar la posición de las 8 entradas digitales de los microswitches.
¾ Visualizar el valor de las entradas analógicas en formato numérico, por ejemplo la temperatura dada por el sensor en
el lugar del servidor remoto.
¾ Encender o apagar las salidas digitales a led.
¾ Controlar y visualizar la salida analógica y la modulada en pulsos.
En el esquema que se muestra a continuación se puede observar la conexión de todos los elementos según se explicó
anteriormente.
Podemos añadir que el módulo SitePlayer se comunica con el PIC utilizando las dos líneas de comunicación serie Rx y
Tx y la línea I/O normalmente a nivel alto, pero cuando llegan datos desde la red, se indicar con un pulso bajo de 5µs a
modo de interrupción (dato disponible) para su transmisión al PIC.
Como puede observarse, las dos entradas analógicas en el puerto RA0 y RA1 están conectadas dentro del PIC a un
multiplexor y un conversor Analógico Digital para su proceso.
3
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
Los kits vienen con los componentes electrónicos, conmutadores, interruptores y conectores, placa de circuito impreso,
zócalos para circuitos integrados, circuitos integrados y módulo siteplayer y puede conseguirse en www.iberfutura.es .
¾ Se sueldan los componentes, conectores, zócalos etc a las placa de circuito impreso.
¾ Se pinchan los circuitos integrados y el módulo Siteplayer .
4
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
Salida:
Digital
Módulo
µC Siteplayer
(PIC)
Entrada:
Digital
Entrada:
Analógica
Entrada:
Salida: Salida: (Sensor
Selector: Analógica
PWM Analógica temperatura)
PIC-program (Trimmer)
Zócalo:
PIC a programar
Alimentación:
15Vcc
Conector:
P.Paralelo
5
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
A continuación se puede ver como podría conectarse la placa de pruebas a:
9 La red eléctrica.
9 Un programador de PIC y éste a un PC para el volcado del fichero de programa en Hexadecimal a través del
puerto paralelo.
9 Un Hub para la conexión a una red local y de ahí a la red Internet
9 (NO DEBE CONECTARSE DIRECTAMENTE EL MÓDULO A LA RED, DEBE HACERSE A TRAVÉS DE
UN HUB Ö SWITCH), O CON UN CABLE CRUZADO A UNA TARJETA DE RED).
Módulo
Linker
OBJETOS
.Spb
la página web/PIC.
Página web
(Html) Fichero .bas/asm
DECLARACIONES
Microcontrolador (PIC)
-Mensajes.
-Variables y puertos.
-Gráficos.
CONFIGURACION
Fichero .Hex
-Controles.
Programador
Ensamblador
-Puertos.
-Variables de
Epic win
-Conversores AD. P
comunicación con el -Timers. FT386 INC
P
programa del PIC INICIO (Programador)
-Envío de 20 Bytes al
Siteplayer.
-Lectura de puertos y
comunicación con SPlayer.
-Comunicación con SPlayer
y Escritura en puertos.
6
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
Software para el módulo SitePlayer(SP)
Para realizar un Web Server, es decir, un elemento que pueda responder a las demandas de un Cliente, debe disponerse de un
software capaz de soportar los numerosos protocolos implicados a los diferentes niveles, además de albergar en memoria las
páginas web (en lenguaje HTML) y las imágenes que, enviadas al cliente que las ha solicitado, podrán visualizarse en el
browser. El módulo SitePlayer cumple sobradamente estas exigencias: el software implementado en el microcontrolador que
contiene permite la gestión de los diversos protocolos y el usuario puede olvidarse totalmente de este tema, mientras que, por
otra parte, las varias páginas web creadas por el usuario se descargan en la memoria flash para recuperarlas en el momento en
que un browser lo requiera.
Proceso de trabajo:
Tomaremos como ejemplo la entrada digital de los 8 microinterruptores de la placa de pruebas.
1º Edición del archivo de definiciones , que tendrá la extensión spd.
PROGRAMAS: Wordpad / Word.
Está dividido en 3 secciones básicas:
1. DEFINICIONES:
Se establecen una serie de parámetros que el Programa SiteLinker utiliza para generar el archivo en formato binario
y el modo de funcionamiento del SP.
2. ARCHIVOS:
Los que generará el SiteLinker, indicándose los directorios para los de la página web(root) y el resultante del linker
.spb .
3. OBJETOS:
Variables utilizadas por el SP para comunicarse con el exterior, en este caso con el PIC.
;LEEENTDIG.SPD
;DEFINICIONES
;Nombre o descripción del dispositivo
$Devicename "FT497K"
;$DHCP on :IP (dinámica) desde un servidor, $DHCP off :IP fija.
$DHCP off
; Password para descarga de páginas web pages y firmware del SP.
$DownloadPassword "" ;sin password
; Password para el acceso a páginas web desde Internet.
$SitePassword "";sin password
;IP inicial del SP si no se utiliza servidor
; $InitialIP "192.168.0.34"
;Habilitación de un pulso bajo de 5µs en el pin 11 del SP cuando reciba nuevos datos de la red.
$PostIRQ on
;Crea el fichero imagen en binario del linker en el directorio del disco preparado para la la descarga en el SP:
$Sitefile "c:\ft497\entdig\leeentdig.spb"
;Crealos ficheros de la página web en el directorio del disco preparado para la la descarga en el SP:
$Sitepath "c:\ft497\entdig\root"
;OBJECTS
;Declara la variable microswitch (Byte) con el valor 0 a partir de la dirección de memoria 05h en el SP
org 05h
microswitch dB 0
2º Diseño de la página web desde la que visualizar o controlar las E´s y S´s de la placa. Tener en cuenta la capacidad de
48KB de la memoria flash del Siteplayer, sobre todo cuando se pretenda insertar imágenes.
En el código HTML pueden insertarse “scripts específicos, que conecten el contenido de la página web con el de alguna
localización de memoria del módulo SP.
7
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
PROGRAMAS: Front Page o Dreamweaver.
Se puede observar los modificadores aplicados a los objetos y que hacen referencia a los bits de cada microinterruptor
y al byte declarado en el archivo de definiciones anterior.
A continuación se muestra la página web con el código Html y en formato gráfico.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" background="sfondo1.gif">
<table width="300" border="0" align="center" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
<tr> <td><div align="center">
<img border="0" src="CRR.JPG" width="281" height="75"></div></td></tr><tr>
<td><div align="center">
<font face="Arial, Helvetica, sans-serif" size="2" color="#999999">MUESTRA
EL ESTADO DE LOS 8 MICROINTERRUPTORES</font></div></td></tr> <tr>
<td><hr noshade></td></tr><tr>
<td><div align="left"><font face="Arial, Helvetica, sans-serif" size="2">
Fichero:<b></b></font><b>
<span lang="EN-GB" style="font-size: 9.0pt; font-family: Times New Roman">
LEEENTDIG</span></b><font size="2" face="Arial, Helvetica, sans-serif">
<strong>.spd</strong></font></div></td> </tr><tr> <td> </td></tr><tr>
<td><p><font size="2" face="Arial, Helvetica, sans-serif">Dip1 = ^ microswitch '7</font></p>
</td></tr> <tr> <td>
8
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
3º Enlazado de la página web y sus recursos gráficos con el archivo de definiciones para poder combinar en un archivo
único binario(.spb) los ficheros anteriores.
PROGRAMA: SiteLinker ,tanto para el enlazado como para la descarga.
I. Configurar la dirección IP del SP para la descarga y su Puerto:
a. Menú Configure->IP address for download-> 192.168.0.33
b. Port address for download-> 1001
c. Download password <La del fichero de definiciones>
II. Compilar el fichero de definiciones: leeentdig.spd que dará como resultado el leeentdig.spb en c:\ft497\entdig\
a. Menú File->Open-> c:\ft497\entdig\leeentdig.spd
b. Menú Download->Make Download File.
4º Descarga del archivo enlazado al módulo SP.:
Se hace a través de la red conectando la tarjeta FT497 a la LAN, una vez detectada ésta .También se puede “inyectar la
programación por el puerto serie del módulo SP desde el PIC.
5º Edición del código para el programa del PIC. En lenguaje ensamblador, Lenguaje C o Basic. Se programa el control de
las E´s y S´s, y su conexión con el módulo SP a través del puerto serie.
Vamos a explicar una serie de ejemplos significativos de cómo preparar el software para el módulo siteplayer, la página web
y el PIC.
1 2
;FiCHERO leeentdig.BAS 'Correspondencia entre las variables de la web y los bits del
puerto B
TEMP var byte SYMBOL DIP1 = PORTB.0
DATOIN var byte SYMBOL DIP2 = PORTB.1
DATOOUT var byte SYMBOL DIP3 = PORTB.2
DIRECCION var byte SYMBOL DIP4 = PORTB.3
FLAGOK var bit SYMBOL DIP5 = PORTB.4
TEMPERATURA var byte SYMBOL DIP6 = PORTB.5
TRIMMER var byte SYMBOL DIP7 = PORTB.6
SYMBOL DIP8 = PORTB.7
'***********************************************
* 'Comunicación serie con el Site Player ,se ve en el
'Se incluye este fichero de definiciones para PIC-Basic esquema.
Include "modedefs.bas" SYMBOL TX232 = PORTA.2
SYMBOL RX232 = PORTA.5
'LEDS CONECTADOS AL PUERTOC
'Interrupción del Site Player a través de la patilla 11,se ve
SYMBOL LED1 = PORTC.0 en el esquema.
SYMBOL LED2 = PORTC.1 SYMBOL INTSP = PORTA.4
SYMBOL LED3 = PORTC.2
SYMBOL LED4 = PORTC.3 '******************************
SYMBOL LED5 = PORTC.4 'Definiciones I/O serie para el PIC
SYMBOL LED6 = PORTC.5
SYMBOL LED7 = PORTC.6 ADCON1=%00000010
SYMBOL LED8 = PORTC.7 'RA0,RA1 y RA3 analogicas conectadas a conversor A/D
ADCON0=%10000001
9
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
3 4
'Estas variables son salidas 'Rutina de Inicialización con bucle de 20 interacciones
SEND20:
OUTPUT LED1 For TEMP = 1 To 20
OUTPUT LED2 Serout TX232, T9600, [0]'Envía un byte al SP de valor 00h a la patilla
OUTPUT LED3 TX232 a 9600baud de velocidad por el puerto serie.
OUTPUT LED4 Pause 5 .
OUTPUT LED5 Next TEMP
OUTPUT LED6 Return
OUTPUT LED7
OUTPUT LED8 '****************************************************
'Rutina de envío de un byte al SP por el puerto serie, se hace en tres fases con
OUTPUT TX232 retardo
'Estas variables son entradas: Las de los microinterruptores.
INPUT RX232 WRITEDATO:
INPUT DIP1 Pause 10
INPUT DIP2 Serout TX232, T9600, [128]'Comando de escritura 128=128+1byte de
INPUT DIP3 los leds-1
INPUT DIP4 Pause 5
INPUT DIP5 Serout TX232, T9600, [DIRECCION]'Dirección de envío en la memoria
INPUT DIP6 del SP
INPUT DIP7 Pause 5
INPUT DIP8 Serout TX232, T9600, [DATOOUT]'Dato a escribir(enviar) en el SP
Pause 20
'PuertoB con pull up internos Return
10
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
6º Generación del programa del PIC.
Se programa el control de las E´s y S´s, y su conexión con el módulo SP a través del puerto serie.
PROGRAMA:PicBasic Pro Compiler 2.40, (c) 1998, 2001 microEngineering Labs
7º programación del microcontrolador PIC.
El PIC debe estar borrado o de lo contrario habilitar la opción borrar y programar.
PROGRAMA:EPICwin
1 Configuración para la programación 2 Borrado del PIC
11
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
8º Prueba de la aplicación
a) Alimentar la placa anterior de demostraciones.
b) Conectar la placa de demostraciones bien a un PC via tarjeta de red (cable cruzado) o a un Hub/switch(cable
normal).
c) Acceder a la página web almacenada en el módulo SP desde cualquier ordenador con conexión a internet tecleando
en un browser su dirección IP.
d) Modificar la posición de los microinterruptores.
El resultado podría ser el siguiente:
12
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
Ejemplo de lectura en web de una entrada analógica desde un sensor.
DEFINICIONES
;LEETEMP.SPD
;DEFINICIONES
;Nombre o descripción del dispositivo
$Devicename "FT497K"
;$DHCP on :IP (dinámica) desde un servidor, $DHCP off :IP fija.
$DHCP off
; Password para descarga de páginas web pages y firmware del SP.
$DownloadPassword "" ;sin password
; Password para el acceso a páginas web desde Internet.
$SitePassword "";sin password
;IP inicial del SP si no se utiliza servidor
; $InitialIP "192.168.0.34"
;Habilitación de un pulso bajo de 5µs en el pin 11 del SP cuando reciba nuevos datos de la red.
$PostIRQ on
;Crea el fichero imagen en binario del linker en el directorio del disco preparado para la la descarga en el SP:
$Sitefile "c:\ft497\enttemp\leetemp.spb"
;Crealos ficheros de la página web en el directorio del disco preparado para la la descarga en el SP:
$Sitepath "c:\ft497\enttemp\root"
;OBJECTS
;Declara las variables para la representación de la temperatura
org 05h
decenas dB 0
unidades dB 0
decimas dB 0
PAGINA WEB
13
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
14
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
1 2
;Fichero leetemp.BAS
OUTPUT TX232
TEMP var byte INPUT RX232
DATOIN var byte
DATOOUT var byte INPUT DIP1
DIRECCION var byte INPUT DIP2
FLAGOK var bit INPUT DIP3
TEMPERATURA var byte INPUT DIP4
TRIMMER var byte INPUT DIP5
decenas var byte INPUT DIP6
unidades var byte INPUT DIP7
decimas var byte INPUT DIP8
DATOLONG var word
OPTION_REG 0.7 = 0
'************************************************
Include "modedefs.bas" INPUT Porta.0
INPUT Porta.1
'LED INPUT INTSP
15
EL CONTROL REMOTO POR INTERNET (SYTEPLAYER)
'Rutina de conversion
'Introducir resultado en TRIMMER y TEMPERATURA
CONVERTI:
ADCON0 0.3 = 0
ADCON0 0.4 = 0
ADCON0 0.5 = 0
Pause 1
ADCON0 0.2 = 1 'Arrancar proceso de conversion
Pause 5
TRIMMER = ADRESH
Pause 1
ADCON0 0.3 = 1
ADCON0 0.4 = 0
ADCON0 0.5 = 0
Pause 1
ADCON0 0.2 = 1 'Arrancar proceso de conversion
Pause 5
TEMPERATURA = ADRESH
Pause 1
Return
16