Вы находитесь на странице: 1из 6

Experiencias iniciales en el Control de dispositivos por Internet

Ing. Marco Trujillo Silva


Ingeniero Electrnico
Docente de Teleinformtica
marcotrujillo@otmail.com
Candidato a Maestro en Ingenier!a de Sistemas
Resumen
Una de las ventajas de Internet actual es que posibilita la conexin con todo tipo de computadores, desde los personales,
hasta los ms grandes que ocupan habitaciones enteras. Incluso podemos ver conectados a la Red cmaras de vdeo,
robots, y una serie de dispositivos e instrumentos utiliados en el control de procesos industriales.
!a pregunta inmediata es "#mo se hace el control de estos dispositivos a trav$s de Internet, y que nos permita
desarrollar aplicaciones adaptables a nuestros requerimientos%
!a respuesta es esta pregunta exige un estudio completo de las diversas alternativas existentes. &ntre las encontradas
podemos mencionar' aplicaciones cliente servidor basadas en el protocolo tcp(ip, otras usando las librerias de soc)ets,
otras ms basadas en el protocolo http y la *ltima encontrada que promete mucho es la basada en el servidor +eb
implementado en un chip ,-icro servidor +eb..
&n este artculo se muestran trabajos iniciales explorados por los alumnos con orientacin del autor y las recientes
aplicaciones propuestas para investigacin.
1 Introduccin
"a #e$ a sido capa% de unificar todo tipo de medios&
radio' televisin' texto' audio' imgenes' etc.
Si $ien se estn aciendo progresos en las tecnolog!as
$asadas en internet' ca$e resaltar la tendencia de los
micro servidores (ue implementa la pila TC)*I)' (ue
permitir!a introducirlo en las facilidades de la #e$. "os
re(uerimientos en cuanto a coste + consumo son
perfectamente asumi$les por cual(uier dispositivo de
o+ en d!a.
El dise,o de ard#are es mu+ simple' aparte del
microcontrolador donde se encontrar toda la suite de
protocolos' es necesario' + mu+ recomenda$le' o$tener
t-cnicas de programacin desarrollar nuestras
aplicaciones + adaptar a nuestras m.ltiples necesidades
El poner a un microcontrolador a acer el tra$ajo de un
servidor' re(uiere (ue -ste tenga implementado en su
memoria de programa' todos los protocolos (ue se va a
utili%ar + la configuracin del servidor principal presente
en la red. En lo (ue respecta al microcontrolador' es
necesario recalcar (ue el programa para la suite de
protocolos TC)*I) +a se encuentra implementada por
profesionales' en un arcivo ex. /o es necesario
entender a la perfeccin el programa' ni muco menos
modificarlo' dado (ue estos protocolos son estndares' +
de reali%arse cual(uier modificacin' dejar!an de serlo.
Existe la necesidad de comprender como se reali%an las
aplicaciones $asadas en la plataforma TC)*I).
2 Caractersticas de TCP/IP
Internet usa el protocolo TCP/IP (ue significa
0Transmission Control )rotocol * Internet )rotocol0' es el
(ue se encarga de reci$ir pa(uetes de informacin +
redirigirlos al usuario final (ue los solicit.
TC)*I) es el nom$re de dos protocolos n.cleos (ue dan
soporte a Internet. Sin em$argo frecuentemente es usado
para referirse al conjunto de protocolos de conectividad
estndar.
2.1 Protocolo IP:
Tiene la funcin de direccionar + encaminar los pa(uetes
al destino' sin garanti%ar su entrega 1servicio no
confia$le2' sin conexin 1cada pa(uete es tratado de
manera independiente2 + desarrollando el mejor esfuer%o
o 3$est effort4 1todos los pa(uetes son igualmente
tratados2.
"as direcciones I) a+udan a identificar la ruta del
pa(uete acia el destino.
2.1 Protocolo TCP:
Es un protocolo de transporte orientado a conexin
1S5C' se esta$lece la sesin antes de intercam$iar datos2'
proporcionando un servicio fia$le de flujo de datos de
extremo a extremo. Estos mecanismos inclu+en la suma
de compro$acin' n.meros de secuencia' sincroni%acin'
acuses de reci$o' + procedimientos de retransmisin.
Este protocolo $idireccional permite (ue el programador
escri$a programas de aplicacin cliente*servidor
utili%ando primitivas estndar (ue tra$ajan en una gran
variedad de redes sin preocuparse del tipo de su$red + de
transmisiones no confia$les.
2.3 Protocolo UDP:
6 diferencia de TC) es un protocolo de transporte no
orientado a la conexin' no fia$le pero mu+ rpido'
de$ido a su overead reducido.
2.4 Socets:
TC) usan los puertos como enlace entre dos
aplicaciones. El n.mero de puerto identifica la aplicacin
de origen + la de destino' estos n.meros' en conjunto con
las direcciones I) de origen + destino en el enca$e%ado
del datagrama I)' identifican de forma un!voca la
conexin entre las aplicaciones de origen + destino.
"a com$inacin de un puerto + una direccin I) es
llamada' a veces' de soc7et' el n.mero cudruplo 1puerto
+ direccin I) de cliente + puerto + direccin I) de
destino2 identifica una conexin en internet + puede ser
un n.mero entre 8 9 :;;<;.
Existen tres tipos de soc7ets dise,ados para TC)*I)&
Stream' Datagram + =a#.
"os Soc7ets Stream utili%an como protocolo a TC)'
mientras (ue los Soc7ets Datagram usan a >D).
3 !"licaciones #asadas en Socets
>n ejemplo de aplicacin Cliente *Servidor simple se
muestra en la figura ?. Donde&
Socet: Crea la estructura de datos para comunicaciones'
especifica el tipo de servicio + el protocolo.
$ind: 6signa una direccin de red + nom$re
al soc7et 1la estructura de datos2.
%ist: Indica (ue el servidor est listo para reci$ir
conexiones. 6signa espacio para filas de los clientes (ue
se conectan al servidor 1no es $lo(ueante2.
!ce"t& Espera a (ue lleguen conexiones del cliente.
@lo(uea la espera' asta (ue un cliente reali%a una
conexin.
Connect& @lo(uea mientras se reali%a la conexin con el
servidor.
Send: Env!a datos a la conexin.
Recei&e& =eci$e datos de la conexin.
Close& Cierra un soc7et. "i$era la conexin.
Aig. ?
4 'l (insoc Control de )isual $asic
6l igual (ue un usuario se comunica con el programa por
medio del teclado' dos programas se pueden comunicar
entre s! por medio de un control especial (ue se
denomina (inSoc Control. Este control esta
disponi$le en el lenguaje Bisual @asic' + su nom$re
proviene de (indo*s Socets.
El (insoc Control de Bisual @asic' no es visi$le en
tiempo de ejecucin' lo (ue significa (ue solo sa$emos
(ue el control se encuentra en nuestra aplicacin + cules
son sus propiedades.
Pro"iedades+ m,todos - e&entos de (inSoc
>na ve% (ue tenemos el CinSoc7 control en nuestra
$arra de controles en Bisual @asic +a podemos comen%ar
a ver las propiedades' eventos + m-todos ms
importantes del control.
TCP .S/C0
#ind
#ind
listen
listen
)repara al servidor
a reci$ir conexiones.
soc7et
soc7et
connect
connect
send
send
close
close
Proceso del Cliente
receive
receive
socet
socet
send
send
close
close
acce"t
acce"t
recei&e
recei&e
Proceso del Ser&idor
En espera
"isto
%ista de "ro"iedades m1s im"ortantes
%ocalIP: Devuelve la direccin I) de la
m(uina local en el formato de cadena con
puntos de direccin I) 1xxx.xxx.xxx.xxx2.
%ocal2ost3ame: Devuelve el nom$re de la
m(uina local.
Remote2ost: Esta$lece el e(uipo remoto al (ue
se (uiere solicitar la conexin.
%ocalPort: Esta$lece el puerto (ue se (uiere
dejar a la escuca.
RemotePort: Esta$lece el n.mero del puerto
remoto al (ue se (uiere conectar.
State: Berifica si el Control CinSoc7 esta
siendo utili%ado o no.
"a sintaxis de cada propiedad es&
/#4eto.Pro"iedad 5 )alor
Donde 5$jeto va el nom$re del Control CinSoc7' el
nom$re predeterminado es 0CinSoc7?0.
Ejemplo de la propiedad "ocalI)
)rivate Su$ AormD"oad12
"a$el?.caption E CinSoc7?."ocalI)
End Su$
%ista de 6,todos m1s im"ortantes del control
(inSoc
!cce"t: Slo para las aplicaciones de servidor
TC). Este m-todo se utili%a para aceptar una
conexin entrante cuando se est tratando un
evento Connection=e(uest.
7etData: =ecupera el $lo(ue actual de datos +
lo almacena en una varia$le de tipo Bariant.
%isten: Crea un soc7et + lo esta$lece a modo de
escuca.
SendData: Env!a datos a un e(uipo remoto.
"ista de Eventos ms importantes
ConnectionRe8uest: Se produce cuando el
e(uipo remoto solicita una conexin. Sin este
evento no se puede llevar a ca$o la conexin.
Connect: Se produce cuando el e(uipo local se
conecta al e(uipo remoto + se esta$lece una
conexin.
Close: Se produce cuando el e(uipo remoto
cierra la conexin. "as aplicaciones de$en usar
el m-todo Close para cerrar correctamente una
conexin TC).
Data!rri&al& Se produce cuando llegan nuevos
datos' + con los (ue de$emos acer algo.
9 !"licaciones e4em"lo con (insoc
)ara entender el correcto funcionamiento del protocolo
TC)*I) vamos a empe%ar por programar la aplicacin
Servidor a la cual luego se conectar el Cliente.
Identi:icacin de controles de la a"licacin Ser&idor
Control .nom#re
"redeterminado0
Pro"iedad .nue&o
&alor0
CinSoc7? "ocal)ort E FFF
'&ento clic del Command1
)rivate Su$ Command?DClic712
Cinsoc7?."isten
End Su$
Esto ace (ue el Control CinSoc7 empiece a funcionar'
escucando el puerto (ue se indic en las propiedades de
dico control. Este puerto es el FFF. 6ora si reali%amos
todo a la perfeccin el puerto FFF esta siendo vigilado
para aceptar conexiones remotas.
'&ento Data!rri&al del (inSoc
)rivate Su$ Cinsoc7?DData6rrival1@+Bal $+tesTotal 6s
"ong2
Dim datos 6s String
Cinsoc7?.GetData datos
Text?.Text E Text?.Text H datos
End Su$
Datos (ueda transformada en una varia$le de cadena' +
CinSoc7 almacena los datos (ue reci$e del Cliente en el
$uffer + luego ingresan a la varia$le datos' dica varia$le
mostrar su contenido en el control Text@ox 1Text?2.
'&ento ConnectionRe8uest del (insoc
)rivate Su$ Cinsoc7?DConnection=e(uest1@+Bal
re(uestID 6s "ong2
Cinsoc7?.Close
Cinsoc7?.6ccept re(uestID
End Su$
Este evento es mu+ importante' permite aceptar la
peticin de conexin. Sin este evento el resto del
programa no tendr!a efecto.
'&ento Clic del command2
)rivate Su$ CommandIDClic712
Dim enviar 6s String
enviar E TextI.Text
Cinsoc7?.SendData enviar
End Su$
Esto permite enviar el texto (ue se introdu%ca en el
Text@ox n.mero I.
Identi:icacin de controles de la a"licacin Cliente
Control .nom#re
"redeterminado0
Pro"iedad .nue&o
&alor0
CinSoc7? "ocal)ort E FFF
'&ento clic del Command1
)rivate Su$ Command?DClic712
Cinsoc7?.=emoteJost E Text<.Text
Cinsoc7?.Connect
End Su$
El evento connect permite conectar al programa servidor
(ue esta esperando la solicitud' este evento re(uiere un
parmetro fundamental' el I) o nom$re de ost el cual es
introducido previamente a la conexin en el cuadro de
texto n.mero < 1Text<2.
'&ento Data!rri&al del (inSoc
)rivate Su$ Cinsoc7?DData6rrival1@+Bal $+tesTotal 6s
"ong2
Dim datos 6s String
Cinsoc7?.GetData datos
Text?.Text E Text?.Text H datos
End Su$
Esto permite a la aplicacin 1a trav-s de CinSoc72
reci$ir informacin del servidor + mostrarla en pantalla.
'&ento Clic del command2
)rivate Su$ CommandIDClic712
Dim enviar 6s String
enviar E TextI.Text
Cinsoc7?.SendData enviar
End Su$
Estas instrucciones son necesarias para enviar
informacin al servidor.
!"licacin e4em"lo usando el "uerto "aralelo:
)rivate Su$ cmdConnectDClic712
5n Error GoTo ErrJandler
Cit Cinsoc7?
.=emoteJost E Trim1txt=emoteI)2
.=emote)ort E Trim1txt=emote)ort2
If ."ocal)ort E Empt+ Ten
."ocal)ort E Trim1txt"ocal)ort2
ArameI.Caption E ."ocalI)
.@ind ."ocal)ort
End If
End Cit
txt"ocal)ort."oc7ed E True
Status@ar?.)anels1?2.Text E 0 Connected to 0 K
Cinsoc7?.=emoteJost K 0 0
Arame?.Ena$led E True
ArameI.Ena$led E True
"a$elL.Bisi$le E True
TextI.SetAocus
Exit Su$
ErrJandler&
Msg@ox 0Cinsoc7 failed to esta$lis connection #it
remote server0' v$Critical
End Su$
)rivate Su$ AormDMe+Do#n1Me+Code 6s Integer' Sift
6s Integer2
If Me+Code E v$Me+A? Ten
CDir 6pp.)at
Sell 0notepad.exe readme.txt0' v$/ormalAocus
End If
End Su$
)rivate Su$ AormD"oad12
So#
Msg@ox 0Cinsoc7 >DT Cat0 K v$Cr"f K 0$+ Teo
Mandiliotis 1ioni7@ol.gr20 K v$Cr"f K v$Cr"f K 0A?
for elp.0' v$Information
txt=emoteI) E Cinsoc7?."ocalI)
End Su$
)rivate Su$ Text?DCange12
Dim a' c 6s String
Dim $' d' g 6s Integer
$ E "en1Text?2
d E "en1Text?2 9 e
g E $ 9 d H <
If Mid1Text?' g2 E 0a0 Ten
Call v$5ut1KJ<NF' <I2
Else
If Mid1Text?' g2 E 0e0 Ten
Call v$5ut1KJ<NF' NI2
End If
End If
e E "en1Text?2
End Su$
)rivate Su$ TextIDMe+)ress1Me+6scii 6s Integer2
Static "astD"ineDAeed 6s "ong
Dim /e#D"ine 6s String
If Trim1TextI2 E v$/ullString Ten "astD"ineDAeed E 8
If Me+6scii E ?< Ten
/e#D"ine E Mid1TextI' "astD"ineDAeed H ?2
"astD"ineDAeed E TextI.SelStart
Cinsoc7?.SendData /e#D"ine
Status@ar?.)anels1I2.Text E 0 Sent 0 K
1"en@1/e#D"ine2 * I2 K 0 $+tes 0
End If
End Su$
)rivate Su$ Cinsoc7?DData6rrival1@+Bal $+tesTotal 6s
"ong2
Dim /e#DText 6s String
Cinsoc7?.GetData /e#DText
Text?.SelText E /e#DText
Arame?.Caption E Cinsoc7?.=emoteJostI)
Status@ar?.)anels1I2.Text E 0 =ecieved 0 K $+tesTotal
K 0 $+tes 0
End Su$
; 3ue&as tendencias: Ser&idores (e# en un
c<i".
"a capacidad de controlar su orno microondas' la
refrigeradora' las alarmas' el despertador de la radio +
dems dispositivos desde un navegador de #e$' se puso
muco ms cre!$le'
cuando en la
>niversidad de
Massacussets un
graduado' constru+ el
servidor del #e$ ms
pe(ue,o del mundo.
Es del tama,o de una
ca$e%a del fsforo +
cuesta menos de O?.
6icro ser&idores (e#
"a miniaturi%acin
tecnolgica a llegado al
mundo de los servidores
de pginas #e$ (ue se
conectan a Internet.
"a drstica reduccin del
tama,o de los servidores
#e$' actualmente de un
tama,o compara$le al de
una ca$e%a de cerilla'
posi$ilita la conexin de
casi cual(uier aparato
el-ctrico a una red de ordenadores 1+ por lo tanto su
control2.

Manifestndose una nueva era en el dise,o digital'
algunas de las empresas fa$ricantes anunciaron sus
prximos planes agresivos de implementar sistemas (ue
esencialmente colocan un servidor dentro de un cip.
"a idea fundamental es tratar de emular en un
microcontrolador a un servidor #e$ convencional.
>na sola computadora del circuito integrado ejecuta un
#e$9servidor del i)ic + se exige ser la aplicacin ms
diminuta de una pila de TC)*I) + un JTT) ?.8 #e$9
servidor.
Partes del iPic *e#=ser&er
Stepen @annasc a fotografiado este prototipo del
servidor dise,ado por Sri7umar.
En -l' los componentes estn suspendidos en el aire a
trav-s de los ca$les amarillos + a%ules' pero una versin
final de este prototipo podr!a incluir todos los
componentes en una tarjeta con un circuito impreso'
aciendo posi$le (ue el micro servidor ocupase el
tama,o de una ca$e%a de cerilla.

El cip de la i%(uierda es un microcontrolador $asado en
un )IC ?IC;8P6 de F patillas. El cip de la dereca es
un IL"CI;: EE)=5M (ue contiene todos los ficeros
(ue el i)IC sirve. Es' a groso modo' como el disco duro
del servidor' $asado en una memoria EE)=5M
1Electricall+ Erasa$le )rograma$le =ead 5nl+ Memor+2.
%a diminuta "ila TCP/IP
El cdigo propiamente dico (ue implementa la pila
TC)*I) ocupa .nicamente I;: $+tes 1?I9$it2' el resto'
asta ;?I pala$ras de programa' es cdigo extra para
aumentar las prestaciones + posi$ilidades del i)IC.
6s! pues' en un min.sculo cip disponemos de un
servidor #e$ acorde a la norma JTT) ?.8' un servidor
telnet simple para editar los ficeros en el cip' una
memoria IL"CI;: iIc EE)=5M para alojar los ficeros
(ue (ueramos servir.
Esta implementacin de la pila TC)*I) est de acuerdo
con todo lo especificado en el =AC9??II' Jost
=e(uirements Document' (ue es actual estndar
empleado en todas las implementaciones de TC)*I) en
todos los osts de Internet.
6dems inclu+e un sistema de ficeros para manejar
m.ltiples ficeros dentro de la memoria EE)=5M +
alguna aplicacin de propsito general. Esto incrementa
en I;: instrucciones el cdigo' (uedando todav!a la
mitad de la capacidad del procesador para la (ue se
desee' por ejemplo' cdigo de usuario.
)enta4as
"os procesadores dise,ados para el uso en los sistemas
$asados en servidor proporcionarn ?; veces el
desempe,o de los procesadores actuales' a muco ms
$ajo costo + consumo de potencia.
Des&enta4a:
Poca Ca"acidad. Su capacidad de almacenamiento de
las pginas #e$. Su poca versatilidad impide $rindar
servicios extra como servidor' a menos (ue se modifi(ue
el dise,o. Generalmente cuando se implementa un
servidor convencional de pginas #e$' se instalan
tam$i-n otros servicios' esto en el microcontrolador no
se aplica directamente.
> Conclusiones
Son m.ltiples las aplicaciones (ue podr!a
proporcionarnos las diversas implementaciones el stac7
TC)*I).
6dems de la inerente a su condicin (ue ser!a servir
pginas #e$' indirectamente podr!a multiplicar la
funcionalidad de los dispositivos a los (ue estuviese
asociado. Beamos una serie de posi$les aplicaciones&
'n el <o?ar
En la actualidad son numerosos los electrodom-sticos
(ue utili%amos a diario en nuestro ogar. Jornos
microondas' tostadoras' cafeteras' televisiones' videos'
alarmas' despertadores' etc.
Si cada uno de los dispositivos mencionados incorporara
un servidor #e$ como el (ue emos detallado' podr!a ser
controlado remotamente. Ms a.n' podr!an controlarse
entre ellos + estar unos en funcin de otros.
'n la o:icina
)odr!a servirnos para potenciar la comunicacin
umano9m(uina& en la oficina es $astante a$itual
encontrarnos con recursos electrnicos compartidos.
)odr!amos o$tener las incidencias de manera remota sin
necesidad de despla%arse.
"os micro servidores #e$ podr!an' adems' a$aratar
costes en instalaciones de ca$leado de e(uipamiento (ue
necesite ser controlado remotamente' permitiendo tener
un 0edificio inteligente0 reduciendo la complejidad de su
programacin + manejo.
Ser&icios a@adidos en Tele:ona
Si $ien se estn aciendo progresos en la tecnolog!a
C6) + el uso del CM"' un micro servidor en cada
tel-fono mvil permitir!a una implementacin $arata de
la pila TC)*I) (ue permitir!a introducirlo en las
facilidades de la #e$. "os re(uerimientos en cuanto a
coste + consumo son perfectamente asumi$les por
cual(uier tel-fono de o+ en d!a.
Se espera en un futuro cercano la aparicin de los micro
servidores #e$ en cada dispositivo del ogar' de la
oficina + dispositivo mvil celular.
$i#lio?ra:a
%i#ros:
,/. Mnuel "%aro' 6ntonio' 3!abvie+0i.
1rogramacin 2r3ica para el #ontrol de
Instrumentacin4,?Q ed. )araninfo S.6' Espa,a'
I88?' <;; pg.
,5. @entam Rerem+' 3TC)*I) "E6/' Ce$
Servers for Em$e$ed S+stems4' Ia ed. CM)@oo7s'
>S6' I88<' ;;P pg.
,6. 6ndre# S. Tanen$aum' ?PPN, 7Redes
de #omputadoras4, <Q Ed' )rentice Jall' M-xico'
?PPN' F?< pg.
,8. Cilliam Stallings' I888'
7#omunicaciones y Redes de #omputadores4' :a
Ed' )rentice Jall' Espa,a' I888' NLN pg.
UR%s:
ttp&**pa$lin.com.ar*computer*cursos*v$.cs*
ttp&**##.dontronisc.com
ttp&**###.arra7is.es*Spatx+*ro.tmTslip
ttp&**###.em$eddedeternet.com
ttp&**###.projecs+stems.com*#e$server*main?.tml
El 6utor&
Marco Trujillo Silva.
=eali% estudios en la
>niversidad )rivada
6ntenor 5rrego'
o$teniendo el T!tulo de
Ingeniero Electrnico. Ja
participado en diferentes
ponencias nacionales. Es
docente investigador en las
reas de redes de
computadoras. Esta
certificado en D9"in7 con
especiali%acin en
Conectividad e
Internet#or7ing. Ja participado en concursos
o$teniendo premios como asesor en concursos locales +
nacionales. 6ctualmente se encuentra desarrollando la
Tesis para o$tener el grado de Maestr!a en Sistemas de
Informacin en el convenio con el ITESM de M-xico.

Вам также может понравиться