ESCUELA DE INGENIERÍA DE
TELECOMUNICACIÓN Y ELECTRÓNICA
TRABAJO FIN DE GRADO
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE
DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ti ulación: Ingenie o Técnico de
Telecomunicación, especialidad en Telemá ica
Au o : Ami L. Babani Babani
Tu o es: No be o Ramos Cale o
Fecha: Feb e o 2014
Ami Babani
2
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
P oyec o inal de ca e a
3
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
ESCUELA DE INGENIERÍA DE
TELECOMUNICACIÓN Y ELECTRÓNICA
TRABAJO FIN DE GRADO
Con ol y moni o ización de sis emas de domó ica
median e un in e az web
HOJA DE FIRMAS
Alumno/a
Fdo.: Ami L. Babani Babani
Tu o /a
Fdo.: No be o Ramos Cale o
Fecha: Feb e o 2014
Ami Babani
4
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
P oyec o inal de ca e a
5
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
ESCUELA DE INGENIERÍA DE
TELECOMUNICACIÓN Y ELECTRÓNICA
TRABAJO FIN DE GRADO
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE
DOMÓTICA MEDIANTE UN INTERFAZ WEB
HOJA DE EVALUACIÓN
Cali icación: ___________________________
P esiden e
Fdo.:
Vocal Sec e a io/a
Fdo.: Fdo.: Nomb e del sec e a io
Fecha: Feb e o 2014
Ami Babani
6
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
P oyec o inal de ca e a
7
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Índice
Ami Babani
8
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Índice
1. In oducción Gene al .................................................................................................................... 11
2. Memo ia ....................................................................................................................................... 17
2.1 In oducción al P oyec o ........................................................................................................ 17
2.2 Diseño de ci cui os ................................................................................................................. 19
2.2.1 Placa P incipal.................................................................................................................. 22
2.2.2 Placa Mando .................................................................................................................... 27
2.3 Lis a de Componen es ............................................................................................................ 32
2.4 Comunicaciones en e in e aces ........................................................................................... 38
2.5 So wa e de la Placa P incipal ................................................................................................ 42
2.5.1 Resumen .......................................................................................................................... 44
2.5.2 Desc ipción de Au óma as .............................................................................................. 47
2.5.3 Diag ama de Es ados ....................................................................................................... 50
2.6 So wa e de la Placa Mando ................................................................................................... 55
2.6.1 Resumen .......................................................................................................................... 57
2.6.2 Desc ipción de au óma as ............................................................................................... 59
2.6.3 Diag ama de bloques ....................................................................................................... 62
2.7 So wa e de la Placa Web ....................................................................................................... 67
2.7.1 Resumen .......................................................................................................................... 69
2.7.2 Desc ipción de unciones ................................................................................................ 73
2.9 Recu sos ................................................................................................................................. 76
2.9.1 MPLab 8 ........................................................................................................................... 77
2.9.2 Lenguaje Ensamblado .................................................................................................... 78
2.9.3 PICKi 2 ............................................................................................................................ 79
2.9.4 P o eus Isis ...................................................................................................................... 81
2.9.5 HTML5 ............................................................................................................................. 82
2.9.6 DIA Diag am ..................................................................................................................... 84
2.9.7 T imble Ske chUP ............................................................................................................ 86
2.9.8 Adobe Pho oshop ............................................................................................................ 87
2.9.9 P o ocolo IEEE 802.3 ....................................................................................................... 89
2.9.10 YAT (Ye Ano he Te minal) ........................................................................................... 90
P oyec o inal de ca e a
9
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.10 Conclusión ............................................................................................................................ 92
3. P esupues o.................................................................................................................................. 95
3.1 Pliego de condiciones ............................................................................................................. 97
3.2 P esupues o - Mon aje placa p incipal .................................................................................. 99
3.3 P esupues o - Mon aje placa mando (1 unidad) .................................................................. 100
3.4 P esupues o -Desa ollo so wa e y diseño de ci cui os ..................................................... 101
3.5 P esupues o – Sis ema o al (1 Placa P incipal + 4 Mandos) ............................................... 102
4. Anexos ........................................................................................................................................ 103
4.1 Reglamen o de baja ensión ITC-BT-51 ................................................................................ 105
4.2 Código Fuen e Placa P incipal .............................................................................................. 110
4.3 Código Fuen e Placa Mando ................................................................................................ 138
4.4 Código Fuen e Página Web .................................................................................................. 157
5.0 Bibliog a ía ............................................................................................................................... 165
Ami Babani
16
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2. Memo ia
P oyec o inal de ca e a
17
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2. Memo ia
2.1 In oducción al P oyec o
Con es e p oyec o, se p e ende acili a el con ol y la ges ión a los usua ios en ealiza acciones
comunes en un espacio labo al, indus ial y/o domés ico, al como el con ol de la luz de una casa
u o icina. Además es e p oyec o p e ende que el sis ema se pueda ex apola a o os usos que
pueden se de g an u ilidad pa a o as indus ias donde las necesidades a cub i sean de una
mayo complejidad.
El mé odo a segui pa a cumplimen a dichos obje i os, se á median e la u ilización de un sis ema
domó ico, el cual, pe mi i á el con ol de un sis ema de iluminación en un espacio de e minado,
pe mi iendo así al usua io, su con ol según sus necesidades. Es e sis ema ambién cuen a con la
inco po ación de senso es de p esencia que encende án y apaga an las luces en el caso de
de ec a una pe sona o un obje o den o de su á ea de mues o.
El sis ema domó ico ambién o ece la posibilidad de moni o iza y ges iona la iluminación de
odos los habi áculos del espacio (habi aciones, cocina, pasillos, cua o de almacenaje…) donde ha
sido ins alado de o ma indi idual, con la posibilidad de encende , apaga las luces, o bien
ac i a /desac i a los senso es de p esencia pa a que las luces se enciendan únicamen e cuando
alguien es é den o de la habi ación. Todo ello es posible g acias a la implemen ación de un
sis ema de moni o ización y con ol median e una página web compa ible p og amado bajo los
es ánda es HTML5, lo que pe mi i á su o al acceso desde cualquie disposi i o in o má ico
p o is o de un na egado web y una conexión a in e ne .
La p incipal en aja a des aca del ac ual sis ema domó ico p opues o adica en la acilidad del
usua io pa a accede y moni o iza a eas comunes a ges iona en un espacio de o ma emo a,
desde cualquie luga y en cualquie momen o. Uno de los obje i os de es e p oyec o, una ez
haya alcanzado una ase de desa ollo en el que pueda come cializa y se empleado al me cado
global, es da la posibilidad de ins ala dicho sis emas a o os sec o es cla es den o de la
indus ia como a la domés ica.
Ami Babani
18
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.2 Diseño de ci cui os
P oyec o inal de ca e a
19
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.2 Diseño de ci cui os
El sis ema comple o domó ico p opues o cons a del diseño y del mon aje de a ias placas, odas
ellas siguen un pa ón de abajo, de diseño y p og amación simila en e ellas. Cabe des aca que
odas ellas:
T abajan con ensiones TTL (5 Vol ios)
Tienen un egulado de ensión inco po ado pa a la p o ección de pequeños sob e
ol ajes (has a 25 Vol ios)
U ilizan una con olado a MAX487 pa a ges iona la comunicación con el canal de da os
Todas las placas es án conec adas al mismo canal de da os
Disponen de una mic ocon olado a con un so wa e especí icamen e diseñado pa a
ealiza su unción
Pa a la demos ación del sis ema domó ico se han diseño dos ipos de placas p o o ipos. La
p ime a, la placa p incipal, en donde han in eg ado los disposi i os del mic ose ido web, que da
se icio a la página web dando las uncionalidades de ges ión y moni o ización emo a, y el
disposi i o de p ocesado p incipal, enca gada de ges iona odas las comunicaciones en e las
dis in as placas, es ados de las luces como mues ea los senso es de p esencia en caso necesa io.
La segunda placa, denominada placa de mando, iene como obje i o el ecoge las ins ucciones
en iadas po los usua ios den o del espacio de o ma manual, ya que es os disposi i os disponen
un pulsado pa a al e ec o. En u u os diseños, la placa mando pod á con ene un eclado
numé ico comple o pa a pode en ia ins ucciones más complejas al sis ema domó ico. El
sis ema puede con ene más de una placa del ipo mando, siemp e y cuando el núme o de
disposi i os o ales conec ados al bus de da os no supe e los 128, es a es una limi ación de
ha dwa e que iene dada po la con olado a empleada. En es a demos ación se han simulado
has a un o al de 4 placas de mando y se han cons uido dos 2 p o o ipos mando. Pa a que las
placas mando puedan comunica se en e sí, se á necesa io que odas ellas es én conec adas al
mismo bus común de da os en donde es á conec ada la placa p incipal como se mues a en la
Ilus ación 3 .
Disposi i o p ocesado p incipal
Placa P incipal
Disposi i o mic ose ido web
Placa Mando Disposi i o mando
Ami Babani
20
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ilus ación 3 - Conexionado gene al
Todas las placas y/o disposi i os uncionan independien emen e, el único disposi i o
indispensable pa a que el sis ema domó ico pueda unciona co ec amen e, se ía de un
disposi i o p incipal. El es o de los disposi i os que componen el sis ema añaden uncionalidades
ex as al sis ema no indispensables, de es e modo se consigue un sis ema domó ico escalable en
donde iene cabida pode diseña nue os disposi i os adicionales en el u u o y pode ag ega lo al
bus de da os, p e iamen e añadiendo su espec i a ins ancia den o del disposi i o p incipal pa a
que pueda in e ac ua con él.
Todos los componen es empleados pa a la cons ucción de odos los elemen os han sido soldados
sob e placas PCB es ánda es empleando capsulado DIL, ya que de es a o ma acili ó su
cons ucción, modi icación y oma de medidas du an e odo el p oceso de cons ucción.
La placa p incipal desempeña dos unciones, la p ime a es el in e ac ua con los senso es de
p esencia así y el sis ema de luces y el segundo es el ges iona la página web en donde se pod á
moni o iza el es ado de la iluminación en iempo eal.
El sis ema puede ene a ias placas de mando siemp e y cuando los disposi i os o ales
conec ados al sis ema no supe en los 128 disposi i os. La unción de las placas mando es da la
posibilidad de con igu a manualmen e el es ado de la luz a la que es á asociada, ya que cada
mando es á asociado a una única luz. Los es ados posibles que pueden es a cada luz son:
encendido, apagado y au omá ico. Las placas mando es án p o is as de un pulsado , cada ez que
son ac uados comunica án su cambio de es ado a la placa p incipal.
P oyec o inal de ca e a
21
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.2.1 Placa P incipal
Ami Babani
22
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.2.1 Placa P incipal
La placa p incipal se conside a la unidad cen al, y es á compues a po dos disposi i os; el
disposi i o mic ose ido web, enca gada de albe ga y o ece la página web que pe mi e el
con ol del sis ema domó ico comple o, y el disposi i o de p ocesado p incipal, enca gada de
sinc oniza odos los da os en iados a a és del hilo de comunicaciones y el se ido web. Es os
dos disposi i os se comunican en e sí a a és del bus común de da os al que es án conec ados
odos los disposi i os, inclusi e las placas mando. En la placa p incipal se in eg an ambas unidades
en una misma placa, pe o no necesa iamen e necesi an que ambas es én en la misma placa pa a
las posibles u u as modi icaciones u u as, pudiendo u iliza dos placas de o ma independien e,
uno pa a cada uno si en la implemen ación eal lo equi iese po cues iones de conexionado.
En la siguien e ilus ación se mues a el ci cui o diseñado pa a la cons ucción de la placa p incipal
que iene como unción ges iona los senso es de p esencia (u ilizando unos pulsado es en su
luga ), el sis ema de iluminación ges ionados a a és de un juego de elés y el mic ose ido web.
Ilus ación 4 – Esquemá ico placa p incipal
Fijándonos en la Ilus ación 4 de la placa p incipal, podemos obse a que se emplea un
mic ocon olado PIC16F690 con la aplicación p og amada como unidad de p ocesado p incipal,
es é es a á conec ado al juego de senso es de p esencia y al sis ema de elés pa a ges iona el
sis ema de iluminación, dos con olado MAX487 pa a ges iona las comunicaciones con el canal
de da os común RS4857, uno de ellos se u iliza á pa a el mic ose ido web basado en el
7 Consul a : 2.4 Comunicación en e in e aces pa a más in o mación
P oyec o inal de ca e a
23
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
mic ocon olado EzWeb y el segundo pa a la unidad p incipal de p ocesado, la oma oma
ex e na se usa á como conec o hacía el bus de da os donde se conec a an el es o de las placas
mando.
Pa a el p o o ipo se han empleando unos pulsado es pa a simula los senso es de p esencia que
es án conec ados al mic ocon olado PIC16F690 del disposi i o p incipal de p ocesado a a és
del pue o A con igu ado como en ada, es os senso es/pulsado es no equie en de una
esis encia, ya que es án con igu ados como pull-ups po so wa e, la de ección de la ac i ación
de los pull-ups se hace po el so wa e in eg ado en el mic ocon olado PIC16F690.
El elé conec ado al mic ocon olado se u iliza pa a simula un sis ema de iluminación comple o,
es os es án conec ados al pue o C con igu ado como salida del mic ocon olado . Pa a la
cons ucción del p o o ipo con ines demos a i os se ha empleado un juego de diodos led en
luga de un sis ema de iluminación comple o pa a simula su uncionamien o.
La ansmisión de da os en e el mic ose ido Ezweb y el mic ocon olado se hace a a median e
el pue o de comunicaciones EUSART que iene in eg ado en los p opios mic ocon olado es de
áb ica. En es e caso ambién se u iliza una con olado a MAX487 pa a in e conec a dichos
pue os, y a su ez conec a el bus de da os c eado en e ambas con olado as a la oma ex e na
que ambién la comunicación a las demás placas mando del sis ema. En un diseño p e io se
ba ajeo la posibilidad de implemen a un segundo pue o se ie po so wa e en el
mic ocon olado pa a comunica se con el se ido web Ezweb pa a aho a la implemen ación
de una segunda con olado a MAX487 u ilizada po el mic ose ido Ezweb, pe o inalmen e se
desca ó dicha posibilidad, ya que de es a o ma o ece una mayo lexibilidad al sis ema, dando
la opción de sepa a el se ido web de la placa p incipal en u u os diseños en caso necesa io. La
con olado a MAX487 es una con olado a hal -duplex, po lo que se es ablece en modo
ecepción po de ec o, en el momen o en el que el disposi i o de p ocesado p incipal o el
mic ose ido web equie a ansmi i un da o es ablece á su espec i a con olado a MAX487 en
modo en ío du an e la ansmisión de la ama. Pa a ello el mic ose ido Ezweb emplea á el pin
13, con igu ado como salida digi al, y el mic ocon olado el pin 6 del pue o C con igu ado como
salida pa a al e na en e en ío y ecepción sus espec i as con olado as MAX487.
La placa p incipal eque i á de una ensión con inua de 5V TTL8 pa a que odos los componen es
uncionen co ec amen e. La en ada de co ien e a la placa es a á egulada po un ci cui o de
egulado de ensión de allado en la Ilus ación 5.
8 T ansis o - ansis o logic, es deci , lógica ansis o a ansis o
Ami Babani
24
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ilus ación 5 – Esquemá ico de egulado de ensión
En la Ilus ación 5 se ap ecia el conexionado y los componen es empleados pa a el egulado de
ensión. Es e egulado de ensión es a á mon ando en la en ada co ien e de ambos ipos de
placa. G acias a es e egulado , podemos asegu a nos de que la placa siemp e ecibi á una
ensión de 5 Vol ios, y e i amos el sob e ol aje del mismo pa a e i a daños no deseados.
Como esul ado inal siguiendo diseño del ci cui o pa a la placa p incipal desc i o en el p esen e
apa ado, se ha ensamblado el siguien e p o o ipo, es e di ie e del diseño inicial en el núme o de
led y senso es que iene, ya que solo se implemen a on 2 led y 2 senso es en luga de 4 como se
puede obse a en el diseño del ci cui o p incipal, ya que pa a e ec os demos a i os no a ia á
su esul ado:
P oyec o inal de ca e a
25
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ilus ación 6 - Fo og a ía del p o o ipo de la placa p incipal
Ami Babani
32
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.3 Lis a de Componen es
Se emplea on los siguien es componen es pa a la cons ucción de los p o o ipos:
Placa P incipal
1 x Ezweb Lynx 5V
1 x PIC16F690
2 x Max487
4 x Luces (Se emplea on Diodos Led pa a el p o o ipo)
4 x Resis encias de 240 Ohmios (pa a el p o o ipo)
1 x Resis encia de 4700 Ohmios (4k7), pa a el bus
1 x Con olado de elés ULN2803
4 x Senso es (Se emplea on pulsado es pa a el p o o ipo)
1 x Toma ex e na
2 x Jumpe es
1 x Conec o de 6 pines
Placa Mando
1 x PIC16F690
1 x Max487
3 x Diodos Led
3 x Resis encias 240 Ohmios
1 x Resis encia 10000 Ohmios (10K)
1 x Condensado 100nF
1 x Pulsado
1 x Toma ex e na
Es abilizado de co ien e (po cada placa)
1 x Fuen e de alimen ación 9 ol ios
1 x Condensado de 1000uF
2 x Condensado es 100nF
1 x Regulado 7805
1 x Toma ex e na
Mic ocon olado PIC16F90
El mic ocon olado PIC16F690 desa ollado po Mic ochip, en encapsulado DIP ue el empleado
pa a los in e aces. Dicho mic ocon olado con iene elemen os necesa ios pa a con o ma una
"unidad cen al de p ocesamien o" UCP (o CPU en inglés).
P oyec o inal de ca e a
33
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Un mic ocon olado es un ci cui o in eg ado que inco po a las es unidades uncionales de una
compu ado a: CPU, memo ia y unidades de E/S, es deci , se a a de una mini compu ado a
in eg ada en un ci cui o.
Las p incipales ca ac e ís icas que posee son:
Mapa de Memo ia: Con un p og ama con ado de 13-bi capaz de di ecciona un
p og ama de 8K x 14 espacios de memo ia. Solo los p ime os 4K x 14 (0000h-0FFFh) son
ísicamen e ejecu ados
Pue os: Tiene 3 pue os con igu ables como en ada/salida
PORTA: Pue o bidi eccional de 6-bi s de ancho
PORTB: Pue o bidi eccional de 4-bi s de ancho
PORTC: Pue o bidi eccional de 8-bi s de ancho
O ganización de Memo ia: Los da os en la memo ia son di ididos en 4 bancos que
con ienen los Regis os de P opósi o Gene al (GPR) y los Regis os de Funciones
Especiales (SFR). Los Regis os de Funciones Especiales es án localizados en los p ime os
32 luga es de cada banco. Los Regis os de P opósi o Gene al, implemen ado como RAM
es á ica se localizan en los úl imos 96 luga es de cada banco.
S ack Poin e : Con un Ni el 8 x 13-bi de ancho de pila de ha dwa e. Los espacios en la
pila no son pa e de los p og amas o espacios de da os y el pun e o de pila no es legible o
e-esc ibible. El PC es apilado en la pila cuando la ins ucción CALL es ejecu ada o una
in e upción a causa de una ama. La pila es e i ada po la ejecución de los comandos
RETURN, RETLW o un RETFILE.
Con e ido A/D: Con e ido in eg ado de da os analógicos y digi ales
EEPROM y Flash: La Memo ia EEPROM con iene da os de lec u a y esc i u a La memo ia
de p og ama Flash es la sección donde se almacena á nues o p og ama, y es de solo
lec u a du an e su ejecución. Es as Memo ias no son di ec amen e asignadas en el
a chi o de egis o de espacio. En luga de ello, son indi ec amen e a adas a a és de
los Regis os de Función Especial (FRS).
Ami Babani
34
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ilus ación 10 - Pinou PIC16F690
MAX487
La unción de los in eg ados MAX487 es la c eación de un bus de comunicación en e los dis in os
in e aces, empleando una comunicación RS-232. Todos los mic ocon olado es u ilizados en el
diseño ienen p o is os de un pue o USART, lo que hace su implemen ación más sencilla como
escalable has a 128 disposi i os. El in eg ado MAX487 des aca po se un ans ecep o de bajo
consumo, y pe mi e ansmisiones de has a 250kbps sin e o es con un consumo que a ía en e
120μA y 500μA, aunque es a puede descende a 0.1μA cuando no es á en uso, y equie e una
en ada cons an e de 5V (TTL). Se empleo un encapsulado DIP pa a el mon aje del p o o ipo.
Ilus ación 11 - Pinou MAX487
Ezweb Lynx 5V
El Ezweb Lynx es un in eg ado que pe mi e añadi una comunicación con la ed de in e ne y un
se ido de páginas web in eg ado a un solo ci cui o. Las aplicaciones web que se pueden
p og ama den o del se ido web se pueden desa olla en HTML5.
P oyec o inal de ca e a
35
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
El Ezweb des aca po :
Comunicación po comandos AT, AT sob e UDP y HTTP CGI, que se pueden in eg a
den o del código HTML5
11 pue os de en ada/salida de los cuales:
o 5 pue os pueden abaja de o ma analógica
o 2 pue os como senso es de empe a u a I2C Dallas en Celsius o Fah enhei
Bloqueo del pe i é ico po con aseña
256 egis os olá iles y no olá iles de 8 bi s
Comunicación se ial
En ío de emails a a és de se ido SMTP
Implemen ación pa a pan allas LCD
ID único de pe i é ico, pa a su iden i icación po si se abaja con a ios a la ez
Con ol o al de con igu ación IP
Ilus ación 12 - Pinou Ezweb
ULN2803
El ULN2803 es un a ay de 8 ansis o es Da ling on en un encapsulado de 18 pines. Es ideal pa a
hace de puen e en e sis emas lógicos digi ales (TTL y CMOS) a ci cui os de mayo ol aje
necesa ios pa a alimen a lámpa as, elés, imp eso as, e c.
Ami Babani
36
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ilus ación 13 - Pinou ULN2803
Regulado 7805
78xx es la denominación de una amilia de egulado es de ensión posi i a, de es e minales:
ol aje de en ada, ol aje de salida y masa. El egulado 7805 es el más común u ilizado en
diseños empo ados que abajan con ensiones TTL (5 ol ios). El 7805 es un egulado lineal
hecho po a ios ab ican es como Fai child, o ST Mic oelec onics. Incluyen p o ección po
sob eca ga é mica, y con a co oci cui os. Requie e una ensión de en ada de 7V- 25V pa a su
co ec o uncionamien o. Pa a co ien es de salida has a de 1A exis en dos ipos de encapsulados:
TO-220 ( e ical) y D-PAK (ho izon al). El encapsulado es el TO-220.
Ilus ación 14 - Pinou 7805
P oyec o inal de ca e a
37
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.4 Comunicaciones
en e in e aces
Ami Babani
38
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.4 Comunicaciones en e in e aces
Pa a la comunicación en e dis in as placas que componen el sis ema se ha empleado un bus que
unciona bajo el p o ocolo RS485. RS485 des aca po se un sis ema de comunicaciones
mul ipun o, las ansmisiones se ealizan sob e dos hilos hal -duplex. Al se su asmisión en
di e encial son idóneas pa a el sis ema p opues o po la p o ección en e a uidos que posee y la
posibilidad de comunicación en e a ios in e aces que engan p o is os de un pue o se ie
in eg ado sin ene que modi ica el so wa e in eg ado en el con olado pa a ello.
La es uc u a de las amas empleadas en el sis ema son simila es a las empleadas en las
comunicaciones de ed con p o ocolo IEEE 802.3. Los mandos, o los sis emas gené icos es án
conec ados a la placa p incipal siguiendo una opología ipo bus indicado en la Ilus ación 15:
Ilus ación 15 - Topología bus
Todas las placas en ían da os de o ma simul ánea cuando lo equie an los comandos al bus, y la
placa p incipal se á la enca gada de sinc oniza dichos da os, p ocesa los, y esponde a las
solici udes ealizadas en el sis ema. Va ios ejemplos de cómo las placas se comunica ían en e sí a
a és del hilo de comunicaciones común se ía el siguien e:
P oyec o inal de ca e a
39
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ejemplo de secuencia de amas
La secuencia a segui en las comunicaciones de amas en e las dis in as placas pod ía se la
siguien e:
Cuando la placa mando necesi a no i ica un cambio de es ado:
Mando en ía ama Es ecibida y a ada po la Placa p incipal.
Placa p incipal en ía ama de e i icación Recibida po se ido web y la placa mando
La placa mando p ocesa el da o y ac ualiza su juego de led, el se ido web ambién
p ocesa el mismo da o y ac ualiza su página
Cuando el se ido web necesi a no i ica un cambio de es ado:
Se ido web en ía ama Es ecibida y a ada po el con olado p incipal.
Placa p incipal en ía ama de e i icación Recibida po se ido web y la placa mando
La placa mando p ocesa el da o y ac ualiza su juego de led, el se ido web ambién
p ocesa el mismo da o y ac ualiza su página
La placa p incipal ambién es la enca gada de ac ualiza el es ado de las luces a a és de los elés
y oma mues as del es ado de los senso es (en el caso de que haya alguna luz ope ando en
modo au omá ico).
Fo ma o de ama
El o ma o de los da os en iados po las dis in as placas y del se ido web es semejan e a las
amas empleadas en las comunicaciones de edes. Es as amas siemp e con end án los
siguien es campos:
P eámbulo
Des ino
O igen
Long
Da os
CRC
FIN
Con ello se in en a es anda iza odas las comunicaciones an o de las placas que el sis ema
con iene ac ualmen e, como las posibles u u as placas que se pod án i in eg ando al sis ema en
pos e io es ac ualizaciones.
A con inuación explicamos con mayo de alle que da os con end á cada campo:
P eámbulo: Pa a de ec a el inicio de ama, se emplea el by e 0xAB, semejan e al inicio de ama
pa a en las comunicaciones con p o ocolo IEEE 802.3, siendo en bina io 10101011.
Des ino: Es e campo con end á un by e en donde se especi ica a quien es á des inado la ama de
da os, cada disposi i o en el sis ema iene un iden i icado único, de allado a con inuación:
0x01 : Mando 1
0x02: Mando 2
0x03: Mando 3
Ami Babani
40
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
0x04: Mando 4
0x10: Placa P incipal
0x20: Se ido Web
O igen: U ilizando los mismos iden i icado es que en el campo des ino, en es e campo se de ine
que disposi i o emi ió la ama de da os.
Long: Es e campo, de inido po un by e, de ine la longi ud del siguien e campo de da os. En el
caso que la ama haya sido emi ida po una placa mando, po el se ido web o bien desde la
placa p incipal con des ino a una placa mando, la longi ud del campo de da os se á de 7
(de allado a con inuación), en cambio si la placa p incipal emi e una ama al se ido web, es e
campo end á el alo de 11, ya que el campo de da os con end á 11 by es.
Da os: La longi ud del campo da os, especi icada an e io men e, iene de inida po el campo
LONG, en es e sis ema es amos empleando dos ipos de da os, da os usados pa a la comunicación
en e:
Placa P incipal <--> Placa Mando
Se ido Web Placa P incipal
El o ma o de ama u ilizado en e la placa y las placas de mandos y del se ido web
hacía la placa p incipal es a á compues o po 7 by es y con end á los siguien es alo es:
LaEbMc (7 by es)
a = Iden i icado del juego de iluminación (pa a u u as
implemen aciones)
b = Es ado de la iluminación (pa a u u a implemen aciones)
c = Modo de ope ación (0x00-Au o, 0x01-On, 0x02-O )
El modo de ope ación indica el modo en el que es á ac uando la luz que iene
asignado dicho mando, si la luz es a en modo:
AUTO: Pe manece á encendida du an e X segundos cada ez que se de ec e
mo imien o a a és de los senso es conec ados al placa p incipal.
ON: La luz asignada se man end á encendida.
OFF: La luz asignada es a á apagada
Po ejemplo, si una placa mando quisie a no i ica que es á abajando en modo OFF, o
bien la placa p incipal quisie a es ablece una placa mando en modo OFF en ia ía el
siguien e da o:
L0E0M2
Placa P incipal Se ido Web
P oyec o inal de ca e a
41
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
El siguien e o ma o de da os es el u ilizado en e la placa p incipal y el se ido web. Es e
campo de da os es a á compues o po 15 by es.
Inicio
ama
da os
1º
secuencia
AT
Nº de
Luz
2º pa e de
secuencia AT
Es ado
Fin
ama
da os
<CR><CL>
AT*NVREG
14
=
0 2
<CR><CL>
El es ado iene signi icando lo siguien e:
0: Modo Au o
1: Modo On
2: Modo O
Po ejemplo, si ue a necesa io no i ica al Ezweb que la luz 2 es á en modo au o, el
campo da os end ía la siguien e in o mación:
AT*NVREG2=0
Debido a que la placa web no es á siemp e a la espe a de ecibi un da o pa a a a lo, se
ha ecu ido a la opción de usa uno de sus comandos AT in e nos pa a almacena el
es ado de cada luz en una di ección de memo ia dis in a, así cada ez que la placa web se
ca gue ome los alo es del es ado de cada luz de sus espec i os bancos de memo ia.
Es muy impo an e que los comandos en iados al mic ose ido Ezweb es én delimi ados
con los ca ac e es <CR><CL> 10pa a que los pueda p ocesa , el ca ác e <CR> (equi alen e
equi ale a un sal o de ca o y <CL> a un sal o de línea.
CRC: Código de e i icación, pa a asegu a que el sis ema ha ecibido la ama con los da os
co ec os. El cálculo del CRC se ealiza á en la placa des ino, y pos e io men e lo comp oba á con
el ecibido en la ama, si el alo de CRC coincide, la ama es co ec a, si no, se á desechada, ya
que se á un indicio de que ha habido un e o en la comunicación.
El cálculo del CRC se calcula sumando el alo de odos los by es de la ama del campo o igen
has a el úl imo by e del campo da os con complemen o a 1.
FIN: El campo de in de ama es á de inido po dos by es (0x05 0x05), es o es necesa io pa a los
in e aces que equie an un campo de in de ama pa a sus sis emas de bu e como en el caso
del se ido web (Ezweb)
10 Los equi alen es en hexadecimal a dichos ca ac e es son los siguien es: <CR>=0x0D <CL>=0x0A
Ami Babani
48
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Clea _e o (): Siemp e en uncionamien o, unción enca gada de de ec a e o es en la eusa y
co egi lo.
En la siguien e ilus ación se puede obse a de una o ma más global los cambios su idos en los
indicado es a la medida que las unciones es án siendo ejecu adas, es e se á muy pa ecido al
empleado en la aplicación empleada en la del mando.
Ilus ación 17 - Diag ama de cambios de lags en placa p incipal
P oyec o inal de ca e a
49
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.5.3 Diag ama de
Es ados
Ami Babani
50
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.5.3 Diag ama de Es ados
Clea _e o
Función enca gada pa a de ec a e o es de sinc onización de en ana del ipo "o e un". Los
e o es o e un ienen luga cuando se p oduce un sob e desbo damien o de da os en el bu e
de en ada.
Es a unción siemp e es á en uncionamien o, sin impo a el es ado de los lags de es os. Si la
unción de ec a un e o de en ana o en el desbo damien o, se enca ga á de einicia la EUSART
y acia el bu e de en ada pa a co egi el p oblema y pa a que la aplicación siga uncionando
con no malidad.
DESCRIPCIÓN DE LOS ESTADOS
Es ado Inicial: Si de ec a que el bi OERR en el egis o RCSTA es á a ni el al o, es a
in oca á la unción RESET_OERR. Si OERR es á a ni el bajo la unción, e mina á y ol e á
al bucle p incipal.
RESET_OERR: Es a unción se enca ga á de einicia la EUSART, y si de ec a un da o en el
bu e de en ada llama á a la unción EMPTY_BUFFER
EMPTY_BUFFER: Es á unción es a á enca gada de acia el bu e de en ada, no sald á
de su bucle has a que el bu e de en ada es é o almen e acío.
Ilus ación 18 -Diag ama de bloques Clea _e o
E alua _ x
Es a unción es la enca gada de e alua el bu e de en ada en el caso que el lag da a eady es e
ac i ado. Es e, e alua á su con enido e iden i ica á el emiso de dicha ama (di ección 0x40) y, si
la ama p o iene de un placa que se conoce, se ac i a á el lag indicado pa a que sea
pos e io men e e aluada po o a unción. En es e caso p ác ico solo econoce á un ipo de
ama, po lo que si ecibimos una ama alida se ac i a á el lag e al_mando pa a que sea
pos e io men e e aluada po la unción e alua _mando().
P oyec o inal de ca e a
51
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Read_se ial
Pa a que es a unción se ejecu a a necesi a ía que el lag de da a eady y del de se ial es é
desac i ado. Es la unción enca gada de lee en el bus da os si ecibe alguna ama álida a la
placa en cues ión, dicha ama se á desechada si no cumple los siguien es equisi os:
No comienza con el by e de inicio de ama (0xAB)
El campo des ino de la ama no coincide con la di ección hos de la placa
La ama no iene un amaño de da os álido
El alo del CRC (suma de e i icación), no coincide con el calculado en la ecepción
En el caso de se álida se ma ca á como ac i o el lag de da a eady y e al_ x.
DESCRIPCIÓN DE LOS ESTADOS
E0: Es ado de de ec a el inicio de ama, no i á al siguien e es ado has a que le llegue el
by e 0xAB.
E1: Es ado de de ec a el si la ama es á des inada a la placa ecep o a. La di ección del
ecep o se de ine en los pa áme os iníciales bajo la a iable HOST. Si no es á des inada a
es a placa se uel e al es ado inicial E0, en caso con a io se i ía al siguien e. En es e
es ado se inicia el cálculo del CRC (suma de e i icación).
E2: Es ado enca gado de de ec a la di ección del emiso de la ama. La placa sólo
pe mi i á la ecepción de amas de la di ección de inida bajo la a iable CONTROL
de inida en los pa áme os gene ales. En caso de es a pe mi ida se sal a al siguien e
es ado y se ac ualiza el CRC, en caso con a io se uel e al es ado inicial E0.
E3: Es ado enca gado de ecibi la longi ud del campo da os. El sis ema solo pe mi e
campos de da os de longi ud 7. Si es di e en e a es e, se ol e á al es ado E0, en caso
con a io se sal a al siguien e es ado y se ac ualiza el alo del CRC.
E4: Es ado enca gado de almacena el los 7 by es del campo da os en el bu e de
en ada. Una ez es én los 7 by es, se sal a á al siguien e es ado y se ac ualiza á el alo
del CRC.
E5: Es ado de comp obación del CRC, se compa a á el CRC ecibido con el calculado
localmen e, si coinciden se ma ca á el lag de da a eady a 1, de lo con a io, se deja á en
0. Se uel e al es ado inicial E0.
Ami Babani
52
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ilus ación 19 - Diag ama de bloques Read_se ial
En ia _ x
Si el lag de se ial es á ac i ado, en ia á a a és del bus, el bu e de salida. Es e bu e de salida
debe ía de habe es ado p epa ado po la unción que ac i o el lag se ial. El bu e end á el
siguien e o ma o:
1º Pa e del bu e des inado a los mandos
INICIO
(1 by e)
DESTINO
(1 by e)
ORIGEN
(1 by e)
TIPO
(1 by e)
DATOS
(7 by e)
CRC
(1 by e)
2º Pa e del bu e des inado al Ezweb
“AT*NVREG”
(8 by es)
Nº LUZ
(1 by e)
“=”
(1 by e)
MODO
(1 by e)
DESCRIPCIÓN DE LOS ESTADOS
E0: Es ado enca gado de en ia la p ime a pa e del bu e , una ez que haya e minado
sal a á al siguien e es ado. Pond á el es ado del MAX485 en modo en ío, el MAX485 no
ol e á al es ado de ecepción has a que se e mine de en ia la ama comple amen e.
An es de en ia cada by e se comp ueba si el bu e de en ío es á lib e, si no lo es á
ol e á a la unción p incipal. Cada ez que un by e haya sido en iado, se ac ualiza á el
alo del CRC. La p ime a pa e del bu e es a á compues o de 11 by es.
E1: Se en ia á el úl imo by e de la ama que co esponde á al CRC en cuan o es é lib e el
bu e .
P oyec o inal de ca e a
53
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
E2: Añade un pequeño e a do necesa io pa a que el mic ose ido Ezweb le dé iempo
en desecha la ama an e io y pueda p ocesa es a siguien e ama que se a a en ia .
E3: Se en ia á la segunda pa e del bu e des inado al Ezweb compues o de 11 by es.
E4: Se e isa á si el bu e es a lib e y se inicia á un con ado .
E5: Cada ez que se in oque es e es ado el con ado se educi á en 1. Una ez haya
llegado a ce o, se ol e á a pone el MAX485 en modo ecepción, y se einicia odos los
alo es pa a p epa a la unción pa a el p óximo en ío.
Ilus ación 20 - Diag ama de bloques en ia _ x
Senso
Función enca gada de moni o ea los senso es del juego de luces que se es én en modo au o.
Cada ez que se de ec e mo imien o, se encende á la luz y einicia á el con ado asignado a dicha
luz. Cuando el con ado llegue a 0, la luz asignada a dicho con ado se apaga á. En el caso de que
la luz es é en modo on u o , la luz se queda á ija apagada o encendida.
Es a unción con end á un es ado po cada senso a moni o ea , pe mi iendo así cie a
escalabilidad a la ho a de que e añadi senso es adicionales.
E alua _mando
Es á unción se á la enca gada de cons ui dos bu e s, el p ime bu e es a á des inado pa a los
mandos y el segundo pa a el mic ose ido Ezweb. Es o lo ha á aco de a los da os ecibidos po el
pue o se ial. Una ez que haya cons uido dicho bu e ac ualiza á la a iable in e na
MODO_SYNC, desac i a á los lags de da a eady y e al_mando.
E0: Cons ucción del bu e de salida, se sal a al es ado E1
Ami Babani
54
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
E1: Iden i ica a que mando pe enece la úl ima ama ecibida y sal a á al es ado en
consecuencia a ello.
o E2 Mando 1
o E3 Mando 2
o E4 Mando 3
o E5 Mando 4
E2 E5: Ac ualiza á la a iable MODO_SYNC y los úl imos by es de bu e de salida. Se
uel e al es ado E0.
Ilus ación 21 - Diag ama de bloques e alua _mando
P oyec o inal de ca e a
55
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.6 So wa e de la Placa
Mando
Ami Babani
56
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.6.1 Resumen
P oyec o inal de ca e a
57
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.6.1 Resumen
La placa de mando iene el obje i o de unciona como un disposi i o in eligen e e independien e
en el sis ema domó ico. Es a placa de mando es a á ins alada en el espacio domó ico a la
accesible pa a los usua ios de dicho espacio, con los que pod á in e ac ua á a a és del bo ón
que lle a ins alado. En es e p o o ipo solo se es á empleando un bo ón haciendo la unción de
selección de modo de abajo. En u u os diseños se pod ía implemen a un eclado comple o
pa a así ambién aumen a su núme o de unciones.
La placa mando iene p o is a de un bo ón. Cada ez que el bo ón es pulsado po un usua io en la
sala, la placa mando en ía una ama con la ins ucción eque ida a la placa p incipal pa a que sea
e aluada. La placa mando iene la posibilidad de en ia comandos a a és del canal de
comunicaciones, ecibi los y desecha las amas que no son des inadas a ella. En la simulación
po so wa e se abaja con 4 placas mandos simul áneamen e, aunque es e núme o puede
aumen a , siemp e y cuando el núme o de placas o ales conec adas al canal de comunicaciones
no supe é los 128, es o es una limi ación que iene dada po u iliza la con olado a MAX487.
La placa mando iene el p opósi o de ges iona el modo en el que es á abajando el sis ema de
luz asignado. Es e dispone de un bo ón, que una ez accionado es e cambia á su es ado,
al e nando en e los modos: au o, encendido y apagado. Cada ez que se acciona el bo ón, es e
en ia á a a és del bus una ama con dicho cambio, y ambién se indica á median e el juego de
led que la placa mando iene in eg ado. Los mandos ambién cambia ían su es ado en el juego de
luces si ecibe una ama que le indique que lo haga.
El desa ollo del so wa e de la placa mando ha sido desa ollado en ensamblado , eniendo en
cuen a los mismos c i e ios en su es uc u ación que los empleados en el desa ollo del so wa e
de la placa p incipal.
Ami Babani
64
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
E5: Es ado de comp obación del CRC. Se compa a el CRC ecibido con el calculado
localmen e, si coinciden se ma ca á el lag de da a eady a 1, de lo con a io, se deja á en
0. Se uel e al es ado inicial E0.
Ilus ación 24 - Diag ama de bloques Read_se ial
En ia _ x
Si el lag de se ial es á ac i ado, en ia á a a és del bus, el bu e de salida. Es e bu e de salida
debe ía de habe es ado p epa ado po la unción que ac i o el lag se ial. El bu e end á el
siguien e o ma o:
INICIO
(1 by e)
DESTINO
(1 by e)
ORIGEN
(1 by e)
TIPO
(1 by e)
DATOS
(7 by e)
CRC
(1 by e)
DESCRIPCIÓN DE LOS ESTADOS
E0: Es ado enca gado de en ia la p ime a pa e del bu e , una ez que haya e minado
sal a á al siguien e es ado. Pond á el es ado del MAX485 en modo en ío, el MAX485 no
ol e á al es ado de ecepción has a que se e mine de en ia la ama comple amen e.
An es de en ia cada by e comp oba á si el bu e de en ío es á lib e, si no lo es á ol e á
a la unción p incipal. Cada ez que un by e haya sido en iado, se ac ualiza á el alo del
CRC. La p ime a pa e del bu e es a á compues o de 10 by es.
E1: Se en ia á 1 by e al comp oba que el bu e es á lib e, que co esponde á al modo
que es á abajando al juego de luces. Pos e io men e ac ualiza á el alo del CRC.
E2: Se en ia á el úl imo by e de la ama que co esponde á al CRC en cuan o es é lib e el
bu e .
P oyec o inal de ca e a
65
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
E3: Se e isa á si el bu e es a lib e y se inicia á un con ado .
E4: Cada ez que se in oque es e es ado el con ado se educi á en 1. Una ez haya
llegado a ce o, se ol e á a pone el MAX485 en modo ecepción, y se einicia odos los
alo es pa a p epa a la unción pa a el p óximo en ío.
Ilus ación 25 - Diag ama de bloques En ia _ x
Lee _ eclado
Función enca gada de moni o ea el bo ón, equie e que el lag de se ial es é desac i ado, de es a
o ma e i amos algunos e o es en la asmisión. Si de ec a una pulsación, en el momen o que se
deje de pulsa el bo ón la unción se enca ga á de ac i a el lag de clic. Es a unción se pod ía
ac ualiza en el u u o y amplia el núme o de es ados pa a de ec a a ios bo ones de un eclado
pa a ealiza o as di e sas a eas.
Ami Babani
66
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ilus ación 26 - Diag ama de bloques de Lee _ eclado
Mando
Función que se enca ga á de a a los da os ecibidos (sea po mando o po bus de da os) y de
ac ualiza la a iable “modo”, el bu e de salida y ac ualiza el sis ema de led. Una ez que haya
e minado desac i a á los lags de da a eady, ecei e y clic y ac i a á el lag de se ial en el caso el
bo ón haya sido pulsado pa a que no i ique a los demás in e aces de dicho cambio.
P oyec o inal de ca e a
67
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.7 So wa e de la Placa
Web
Ami Babani
68
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.7.1 Resumen
P oyec o inal de ca e a
69
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.7.1 Resumen
La aplicación que iene in eg ada la placa web iene la unción de acili a la ges ión y la
moni o ización del conjun o del sis ema domó ico emo amen e g acias a una página web
accesible pa a cualquie disposi i o in o má ico ( able , mó il u o denado ) p o is as de una
conexión in e ne . La página web pe mi i á al usua io e isa en qué modo es á ope ando cada luz
(ON, OFF y AUTO) como al e na cada uno de es os modos de o ma independien e. Pa a ello,
como se puede ap ecia en la Ilus ación 27, la página web o ecida po el se ido web mues a
un esquemá ico del espacio domó ico a ges iona donde se puede isualiza en qué luga es án
dispues as cada luz den o del espacio. Como un juego de 4 bo ones, uno po cada luz, en la pa e
in e io con lo que se puede ges iona cada luz independien emen e. Al pulsa sob e cualquie a
de los bo ones, es é cambia á el modo de su luz asignada, al e nando en e On, O y Au omá ica.
Es as no i icaciones se án en iadas a la placa p incipal pa a que es e se lo comunique al es o de
los disposi i os.
El mic ose ido web Lynx Ezweb es á conec ado al bus s485 pa a comunica se con la placa
p incipal, y a su ez ambién a un en u ado de ed a a és del conec o E he ne que incluye el
p opio Ezweb pa a in e ac ua con in e ne . Se pod ía accede a dicho se ido web a a és de la
di ección ip local 192.168.1.60 y pue o 80 usando el p o ocolo h p, pa a edes ex e nas se
debe ía de es ablece un dominio o una ip pública ija. La página web se pod á ca ga con
cualquie na egado con sopo e HTML5.
A la ho a de desa olla la aplicación web, po los eque imien os del p opio mic ose ido web
Lynx Ezweb, los nomb es de los a chi os que componen el p oyec o no pueden excede de 9
le as pa a su nomb e, y 3 pa a su ex ensión, ampoco se pe mi e c ea ca pe as, y pa a que los
a chi os se econozcan como páginas web debe án de ene obliga o iamen e la ex ensión HTM.
Ilus ación 27 - Página web hospedada en Ezweb
Ami Babani
70
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Cada una de las luces mos adas en la página web es á asociada a un bo ón po so wa e, cada
ez que se hace clic sob e uno de es os bo ones in oca á uno de los e en os que al e na á el
modo de abajo de su luz asignada en e ON, OFF y AUTO en dicho o den, al igual que cuando se
pulsa al bo ón ísico de una placa mando. Cada ez que hay un cambio en el modo de abajo de
una luz, es e se á comunicado a la placa p incipal a a és del pue o se ie, una ez que la placa
p incipal haya acep ado dicho cambio es e esc ibi á den o del mic ose ido web en uno de sus
egis os de memo ia no olá iles el es ado de odas las luces, po lo que cuando se uel a a
eca ga la página se e á el es ado ac ualizado de odas las luces. Se ha op ado en esc ibi el
es ado de las luces del sis ema en la memo ia no olá il del mic ose ido Ezweb espec o a la
olá il pa a e i a pe de da os en caso de co es de elec icidad inespe ados.
En el caso que uno de los mandos in eligen es solici e un cambio de modo de abajo en una de
las luces, es e comunica á, como se explico p e iamen e, a la placa p incipal pa a que es e
no i ica el cambio al se ido web esc ibiendo en su memo ia no olá il. Pa a que es e cambio se
pueda ap ecia en la página web el usua io debe á de eca ga la página web de nue o. Se
desca ó la posibilidad de p og ama un segundo sc ip secunda io pa a que se ejecu ase en
segundo plano en la aplicación pa a que eca gase la página web cada X segundos de o ma
au omá ica po que dicha unción p o ocaba a eces bloqueos en el mic ose ido web po su
limi ación de p ocesado.
Pa a op imiza y acele a la ca ga de la página web las imágenes empleadas han pasado po un
p ocesado de indexado de colo p e io pa a educi así su amaño y pode hace las
ans e encias de es as en un meno iempo, ya que el Ezweb, po su limi ación de ha dwa e no
dispone de una capacidad de p ocesado muy ele ada, a eces p o ocando es ados de inac i idad
du an e a ios segundos cuando necesi a ejecu a a ias a eas simul áneamen e.
El conjun o de la aplicación web in eg ada den o del mic ose ido Lynx Ezweb es á compues o
po los siguien es a chi os, en el caso que se necesi e de accede a cualquie a de los a chi os
independien emen e den o del se ido usando un na egado se pod á accede siguiendo la
siguien e es uc u a:
h p://di ección_se ido web/nomb e_del_a chi o
Po ejemplo, si se quisie a einicia el se ido in oduci íamos lo siguien e en la ba a de
di ecciones en nues o na egado :
h p://192.168.1.60/ ese .h m
Desc ipción de a chi os
index.h m: A chi o p incipal ca gado inicialmen e de o ma p ede e minada al accede al
se ido web, es a hace llamada a las unciones eque idas y ca ga las imágenes.
e o 404.h m: Página que de uel e si se accede a una di ección no encon ada en el
se ido web.
con ig.h m: A chi o de con igu ación, cada ez que se acceda a es a web con igu a á el
Ezweb con los pa áme os aquí indicados. Se á necesa io modi ica es e a chi o, y
P oyec o inal de ca e a
71
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
pos e io men e ejecu ado si se eque i é cambia alguna con igu ación del se ido el
u u o.
ese .h m: Reinicia po so wa e el Ezweb, se á necesa io si hacemos algún cambio de
con igu ación, o si el disposi i o su e de un bloqueo.
s yle.css: Hoja de es ilo u ilizada en Index.h m donde se de alla los colo es y es ilos de
ablas.
sc ip s.js: Funciones que llama Index.h m enca gada en la cons ucción de amas de
da os, lec u a de es ado de la memo ia no olá il, y ac ualización del diag ama del espacio
domó ico.
Las ins ucciones in e nas des inadas al Ezweb no se pueden in eg a en ins ucciones de
Ja asc ip pa a que se ejecu e en los casos que ue an necesa ios, ya que el Ezweb sepa a el
con enido HTML y las ins ucciones in e nas y las ejecu a indi idualmen e. Po lo que se c ea on
o os a chi os con ex ensión h m con las di e en es ins ucciones necesa ias pa a pode llama las
a modo de pop ups a a és de comandos Ja asc ip a la medida que ayan haciendo al a.
Los siguien es a chi os con ienen pequeñas ins ucciones in e nas del Ezweb:
bulb1.h m: En ía 1º pa e al bus, con des ino la luz 1
bulb2.h m: En ía 1º pa e al bus, con des ino la luz 2
bulb3.h m: En ía 1º pa e al bus, con des ino la luz 3
bulb4.h m: En ía 1º pa e al bus, con des ino la luz 4
au o.h m: En ía 2º pa e al bus, con igu ando el modo de la luz en AUTO
on.h m: En ía 2º pa e al bus, con igu ando el modo de la luz en ON
o .h m: En ía 2º pa e al bus, con igu ando el modo de la luz en OFF
pin1_0.h m: Pone el pin1 del Ezweb a ni el bajo. Pa a pone la con olado a de
comunicaciones se ie MAX487 conec ada el se ido web en modo ecepción.
pin1_1.h m: Pone el pin1 del Ezweb a ni el al o, poniendo la con olado a MAX487 en
modo en ío.
Las amas en iadas a la placa p incipal, se án idén icas a las en iadas po las placas de mando,
po lo que el se ido necesi a á en ia amas pa a ges iona 4 luces dis in as al e nando en sus 3
modos posibles. Pa a ello se ha sepa ado cada ama a en ia en 2 pedazos, la p ime a donde
albe ga á el núme o de la luz a ges iona , y el segundo, su modo de abajo a cambia . Es os
pedazos de amas ienen que es a p ede inidas en dis in os a chi os con ex ensión h m pa a
que sean llamadas según el caso necesa io. Po ejemplo, en el caso que se necesi e encende la
luz 3, la aplicación web llama á a los siguien es a chi os en el o den desc i o:
1. pin1_1.h m: Ac i ando modo en ío
2. bulb3.h m: En ío de la 1º pa e de la ama, pa a ges iona la luz nº3
3. on.h m: En ío de la 2º pa e de la ama pa a encende la luz.
4. pin1_0.h m: Ac i ando modo ecepción
Ami Babani
72
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.7.2 Desc ipción de
unciones
P oyec o inal de ca e a
73
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.7.2 Desc ipción de unciones
La página web, que a su ez unciona como panel de con ol y moni o ización del sis ema
domó ico eque i á de cie as unciones pa a i ac ualizando el diag ama del espacio web
mos ando el es ado de la iluminación como el en ío de da os al canal de comunicaciones cada
ez que un pulsado de es a pulsado, pa a ello den o de la lib e ía del a chi o sc ip s.js se pod á
encon a las unciones eque idas pa a el co ec o uncionamien o del sis ema. Las unciones
ue on esc i as en Ja asc ip que se ejecu an po pa e del clien e, libe ando pa e del p ocesado
o al de la página web al se ido .
Algunas de las unciones den o de la lib e ía necesi a an la ecepción de dos a iables:
Es ado: modo al que se desea cambia
Posibles alo es= [“ON”, “OFF”, “AUTO”]
Bombilla: luz des inada dicho cambio
Posibles alo es= [“bulb1”, “bulb2”, “bulb3”, “bulb4”]
Lis a de unciones den o de la lib e ía sc ip .js:
Pulsa (es ado, bombilla): Es a unción ecibi á en es ado el iden i icado del con olado
que la in oca, y en bombilla la luz a la que es á cambiando. Cada ez que se pulsa un
bo ón asignada a una bombilla especí ica, es e é al e na á su modo en e los 3 posibles
siguiendo la siguien e secuencia:
Apaga Encende Au omá ico Apaga Encende ….
Apaga (es ado, bombilla): Sub unción usada den o de Pulsa (), enca gada de apaga la
bombilla especi icada y ac ualiza su indicado asociado. Pa a ello in oca á a los
siguien es a chi os h m en modo como en anas eme gen es en donde se albe gan
ins ucciones especí icas del Ezweb pa a in e ac ua con el pue o se ie.
pin1_1.h ml, bulb[n]11.h m, o .h m, pin1_0.h m
Encende (es ado, bombilla): Sub unción usada den o de Pulsa (), enca gada de
encende la bombilla especi icada y ac ualiza su indicado asociado. Pa a ello in oca á a
los siguien es a chi os h m al igual que la unción an e io pa a in e ac ua con el pue o
se ie:
pin1_1.h ml, bulb[n].h m, on.h m, pin1_0.h m
11 Vend á de inida po el alo de bombilla
Ami Babani
80
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ilus ación 30 - So wa e Picki 2
P oyec o inal de ca e a
81
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.9.4 P o eus Isis
P o eus es un paque e de so wa e desa ollado po LabCen e Elec onics o ien ado al diseño y
simulación elec ónica. Sus dos p og amas p incipales son A es e Isis, A es es á o ien ado al
diseño de PCB e ISIS a la simulación. En es e p oyec o se abajo con la aplicación ISIS pa a hace
las simulaciones p e ias an es de la cons ucción de los p o o ipos.
El P og ama ISIS, o In elligen Schema ic Inpu Sys em (Sis ema de En u ado de Esquemas
In eligen e) b inda la posibilidad de diseña el plano eléc ico del ci cui o que se desea ealiza
empleando dis in os componen es y mic ocon olado es, dando incluso la posibilidad de
in e ac ua con un PC a a és de su pue o se ie y oma medidas a a és de un osciloscopio
i ual. Los diseños ealizados en Isis pueden se simulados en iempo eal.
Ilus ación 31 - Simulado Isis P o eus
Ami Babani
82
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.9.5 HTML5
Las aplicaciones webs p og amadas den o de los mic ose ido es Lynx Ezweb es án p og amadas
bajo los es ánda es de HTML5.
HTML5 (Hype Tex Ma kup Language, e sión 5), en conjun o con CSS3, de ine los nue os
es ánda es de desa ollo web pa a dis in os sis emas in o má icos que puedan ejecu a un
na egado web. HTML5 es la quin a e isión impo an e del lenguaje básico de la Wo ld Wide
Web, HTML. En él se especi ica dos a ian es de sin axis pa a HTML: un «clásico» HTML
( ex /h ml), la a ian e conocida como HTML5 y una a ian e XHTML conocida como sin axis
XHTML5 que debe á se se ida en XML (XHTML) (applica ion/xh ml+xml).
El HTML solamen e o ma ea y mues a con enidos, y no iene la capacidad de in e ac ua con
a iables, bases de da os, e c. Aún los si ios web más complejos, que u ilizan g andes sis ema de
bases de da os y ealizan complejas a eas, en ían al na egado (Mozilla Fi e ox, Ch ome, e c.)
pu o código HTML.
Es a es la p ime a ez que HTML y XHTML se han desa ollado en pa alelo.
Toda ía se encuen a en modo expe imen al, lo cual indica la misma W3C; aunque ya es usado
po múl iples desa ollado es web po sus a ances, mejo as y en ajas.
Al no se econocido en iejas e siones de na egado es po sus nue as e ique as, se le
ecomienda al usua io común ac ualiza a la e sión más nue a, pa a pode dis u a de odo el
po encial que p o ee HTML5.
El desa ollo de es e lenguaje de ma cado es egulado po el Conso cio W3C.
P incipales en ajas de HTML
Simpli icación: El nue o código o ece nue as o mas, más sencillas, de especi ica
algunos pa áme os y piezas de código.
Con enido mul imedia: Rep oducción de audio y ideo sin necesidad de plug-ins.
Animaciones: Posibilidad de mos a con enidos de mane a simila a Adobe Flash, pe o
p escindiendo de es e componen e. HTML5 end á sopo e na i o pa a una ecnología
simila a Flash.
Almacenamien o de da os del lado del clien e: Una di e encia undamen al en e las
aplicaciones web e a la necesidad, de és as úl imas, de p ocesa la in o mación y
consul as en bases de da os siemp e en un se ido , haciendo que las aplicaciones sean
más len as y siemp e eque idas de una conexión a In e ne cons an e. HTML5 pe mi i á
almacena y p ocesa in o mación en el clien e, con i iendo a una aplicación web a una
aplicación mucho más pa ecida a una de esc i o io.
E ec os y nue a e sión de hojas de es ilo CSS: La nue a e sión de HTML acompaña á a
una nue a e sión de las hojas de es ilo CSS, el CSS3. Pe mi e nue as posibilidades de
o ma o, po ejemplo la implemen ación de anspa encias, somb as, bo des
edondeados, e c.
P oyec o inal de ca e a
83
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Geo-locación: Los si ios web pod án sabe la ubicación del ISP (p o eedo de se icios de
in e ne ) que lo isi a, po lo que se pod á es ima la si uación del usua io.
Tipog a ías no es ánda : Has a aho a, quizás la mayo limi ación que en en ábamos los
diseñado es e a la imposibilidad de u iliza ipog a ías no-es ánda en nues os si ios web.
P ác icamen e odos es aban limi ados a aquellas que ue on impues as po los
na egado es p incipales, po ejemplo: Times New Roman, Ve dana, e c. La
implemen ación de sis emas como Google Fon s hoy pe mi e emplea muchas o as.
Ejemplo de HTML5:
<!DOCTYPE HTML>
<h ml>
<head>
< i le>Tí ulo ejemplo</ i le>
</head>
<body>
¡Hola p oyec o de Domó ica!
</body>
</h ml>
Ejemplo de código en HTML5 con ins ucciones en ja asc ip :
<!DOCTYPE HTML>
<h ml>
<head>
< i le>Calculo de núme os p imos</ i le>
</head>
<body>
<p>El núme o p imo más al o calculado po aho a es: <ou pu id=" esul "></ou pu ></p>
<sc ip >
a nume o = new Wo ke (' unciones_p imos.js');
nume o.onmessage = unc ion (e en ) {
documen .ge Elemen ById(' esul '). ex Con en = e en .da a;
};
</sc ip >
</body>
</h ml>
// unciones_p imos.js ( iche o con la a ea del nue o hilo de ejecución in ini o)
a n = 1;
sea ch: while ( ue) {
n += 1;
o ( a i = 2; i <= Ma h.sq (n); i += 1)
i (n % i == 0)
con inue sea ch;
// P imo encon ado!
pos Message(n);
}
Ami Babani
84
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.9.6 DIA Diag am
DIA es á diseñado como un sus i u o de la aplicación come cial Visio de Mic oso y ue lanzada
bajo licencia de código abie o (GPL). Se puede u iliza pa a dibuja di e en es ipos de diag amas.
Ac ualmen e se incluyen diag amas en idad- elación, diag amas UML, diag amas de lujo,
diag amas de edes, diag amas de ci cui os eléc icos, e c. Nue as o mas pueden se ácilmen e
ag egadas, dibujándolas con un subconjun o de SVG e incluyéndolas en un a chi o XML, el
o ma o pa a lee y almacena g á icos es XML (comp imido con gzip, pa a aho a espacio).
Puede p oduci salida en los o ma os EPS, SVG y PNG.
También con iene eco da que DIA, g acias al paque e dia2code, puede gene a el esquele o del
código a esc ibi , si u ilizá amos con al in un UML.
DIA es una aplicación de c eación de diag amas bajo licencia de código abie o (GPL), la aplicación
es á basada en o a aplicación come cial conocida como “Visio” desa ollada po Mic oso . Las
p incipales unciones que posee DIA es el dibuja diag amas o ien adas al so wa e, como
diag amas UML, lujo, ed, e c... DIA ya dispone de una lib e ía de obje os, pe o es posible
amplia dicha lib e ía con solo c ea un a chi o XML con sus pa áme os y la imagen en SVG,
ambién pe mi e la opción de p og ama módulos adicionales p og amados en Py hon.
DIA pe mi e expo a ambién los diag amas c eados en a ios o ma os pa a hace imp esiones
mul i-página. Los o ma os sopo ados pa a su expo ación son los siguien es:
EPS (Encapsula ed Pos Sc ip )
SVG (Scalable Vec o G aphics)
DXF (Au ocad's D awing In e change o ma )
CGM (Compu e G aphics Me a ile de ined by ISO s anda ds)
WMF (Windows Me a File)
PNG (Po able Ne wo k G aphics)
JPEG (Join Pho og aphic Expe s G oup)
VDX (Mic oso 's XML o Visio D awing)
Es a aplicación ue usada en el p oyec o pa a la elabo ación de diag amas de lujos del código
u ilizado en los dis in os mic ocon olado es.
P oyec o inal de ca e a
85
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
Ilus ación 32 - Aplicación Dia
Ami Babani
86
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.9.7 T imble Ske chUP
Aplicación g a ui a de diseño g á ico y modelado en es dimensiones (3D) basado en ca as, pa a
en o nos de a qui ec u a, GIS, ideojuegos, ingenie ía ci il, diseño indus ial, o películas. La
aplicación es a desa ollado po Las So wa e, emp esa adqui ida po Google en 2006 y
inalmen e endida a T imble en 2012.
Ske chUp des aca po usa se de una mane a in ui i a como simple. El p og ama incluye en sus
ecu sos un u o ial en ídeo pa a i ap endiendo paso a paso cómo se puede i diseñando y
modelando un en o no, llegando a modela edi icios, coches, pe sonas y cualquie obje o en 3D.
La aplicación ambién p opo ciona acceso a un eposi o io de obje os y ex u as pa a desca ga
de o ma g a ui a.
Los modelos c eados en Ske chUP se pueden expo a en los o ma os .dae y .kmz (Google Ea h),
o bien oma pan allazos en o ma o .png o jpg. La e sión no g a ui a conocida como T imble
Ske chUP P o pe mi e la expo ación en o os o ma os adicionales.
Ske chUP ambién pe mi e la opción de desa olla plugins en lenguaje Ruby pa a amplia sus
uncionalidades, se pueden encon a a ios de es os plugins de o ma g a ui a y de pago en la
ed.
Ilus ación 33 - Aplicación Ske chUp
P oyec o inal de ca e a
87
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.9.8 Adobe Pho oshop
Aplicación empleada pa a el posp ocesamien o de imágenes c eadas con Ske chUP e iconos
a ios usados en la aplicación web in eg ada en Ezweb. Adobe Pho oshop es una aplicación de
diseño en o ma de alle de pin u a y o og a ía que abaja sob e un "lienzo" y que es á
des inado a la edición, e oque o og á ico y pin u a a base de imágenes de mapa de bi s en 2
dimensiones. Se econoce como la aplicación más po en e en e oque y modi icación de
o og a ías del mundo.
Ac ualmen e o ma pa e de la amilia Adobe C ea i e Sui e y es desa ollado y come cializado
po Adobe Sys ems Inco po a ed inicialmen e pa a compu ado es Apple pe o pos e io men e
ambién pa a pla a o mas PC con sis ema ope a i o Windows.
En las e siones iníciales de Adobe Pho oshop se abajaba en un imagen (bi map) o mado po
una sola capa, donde se podían aplica oda una se ie de e ec os, ex os y a amien os. A medida
que la aplicación ue e olucionando el so wa e ha ido añadiendo di e sas mejo as
undamen ales, la inco po ación de un espacio de abajo mul icapa, inclusión de elemen os
ec o iales, ges ión a anzada de colo (ICM / ICC), a amien o ex ensi o de ipog a ías, con ol y
e oque de colo , e ec os c ea i os, posibilidad de inco po a plugins de e ce os, expo ación
pa a si ios web en e o os.
Pho oshop pe mi e expo a las imágenes en los siguien es o ma os:
PSD, PDD: o ma o es ánda de Pho oshop con sopo e de capas.
Pos Sc ip : no es exac amen e un o ma o, sino un lenguaje de desc ipción de páginas. Se
suele encon a documen os en Pos Sc ip . U iliza p imi i as de dibujo pa a pode
edi a lo.
EPS: es una e sión de Pos Sc ip , se u iliza pa a si ua imágenes en un documen o. Es
compa ible con p og amas ec o iales y de au oedición.
DCS: ue c eado po Qua k (emp esa de so wa e pa a au oedición) y pe mi e almacena
ipog a ía, amas, e c. Se u iliza pa a ilmación en au oedición.
P e . EPS TIFF: pe mi e isualiza a chi os EPS que no se ab en en Pho oshop, po
ejemplo los de Qua kXP ess.
BMP: o ma o es ánda de Windows.
GIF: muy u ilizado pa a las web. Pe mi e almacena un canal al a pa a do a lo de
anspa encia, y sal a lo como en elazado pa a que al ca ga lo en la web lo haga en
a ios pasos. Admi e has a 256 colo es.
JPEG: ambién muy u ilizado en la WWW, ac o de comp esión muy al o y buena calidad
de imagen.
TIFF: una solución c eada pa a pasa de PC a MAC y ice e sa.
PICT: desde pla a o mas MAC se expo a a p og amas de au oedición como Qua kXP ess.
PNG: la misma u ilización que los GIF, pe o con mayo calidad. Sopo a anspa encia y
colo es a 24 bi s. Solo las e siones ecien es de na egado es pueden sopo a los.
PDF: o ma o o iginal de Ac oba . Pe mi e almacena imágenes ec o iales y mapa de
bi s.
ICO: es u ilizado pa a ep esen a a chi os, ca pe as, p og amas, unidades de
almacenamien o, e c.
Ami Babani
88
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
IFF: se u iliza pa a in e cambio de da os con Amiga.
PCX: o ma o solo pa a PC. Pe mi e colo es a 1, 4, 8 y 24 bi s.
RAW: o ma o es ánda pa a cualquie pla a o ma o p og ama g á ico.
TGA: compa ible con equipos con a je a g á ica de T ue ision.
Sci ex CT: o ma o u ilizado pa a documen os de calidad p o esional.
Films ip: se u iliza pa a hace animaciones. También se puede impo a o expo a a
P emie e.
FlashPix: o ma o o igina io de Kodak pa a ab i de o ma ápida imágenes de calidad
supe io .
JPEG2000: al igual que el JPEG, es nue o o ma o de comp esión que pe mi e aumen a la
calidad de la imagen.
Ilus ación 34 - Aplicación Adobe Pho oshop
P oyec o inal de ca e a
89
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
2.9.9 P o ocolo IEEE 802.3
Pa a la comunicación en e los in e aces se empleo amas con un o ma o simila al p o ocolo
IEEE 802.3 E he ne , pa a una posible in eg ación a edes más ex ensas en el u u o. El p o ocolo
IEEE 802.3 ue la p ime a p opues a pa a es anda iza E he ne . Aunque hay cie as a iaciones
en el campo de la cabece a que ue de inido de o ma di e en e, pos e io men e ha habido
ampliaciones sucesi as al es ánda que adap a se a las mejo as de elocidad como Fas E he ne ,
Gigabi E he ne y 10 Gigabi s E he ne , edes i uales, hubs, conmu ado es, ib a óp ica, e c..
Los es ánda es de es e g upo no e lejan necesa iamen e lo que se usa en la p ác ica, aunque a
di e encia de o os g upos es e suele es a ce ca de la ealidad.
Fo ma o de ama
7 by es
1 by e
6 by es
6 by es
2 by es
46 – 1500
by es
4 by es
P eámbulo
SDF
Des ino
O igen
Tipo
Da os
CRC
P eámbulo: Bi s de sinc onización "10101010" (x7).
SDF: Delimi ado de comienzo de ama "10101011".
Longi ud: Longi ud del campo da os
Da os: Da os de la ama
CRC: Secuencia de chequeo de ama a a és de un polinomio gene ado de o den 33:
x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1
El o ma o de las amas empleadas en la comunicación del sis ema domó ico ha sido diseñada
eniendo en cuen a el o ma o de ama IEEE 802.3 E he ne , u ilizando los mismos campos sal o
po una lige a modi icación en los amaños de by es del p eámbulo+SDF y el campo ipo,
educiendo cada uno de es os a 1 by e, más que su icien es pa a el sis ema.
Ami Babani
96
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
3.1 Pliego de
condiciones
P oyec o inal de ca e a
97
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
3.1 Pliego de condiciones
Como odo sis ema domó ico in eligen e, es a á ligado a que el espacio a ocupa cumpla con
cie os equisi os pa a que el sis ema pueda ope a co ec amen e y sin in e upciones. Después
de ealiza un es udio, y eniendo en cuen a las limi aciones écnicas indicadas po los dis in os
ab ican es de los componen es empleados pa a la cons ucción de los di e en es disposi i os que
componen el sis ema, pa a que el p esen e sis ema domó ico p opues o uncione co ec amen e
se á necesa io cumpli las siguien es condiciones:
El sis ema domó ico es á diseñado pa a se ins alado en in e io es, donde las condiciones
clima ológicas no sean muy ad e sas. Todos los componen es u ilizados pa a la
cons ucción de las placas es án diseñados pa a que puedan ope a en un ango de
empe a u a en e 0ºC y 70ºC. No se ecomienda ins ala el sis ema domó ico en
ex e io es pa a e i a posibles de e io os, ya que las placas que componen el sis ema no
has sido impe meabilizadas pa a esis i llu ias o índices de al a humedad.
El núme o de disposi i os y elec odomés icos conec ados al sis ema no pod án supe a
de 128, es a es una limi ación de ha dwa e que iene dada po los con olado es de
comunicaciones s485 MAX487 empleadas pa a la comunicación en e las dis in as placas.
Todos los disposi i os en el sis ema, debe án de es a conec ados al bus de da os común
en “daisy chain”.17
El amaño de las amas en iadas al sis ema, po los dis in os disposi i os y/o
elec odomés icos no pod án supe a los 255 ca ac e es, es o es una limi ación que iene
dada po el amaño de los bu e es de en ada ese ada de inidas po las aplicaciones
ins aladas en las placas, las amas que supe en dicha longi ud se án igno adas y no
p o oca an un p o oca an e o es de desbo damien o.
Se pod á accede a la página web albe gada en el mic ose ido web del sis ema a a és
de una ed local a a és de la IP 192.168.1.60 y el pue o 80, dicha IP es modi icable, pe o
no su pue o. En el caso de que sea necesa io accede a dicho disposi i o desde una ed
ex e na se á necesa io con igu a el en u ado al que es é conec ado con un nomb e de
dominio o una ip es á ica, y ab i un pue o pa a ecibi las pe iciones h p y
edi ecciona lo a la ip ija del disposi i o y al pue o 80.
Pa a pode in e ac ua con el in e az web del sis ema se á necesa io el emplea un
na egado con sopo e HTML5, los na egado es es ados que han uncionado sin
p oblemas han sido: Mozilla Fi e ox e . 27, Google Ch ome e . 33 y In e ne Explo e 11,
aunque es p obable que uncione con el es o de los na egado es.
17 esquema de cableado usado en ingenie ía eléc ica y elec ónica.
Ami Babani
98
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
La dis ancia máxima en e los disposi i os conec ados en el mismo canal de da os no
pod á supe a los 1200 me os, es a es una limi ación que iene dada po el p o ocolo
RS485.
Si se cumplen los equisi os p e iamen e desc i os, el sis ema domó ico debe ía de unciona
co ec amen e.
P oyec o inal de ca e a
99
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
3.2 P esupues o - Mon aje placa p incipal
Pa a el cálculo de la p oducción de una placa p incipal, hemos enido en cuen a la suma de odos
los componen es necesa ios y la mano de ob a necesa ia pa a su ensamblado. Cada sis ema de
domó ica, necesi a ía como mínimo una placa p incipal pa a su uncionamien o. En el modelo
p opues o solo se necesi a á uno.
Can idad
P oduc o/Se icio
Unidad €
Cos e €
1
Ezweb Lynx 5V
40,50
40,50
2
Mic o Con olado PIC16F690 E-/P
1,56
3,12
2
MAX487 In e az s485
1,74
3,48
4
Diodo Led Rojo
0,20
0,80
4
Resis encia 240 Ohmios
0,15
0,60
1
Resis encia 4K7 Ohmios
0,20
0,20
2
Condensado 100nF
0,21
0,42
1
Condensado 1000uF
0,74
0,74
1
Relé ULN2803
1,76
1,76
4
Senso In a ojo DC 5V
4,60
18,40
2
Toma Ex e na con 2 conec o es
0,22
0,44
2
Jumpe
0,12
0,24
1
Ti a conec o es PIN 18cm
0,38
0,38
1
Regulado 7805 CT
0,32
0,32
1
Fuen e Alimen ación 9 Vol ios
8,40
8,40
1
Placa PCB - 105mm x 148mm
2,80
2,80
5
Ho a Mon aje
36,00
180,00
Sub o al
262,60
IGIC (7 %)
18,38
Impo e To al
280,98
Ami Babani
100
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
3.3 P esupues o - Mon aje placa mando (1 unidad)
Al igual que la placa p incipal, pa a el cálculo del mon aje de una placa de mando hemos enido
en cuen a el cos e de sus componen es, gas os de en ío y la mano de ob a pa a su mon aje. Las
placas de mando no son indispensables pa a que el sis ema de domó ica uncione, ya que su
unción es el en ia y ecibi ins ucciones a la placa p incipal y es as uncionan
independien emen e, pues o que la placa p incipal no equie e de las placas de mando pa a que
pueda segui ges ionando el sis ema de iluminación. El núme o de placas de mando conec ados al
sis ema es a iable, en el sis ema p opues o se emplean cua o placas de mando.
Can idad
P oduc o/Se icio
Unidad €
Cos e €
1
Mic o Con olado PIC16F690 E-/P
1,56
1,56
2
MAX487 In e az s485
1,74
3,48
3
Diodo Led (Va ios colo es)
0,20
0,60
3
Resis encia 240 Ohmios
0,15
0,45
1
Resis encia 10K Ohmios
0,15
0,15
3
Condensado 100nF
0,21
0,63
1
Condensado 1000uF
0,74
0,74
2
Toma Ex e na con 2 conec o es
0,22
0,44
1
Pulsado 1 Amp.
0,44
0,44
1
Regulado 7805 CT
0,32
0,32
1
Fuen e Alimen ación 9 Vol ios
8,40
8,40
1
Placa PCB - 105mm x 148mm
2,80
2,80
3
Ho a Mon aje
36,00
108,00
Sub o al
128,01
IGIC (7 %)
8,96
Impo e To al
136,97
P oyec o inal de ca e a
101
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
3.4 P esupues o -Desa ollo so wa e y diseño de ci cui os
Pa a el desa ollo del so wa e necesa io pa a el sis ema de domó ica son necesa ios es
p og amas, uno pa a cada mic ocon olado del sis ema. La placa p incipal es a á p og amado
con la aplicación que ges iona la comunicación en e los dis in os disposi i os, senso es y sis ema
de iluminación, es po ello que es el más cos oso. La aplicación que con ienen las placas de mando
se limi an únicamen e a en ia y ecibi ins ucciones simples a la placa p incipal, y po úl imo, la
aplicación que con iene el Ezweb, se ocupa en se i una página web con ins ucciones simila es a
las de una placa de mando.
En el cos e de abajo po ho a se ha enido en cuen a la amo ización de las he amien as y
aplicaciones de pago necesa ias pa a el desa ollo de las a eas.
Can idad
P oduc o/Se icio
Unidad €
Cos e €
31
Desa ollo so wa e pa a placa p incipal y
diseño de ci cui o elec ónico
(ho as)
40,00
1240,00
5
Diseño ci cui o elec ónico de placa p incipal
(ho as)
40,00
200,00
21
Desa ollo so wa e pa a placa mando
(ho as)
40,00
840,00
3
Diseño ci cui os elec ónicos de placa mando
(ho as)
40,00
120,00
8
Desa ollo so wa e de página web pa a Ezweb
(ho as)
40,00
320,00
Sub o al
2720,00
IGIC (7 %)
190,40
Impo e
To al
2910,40
Ami Babani
102
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
3.5 P esupues o – Sis ema o al (1 Placa P incipal + 4
Mandos)
Pa a el cálculo del p esupues o del sis ema o al p opues o, se suman el o al de los es
p esupues os an e io men e calculados. El p esupues o calculado pa a la ab icación de una placa
de mando se mul iplica po cua o, ya que se necesi an cua o unidades pa a es a p opues a. Pe o
pa a o os casos el núme o de placas de mandos puede a ia , po lo que pa a calcula su
p esupues o o al solo se necesi a ía modi ica la can idad de mandos a u iliza .
Can idad
P oduc o/Se icio
Unidad €
Cos e €
1
Mon aje placa p incipal
262,60
262,60
4
Mon aje placa mando
128,01
512,04
1
Desa ollo so wa e y diseño
2720,00
2720,00
de ci cui os
Sub o al
3494,64
IGIC (7 %)
244,62
Impo e To al
3739,26
El p esen e p esupues o asciende a un o al de:
T es mil se ecien os ein a y nue e eu os con 26 cén imos (3739,26€)
Fi ma: Ami L. Babani
Fecha: 10 Feb e o 2014
P oyec o inal de ca e a
103
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
4. Anexos
Ami Babani
104
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
4.1 Reglamen o de baja
ensión ITC-BT-51
P oyec o inal de ca e a
105
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
4.1 Reglamen o de baja ensión ITC-BT-51
INSTALACIONES DE SISTEMAS DE AUTOMATIZACIÓN, GESTIÓN TÉCNICA DE LA
ENERGÍA Y SEGURIDAD PARA VIVIENDAS Y EDIFICIOS
1. OBJETO Y CAMPO DE APLICACIÓN
Es a Ins ucción es ablece los equisi os especí icos de la ins alación de los sis emas de
au oma ización, ges ión écnica de la ene gía y segu idad pa a i iendas y edi icios, ambién
conocidos como sis emas domó icos.
El campo de aplicación comp ende las ins alaciones de aquellos sis emas que ealizan una unción
de au oma ización pa a di e sos ines, como ges ión de la ene gía, con ol y accionamien o de
ecep o es de o ma cen alizada o emo a, sis emas de eme gencia y segu idad en edi icios,
en e o os, con excepción de aquellos sis emas independien es e ins alados como ales, que
puedan se conside ados en su conjun o como apa a os, po ejemplo, los sis emas au omá icos
de ele ación de pue as, pe sianas, oldos, cie es come ciales, sis emas de egulación de
clima ización, edes p i adas independien es pa a ansmisión de da os exclusi amen e y o os
apa a os, que ienen equisi os especí icos ecogidos en las Di ec i as eu opeas aplicables
con o me a lo es ablecido en el a ículo 6 del Reglamen o Elec o écnico pa a Baja Tensión.
Quedan excluidas ambién las ins alaciones de edes comunes de elecomunicaciones en el
in e io de los edi icios y la ins alación de equipos y sis emas de elecomunicaciones a los que se
e ie e el Reglamen o de In aes uc u a Común de Telecomunicaciones (I.C.T.), ap obado po el
R.D. 279/1999.
Igualmen e es án excluidos los sis emas de segu idad eglamen ados po el Minis e io del In e io
y Sis emas de P o ección con a Incendios, eglamen ados po el Minis e io de Fomen o (NBE-CPI)
y el Minis e io de Indus ia y Ene gía (RIPCI).
No obs an e, a las ins alaciones excluidas an e io men e, cuando o men pa e de un sis ema más
complejo de au oma ización, ges ión de la ene gía o segu idad de i iendas o edi icios, se les
aplica án los equisi os de la p esen e Ins ucción además los equisi os especí icos
eglamen a ios co espondien es.
2. TERMINOLOGÍA
Sis emas de Au oma ización, Ges ión de la Ene gía y Segu idad pa a Vi iendas y Edi icios:
Son aquellos sis emas cen alizados o descen alizados, capaces de ecoge in o mación
p o enien e de unas en adas (senso es o mandos), p ocesa la y emi i ó denes a unos
ac uado es o salidas, con el obje o de consegui con o , ges ión de la ene gía o la p o ección de
pe sonas animales y bienes.
Es os sis emas pueden ene la posibilidad de accesos a edes ex e io es de comunicación,
in o mación o se icios, como po ejemplo, ed ele ónica conmu ada, se icios INTERNET, e c.
Ami Babani
112
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
; einicia ec o
STARTUP CODE 0x000
nop ; eque ido pa a el depu ado ICD2
mo lw high s a ; ca ga el by e supe io de la e ique a "s a "
mo w PCLATH ; inicializa PCLATH
go o s a ; i al inicio del código p incipal
; ec o de in e upciones
INT_VECTOR CODE 0x004
d go o in e up ; i al inicio del código de in e upción
; código eubicable
PROG CODE
in e up
mo w w_sa ed ; gua da con ex o
swap STATUS,w
mo w s a us_sa ed
mo PCLATH,w ; solamen e se equie e si se u iliza más de la p ime a página
mo w pcla h_sa ed
cl PCLATH
; << ag egue el código de in e upción >>
mo pcla h_sa ed,w ; es au a con ex o
mo w PCLATH
swap s a us_sa ed,w
mo w STATUS
swap w_sa ed,
swap w_sa ed,w
e ie
;---------------------INICIO--------------------------------------
;-----------------------------------------------------------------
;comienzo de la aplicación
s a
;Con igu ación de los pue os de salida y en ada
bs STATUS,RP0 ;seleccionamos el banco 3
bc STATUS,RP1
;OPTION_REG[7]=0
bc OPTION_REG,7 ;ac i amos pull-up
bc STATUS,RP0
bc STATUS,RP1 ;seleccionamos el banco 0
;con igu amos los pue os
cl PORTA ;inicializamos pue o A
cl PORTB ;inicializamos pue o B
cl PORTC ;inicializamos pue o C
cl sPORTC ;bo amos la somb a del pue o C
bs STATUS,RP1 ;seleccionamos el banco 2
cl ANSEL ;modo digi al
cl ANSELH ;modo digi al
;senso es
bs STATUS,RP0 ;seleccionamos el banco 1
bc STATUS,RP1
mo lw b'00010111' ;con igu amos RA0 --> RA3 como en ada pa a los senso es
; |||||
; |||||
; |||||---- RA0 = Inpu
; ||||----- RA1 = Inpu
; |||------ RA2 = Inpu
; ||------- RA3 = Sin uso
; |-------- RA4 = Inpu
mo w TRISA
;los con igu amos como pulls ups
mo w WPUA
mo lw b'00000000' ;con igu amos RC0 --> RC3 como salida pa a las luces
P oyec o inal de ca e a
113
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
; | ||||
; | ||||
; | ||||---- RC0 = Ou pu
; | |||----- RC1 = Ou pu
; | ||------ RC2 = Ou pu
; | |------- RC3 = Ou pu
; |
; |---------- RC6 = Con ol Mul imas e
mo w TRISC
;con igu ación del pue o se ie
bs TRISB,7
bc TRISB,6
mo lw b'01100000' ; Fosc= 4Mhz
mo w OSCCON
S able
b ss OSCCON,HTS ; osc es able?
go o S able ; epe i has a es abiliza
mo lw .25 ; [(4Mhz/9615)/64]-1
mo w SPBRG ; 9615 baudios con Fosc=4MHz, 8bi s
mo lw .00 ;
mo w SPBRGH
mo lw b'00100100' ; '0-------' CSRC, n/a (async)
; '-0------' TX9 o , 8 bi s
; '--1-----' TXEN, x enabled
; '---0----' SYNC, async mode
; '----0---' SENDB, send b k
; '-----1--' BRGH, high speed
; '------00' TRMT, TX9D
mo w TXSTA ;
bc STATUS,RP0 ; bank 0
mo lw b'10010000' ; '1-------' SPEN, po enabled
; '-0------' RX9 o , 8 bi s
; '--0-----' SREN, n/a (async)
; '---1----' CREN, x enabled
; '----0---' ADDEN o
; '-----000' FERR, OERR, RX9D
mo w RCSTA ;
mo RCREG,W ; lush Rx Bu e
mo RCREG,W ;
;inicialización de indicado es
mo lw b'00000000'
; | |||||
; | ||||-- Da aReady usado en: ead_se ial(), e al_web() y e al_mando() ->
Indica que hay un da o (bu e _ x) lis o pa a se e aluado
; | |||--- e al_ x: usado en en ia _ezweb() y e alua _ x(), indica que se
ha ecibido una ama de un mando
; | ||---- Sin uso
; | |----- e al_mando: usado en e alua _ x() y mando() -> Indica que el
da o ecibido es á e aluado
; | ------ se ial:
; --------- senso usado en lee _ eclado() -> Pa a de ec a el lanco de
subida del pulsado
mo w INDI
;inicialización de a iables
mo lw .00
mo w MODO_SYNC ; iniciamos los MODOS de las luces a AUTO
mo lw .00
mo w EL5 ; indicado de es ado pa a la unción e alua _mando
mo lw .00
mo w EL4 ; indicado de es ado pa a la unción senso
mo lw .00
mo w EL3 ; indicado de es ado pa a la unción en ia _ x
Ami Babani
114
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
mo lw .00
mo w EL2 ; indicado de es ado pa a la unción ead_se ial
mo lw .00
mo w CONT_TX ; inicializamos el con ado pa a el bu e de salida
mo lw .00
mo w CONT_RX ; inicializamos el CRC del bu e de salida
mo lw .00
mo w CRC_RX ; inicializamos el CRC del bu e de salida
mo lw .00
mo w CRC_TX ; inicializamos el CRC del bu e de salida
;---------------------BUCLE PRINCIPAL--------------------------------
;--------------------------------------------------------------------
epe i
; epea
; ead_se ial()
call ead_se ial ; unción enca gada de lee la ama ecibida po el pue o
se ial
; ead_senso ()
call senso ; unción enca gada de ges iona luces y senso es
;e alua _ x()
call e alua _ x ;iden i ica de donde iene la ama
;en ia _mando()
call e alua _mando ;La ama ecibida es del mando
;en ia _ x()
call en ia _ x ;En ia el bu e de salida a a és del se ial
;clea _e o ()
call clea _e o ;Función enca gada de de ec a e o es y co egi los
en su caso
go o epe i ; in epea
;---------------------------------CLEAR_ERROR-------------------------------
;---------------------------------------------------------------------------
; *
; Comp obamos si los bi s OERR y FERR ha de ec ado un e o , *
; si lo han de ec ado einciamos la USART. *
; *
; OERR= O e un e o *
; FERR= F ame e o *
; *
;-----------------------------------------------------------------------------
clea _e o
bc STATUS,RP0 ;seleccionamos banco 0
bc STATUS,RP1
;i (OERR==1)
b sc RCSTA,OERR ;si se de ec a e o de desbo damien o
; ese _usa ()
go o ese _oe ;ejecu amos unción de co ección
;i (FERR==1)
b sc RCSTA,FERR ;si de ec amos e o de en ana
; ese _ e ()
go o ese _ e ;ejecu amos unción de co ección
; e u n()
e u n
P oyec o inal de ca e a
115
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
ese _oe ; unción de co ección en desbo damien o
bc RCSTA,CREN ;desac i amos eusa
nop
nop
bs RCSTA,CREN ;ac i amos eusa
nop
nop
;i (RCIF==1) ; aciando el bu e
b sc PIR1,RCIF ;hay algún da o?
;emp y_bu e ()
go o emp y_bu e
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
emp y_bu e
mo RCREG,W
nop
nop
;i (RCIF==1)
b sc PIR1,RCIF ; epe imos el aciado has a que no quede ningún da o
;emp y_bu e ()
go o emp y_bu e
; e u n()
e u n
ese _ e ; unción enca gada de co egi e o es de
en ana
;bc TXSTA,TXEN
;bs TXSTA,TXEN
; e u n()
e u n
;---------------------------------SENSOR------------------------------------
;---------------------------------------------------------------------------
;
; Cada mando es a asociado a un senso y una luz y un con ado
; Los senso es solo unciona án si el espec i o mando es á en modo Au o
; El EzWeb iene con ol absolu o pa a con ola los Modos de odas las
; luces.
;
; RA0, RA1, RA2 y RA4 en ada senso es
; RC0 --> RC3 sálida a eles luces
;
; Mando1 --> Luz1 (RC0) --> Senso 1 (RA0) --> Con ado (0x60)
; Mando2 --> Luz1 (RC1) --> Senso 1 (RA1) --> Con ado (0x61)
; Mando3 --> Luz1 (RC2) --> Senso 1 (RA2) --> Con ado (0x62)
; Mando4 --> Luz1 (RC3) --> Senso 1 (RA3) --> Con ado (0x63)
;
;---------------------------------------------------------------------------
senso
;inicialización del bu e _ x
bc STATUS,RP0
bc STATUS,RP1 ;seleccionamos el banco 0
mo lw HIGH swi ch_senso
mo w PCLATH
swi ch_senso
;swi ch(EL4)
mo EL4, W ; ca go W con el es ado (0 --> 3)
addw PCL, F ; modi ico el con ado del p og ama en unción del es ado coinciden e
go o seg4_caso0 ;Comp obamos el senso 1 y ac ualizamos la luz 1
go o seg4_caso1 ;Comp obamos el senso 2 y ac ualizamos la luz 2
go o seg4_caso2 ;Comp obamos el senso 3 y ac ualizamos la luz 3
go o seg4_caso3 ;Comp obamos el senso 4 y ac ualizamos la luz 4
seg4_caso0
Ami Babani
116
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
mo lw .01 ;Cambiamos al siguien e es ado
mo w EL4
;comp obamos si la luz 1 es á en MODO ON
mo lw b'00000011'
andw MODO_SYNC,W ; il amos los bi s que amos a e alua y gua damos en
W
;i (MODO_SYNC=XXXXXX01)
sublw 0x01 ;si la luz 1 es á en modo ON
b ss STATUS,Z
go o seg4_caso0_1
;LUZ1=1
bs sPORTC,0 ;encendemos la luz
mo sPORTC, W
mo w PORTC
; e u n()
e u n ; ol emos pa a comp oba el modo de la siguien e luz
;else
seg4_caso0_1
;comp obamos si la luz 1 es á en MODO OFF
mo lw b'00000011'
andw MODO_SYNC,W ; il amos los bi s que amos a e alua y gua damos en
W
;i (MODO_SYNC=XXXXXX10)
sublw 0x02 ;si la luz 1 es á en modo OFF
b ss STATUS,Z
go o seg4_caso0_2
;LUZ1=0
bc sPORTC,0 ;apagamos la luz 1
mo sPORTC, W
mo w PORTC
; e u n()
e u n ; ol emos pa a comp oba el modo de la siguien e luz
;else
seg4_caso0_2
;es a en MODO AUTO, comp obamos los senso es y empo izado es
;i (senso 1=1)
b sc PORTA,0 ;si no se ha ac i ado el senso
;con _seg4_caso0()
go o con _seg4_caso0 ;disminuimos el empo izado
;else
;BUFFER[0x50]=TIEMPO
mo lw 0x60 ;si se ha ac i ado el senso
mo w FSR ; einiciamos su empo izado
indi idual con TIEMPO
mo lw TIEMPO
mo w INDF
;LUZ1=1
bs sPORTC,0 ;encendemos la luz 1
mo sPORTC, W
mo w PORTC
; e u n()
e u n
con _seg4_caso0 ; disminución del con ado
;i (LUZ=0)
b ss sPORTC,0 ;comp obamos si la luz es á
apagada
; e u n()
e u n ;si la luz es á apagada, po lo que el empo izado es á a 0
no hay nada que descon a
;else ;si la luz es á encendida
;CONTADOR_RETRASO=BUFFER[0x50]
mo lw 0x60 ;di ección donde debe ía de es a la empo izado
indi idual
mo w FSR
mo INDF,W ;ca gamos el con ado indi idual
mo w CONTADOR_RETRASO
; e a do()
call e a do ;la luz es á encendida, disminuimos el empo izado indi idual
P oyec o inal de ca e a
117
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
;BUFFER[0x50]=CONTADOR_RETRASO
mo lw 0x60 ; ol emos a almacena el con ado indi idual en su
espec i a
mo w FSR
mo CONTADOR_RETRASO,W ;di ección de memo ia
mo w INDF
;i (CONTADOR_RETRASO=0)
mo CONTADOR_RETRASO,W ;si el con ado llego a 0
sublw 0x00
b sc STATUS,Z
;LUZ1=0
bc sPORTC,0 ;apagamos su
espec i a luz
mo sPORTC, W
mo w PORTC
; e u n()
e u n
seg4_caso1
mo lw .02 ;Cambiamos al siguien e es ado
mo w EL4
;comp obamos si la luz 1 es á en MODO ON
mo lw b'00001100'
andw MODO_SYNC,W ; il amos los bi s que amos a e alua y gua damos en
W
;i (MODO_SYNC=XXXX01XX)
sublw 0x04 ;si la luz 2 es á en modo ON
b ss STATUS,Z
go o seg4_caso1_1
;LUZ2=1
bs sPORTC,1 ;encendemos la luz
mo sPORTC, W
mo w PORTC
; e u n()
e u n ; ol emos pa a comp oba el modo de la siguien e luz
;else
seg4_caso1_1
;comp obamos si la luz 1 es á en MODO OFF
mo lw b'00001100'
andw MODO_SYNC,W ; il amos los bi s que amos a e alua y gua damos en
W
;i (MODO_SYNC=XXXX10XX)
sublw 0x08 ;si la luz 2 es á en modo OFF
b ss STATUS,Z
go o seg4_caso1_2
;LUZ2=0
bc sPORTC,1 ;encendemos la luz
mo sPORTC, W
mo w PORTC
; e u n()
e u n ; ol emos pa a comp oba el modo de la siguien e luz
;else
seg4_caso1_2
;es a en MODO AUTO, comp obamos los senso es y empo izado es
;i (senso 2=0)
b sc PORTA,1 ;disminuimos el empo izado
;con _seg4_caso0()
go o con _seg4_caso1
;else
;BUFFER[0x51]=TIEMPO
mo lw 0x61 ;si se ha ac i ado el senso
mo w FSR ; einiciamos su empo izado
indi idual con TIEMPO
mo lw TIEMPO
mo w INDF
;LUZ2=1
bs sPORTC,1 ;encendemos la luz 1
mo sPORTC, W
Ami Babani
118
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
mo w PORTC
; e u n()
e u n ;comp obamos la siguien e luz
con _seg4_caso1 ; disminución del con ado
;i (LUZ=0)
b ss sPORTC,1 ;comp obamos si la luz
es á apagada
; e u n()
e u n ;si la luz es á apagada, po lo que el empo izado es á a 0
no ha nada que descon a
;else ;si la luz es á encendida
;CONTADOR_RETRASO=BUFFER[0x51]
mo lw 0x61 ;di ección donde debe ía de es a la empo izado
indidual
mo w FSR
mo INDF,W ;ca gamos el con ado indi idual
mo w CONTADOR_RETRASO
; e a do()
call e a do ;la luz es á encendida, disminuimos el empo izado indi idual
;BUFFER[0x51]=CONTADOR_RETRASO
mo lw 0x61 ; ol emos a almacena el con ado indi idual en su
espec i a
mo w FSR
mo CONTADOR_RETRASO,W ;di ección de memo ia
mo w INDF
;i (CONTADOR_RETRASO=0)
mo CONTADOR_RETRASO,W ;si el con ado llego a 0
sublw 0x00
b sc STATUS,Z
;LUZ2=0
bc sPORTC,1 ;apagamos su espec i a
luz
mo sPORTC, W
mo w PORTC
; e u n()
e u n ;comp obamos la siguien e luz
seg4_caso2
mo lw .03
mo w EL4
;comp obamos si la luz 1 es á en MODO ON
mo lw b'00110000'
andw MODO_SYNC,W ; il amos los bi s que amos a e alua y gua damos en
W
;i (MODO_SYNC=XX01XXXX)
sublw .16
b ss STATUS,Z
go o seg4_caso2_1
;LUZ3=1
bs sPORTC,2 ;Si lo es á, encendemos la luz
mo sPORTC, W
mo w PORTC
; e u n()
e u n ; ol emos pa a comp oba el modo de la siguien e luz
;else
seg4_caso2_1
;comp obamos si la luz 1 es á en MODO OFF
mo lw b'00110000'
andw MODO_SYNC,W ; il amos los bi s que amos a e alua y gua damos en
W
;i (MODO_SYNC=XX10XXXX)
sublw .32
b ss STATUS,Z
go o seg4_caso2_2
;LUZ3=0
bc sPORTC,2 ;Si lo es á, apagamos la luz
mo sPORTC,W
mo w PORTC
; e u n()
P oyec o inal de ca e a
119
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
e u n ; ol emos pa a comp oba el modo de la siguien e luz
;else
seg4_caso2_2
;es a en MODO AUTO, comp obamos los senso es y empo izado es
;i (senso 3=0)
b sc PORTA,2
;con _seg4_caso2()
go o con _seg4_caso2
;else
;BUFFER[0x52]=TIEMPO
mo lw 0x62
mo w FSR
mo lw TIEMPO
mo w INDF
;LUZ2=1
bs sPORTC,2
mo sPORTC,W
mo w PORTC
; e u n()
e u n
con _seg4_caso2
;i (LUZ=0)
b ss sPORTC,2
; e u n()
e u n ;la luz es á apagada, po lo que el empo izado es á a 0
;else
;CONTADOR_RETRASO=BUFFER[0x52]
mo lw 0x62 ;di ección donde debe ía de es a la di ección de
o igen
mo w FSR
mo INDF,W ;ca gamos el da o del bu e
mo w CONTADOR_RETRASO
; e a do()
call e a do ;la luz es á encendida, disminuimos el con ado e a do
;BUFFER[0x52]=CONTADOR_RETRASO
mo lw 0x62
mo w FSR
mo CONTADOR_RETRASO,W
mo w INDF
;i (CONTADOR_RETRASO=0)
mo CONTADOR_RETRASO,W
sublw 0x00
b sc STATUS,Z
;LUZ3=0
bc sPORTC,2
mo sPORTC,W
mo w PORTC
; e u n()
e u n
seg4_caso3
mo lw .00
mo w EL4
;comp obamos si la luz 1 es á en MODO ON
mo lw b'11000000'
andw MODO_SYNC,W ; il amos los bi s que amos a e alua y gua damos en
W
;i (MODO_SYNC=01XXXXXX)
sublw .64
b ss STATUS,Z
go o seg4_caso3_1
;LUZ4=1
bs sPORTC,3 ;Si lo es á, encendemos la luz
mo sPORTC,W
mo w PORTC
; e u n()
e u n ; ol emos pa a comp oba el es o de las luces
Ami Babani
120
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
;else
seg4_caso3_1
;comp obamos si la luz 1 es á en MODO OFF
mo lw b'11000000'
andw MODO_SYNC,W ; il amos los bi s que amos a e alua y gua damos en
W
;i (MODO_SYNC=XX10XXXX)
sublw .128
b ss STATUS,Z
go o seg4_caso3_2
;LUZ4=0
bc sPORTC,3 ;Si lo es á, apagamos la luz
mo sPORTC,W
mo w PORTC
; e u n()
e u n ; ol emos pa a comp oba el es o de las luces
;else
seg4_caso3_2
;es a en MODO AUTO, comp obamos los senso es y empo izado es
;i (senso 4=0)
b sc PORTA,4 ;--- ANTES 3
;con _seg4_caso3()
go o con _seg4_caso3
;else
;BUFFER[0x53]=TIEMPO
mo lw 0x63
mo w FSR
mo lw TIEMPO
mo w INDF
;LUZ3=1
bs sPORTC,3
mo sPORTC,W
mo w PORTC
; e u n()
e u n
con _seg4_caso3
;i (LUZ=0)
b ss sPORTC,3
; e u n()
e u n ;la luz es á apagada, po lo que el empo izado es á a 0
;else
;CONTADOR_RETRASO=BUFFER[0x53]
mo lw 0x63 ;di ección donde debe ía de es a la di ección de
o igen
mo w FSR
mo INDF,W ;ca gamos el da o del bu e
mo w CONTADOR_RETRASO
; e a do()
call e a do ;la luz es á encendida, disminuimos el con ado e a do
;BUFFER[0x53]=CONTADOR_RETRASO
mo lw 0x63
mo w FSR
mo CONTADOR_RETRASO,W
mo w INDF
;i (CONTADOR_RETRASO=0)
mo CONTADOR_RETRASO,W
sublw 0x00
b sc STATUS,Z
;LUZ4=0
bc sPORTC,3
mo sPORTC,W
mo w PORTC
; e u n()
e u n
;--------------------FUNCIONES USADAS DENTRO DE SENSOR()------------------
e a do ;descuen a el empo izado indi idual y
p oduce un pequeño e a do
nop
;CONTADOR_RETRASO--
P oyec o inal de ca e a
121
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
dec CONTADOR_RETRASO,F ;Con ados indi idual po LUZ
mo lw .20
mo w PDel0
PLoop0 mo lw .72 ;Repe ición el bucle p incipal de e a do
mo w PDel1
PLoop1 ; Repe ición del bucle secunda io de
e a do
dec sz PDel1,1
go o PLoop1
dec sz PDel0,1
go o PLoop0
nop ;Al e mina los dos bucles sale
e u n
;---------------------------------ENVIAR_TX--------------------------------------
;--------------------------------------------------------------------------------
;**********************************************************************
; Fo ma o de ama *
; El o ma o a usa es idén ico a la ama IEEE 802.3 con la *
; omisión del campo 'p eámbulo' *
; *
; |----------------------------------------------| *
; | SOF | Des ino | O igen | Tipo | Da os | FCS | *
; |----------------------------------------------| *
; Nº By es 1 1 1 1 7 4 *
; *
; *
; Fo ma o del campo de Da os pa a Mando *
; *
; L00E0M0 (7 by es) *
; || | | *
; || | | *
; || | -- Modo de ope ación (0x00-Au o,0x01-On,0x02-O ) *
; || | *
; || --- Es ado de la iluminación (0-O , 1-On)[NO DISPONIBLE]*
; || *
; ---- Iden i icado del juego de iluminación (00-99)[NO DISP]*
; *
; *
; *
; Fo ma o del campo de Da os pa a EzWeb *
; *
; CCCCCCM (7 by es) *
; | || *
; | || *
; | |-- Modo de ope ación (0x00-Au o,0x01-On,0x02-O ) *
; | | *
; -------- Es ado de los con oles [NO DISPONIBLE] *
; *
; *
; *
; P ime a pa e del bu e a en ia *
; Pa a que se de ec ada po los mandos *
; ________________________________________________
; |0x30| 0x31 |0x32|0x33| 0x34 --> 0x3A | VARI | --> Di ección
; |----------------------------------------------|
; |0xAB|CONTROL|HOST|0X07|X X X X X X MODO|CRC_TX|
; |----------------------------------------------|
; |___________________________________|
; Bu e almacenado en memo ia
;
;
;
; Segunda pa e del bu e a en ia
; Pa a el Ezweb, el alo de los modos y luces a ía
; ya que él los in e aces web pueden ene p oblemas a la ho a
; de abaja con alo es meno es de 0x30
; ______________________________________________________
; |0x50|0x51|0x52|0x53|0x54|0x55|0x56|0x57|0x58|0x59|0x5A| --> Di .
; |------------------------------------------------------|
; |0x41|0x54|0x2A|0x4E|0x56|0x52|0x45|0x47|LUZ |0x3D|MODO| --> Hex
; | A T * N V R E G XX = XX | --> Ascii
; |------------------------------------------------------|
Ami Babani
128
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
seg2_caso3 ;es ado enca gado de comp oba si se ha ecibido un by e
;i (RCIF==0)
b ss PIR1,RCIF ;comp oba si se ha ecibido un da o
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (RCIF==1)
;Recepción del campo TIPO, de ini á el amaño del campo DATO
;LONG_RX=RCREG
mo RCREG,W
mo w LONG_RX
;i (RCREG==LONG_RX)
;mo RCREG,W ;Si la ama no es á des inada a es e pe i é ico,
ol emos al es ado inicial caso 0
;mo w LONG_RX
sublw BUFFER_RX ;El alo de BUFFER_RX es á de inido en los
alo es iniciales
b sc STATUS,Z
go o LONG_RX_OK
;else
go o LONG_RX_no_OK
LONG_RX_no_OK
mo lw .00 ;ca ga 0x00 en EL2, y ol emos al caso 0
mo w EL2
; e u n()
e u n
LONG_RX_OK
;CRC_RX=CRC_RX+RCREG
mo lw BUFFER_RX
mo w LONG_RX
addw CRC_RX,1
;i=0;
mo lw 0x00 ;inicializamos el con ado pa a el campo da os
mo w CONT_RX
;EL2=4
mo lw .04 ;ca ga 0x04 en EL2, y sal amos al caso 4
mo w EL2
; e u n()
e u n
;-------------------------------------------------------------------------------
seg2_caso4 ;es ado enca gado de comp oba si se ha ecibido un by e
;i (RCIF==0)
b ss PIR1,RCIF ;comp oba si se ha ecibido un da o
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (RCIF==1)
;Recepción del campo DATO
;inicializamos el inicio del bu e pa a almacena el campo de da os
bc STATUS,RP0 ;seleccionamos el banco 0
bc STATUS,RP1
mo lw 0x41 ;di ección de inicio pa a el bu e de en ada
addw CONT_RX,W ;sumamos a la posición el núme o del con ado
mo w FSR
;BUFFER_RX[i]=RCREG
P oyec o inal de ca e a
129
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
mo RCREG,W
mo w INDF ;g abamos el by e ecibido del campo da o en el bu e
;CRC_RX=CRC_RX+RCREG
mo INDF,W
addw CRC_RX,1
;LONG--
dec LONG_RX,1
;i++
inc CONT_RX,1
;i (LONG_RX==0)
mo LONG_RX,W
sublw .0
b sc STATUS,Z
go o FIN_DATO ; in de la lec u a del campo DATO, sal amos al
siguien e caso
;else
go o FIN_no_DATO ;aún que po ecibi by es de la ama da os, ol emos
al es ado an e io
FIN_DATO
;EL2=5
mo lw .05
mo w EL2 ;ca ga 0x05 en EL2, y sal amos al caso 5
; e u n()
e u n
FIN_no_DATO
; e u n()
e u n
;-----------------------------------------------------------------------------
seg2_caso5 ;es ado enca gado de comp oba si se ha ecibido un by e
;i (RCIF==0)
b ss PIR1,RCIF ;comp oba si se ha ecibido un da o
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (RCIF==1)
;Recepción del CRC y ** e i icación
;EL2=0
mo lw .0 ;ca ga 0x00 en EL2, y ol emos al caso inicial
mo w EL2
;i (CRC_RX==RCREG)
mo RCREG,W ;comp obamos el CRC ecibido con el calculado
CRC_OK ;Da aReady=1
bs INDI,0 ;ma camos el lag de nues o indicado como que hay un
da o
;e al_ x=1
bs INDI,1
; e u n()
e u n
;---------------------------------EVALUAR_MANDO-----------------------------------
;---------------------------------------------------------------------------------
;
; |---------------------------------------------------|
; INFO | 0xAB | 0x20 | 0x10 | 0x07 | L00E0M "X" | FCS |
; |---------------------------------------------------|
;
; |---------------------------------------------------|
; | SOF | Des ino | O igen | Long | Da os | FCS |
; |---------------------------------------------------|
; Nº By es 1 1 1 1 7 1
; | |
; | |
; - - ---
; | |
Ami Babani
130
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
; Se almacena á los campos: ORIGEN (0x40) y MODO (0x47)
;
; Di ección Hos
; Pic P incipal: 0x10
; EzWeb: 0x20
; Mando:0x01 --> 0x04
;
;Se ac ualiza á la a iable MODO_SYNC que a su ez se almacena á en la
;di ección 0x38 del bu e de salida
;
; MODO SYNC: M4 M3 M2 M1 Cada pa de by es de alla el modo que es á
; cada mando.
; 00 - Au o
; 01 - On
; 10 - O
;
;---------------------------------------------------------------------------
o g 0x300
e alua _mando
;i (e al_mando==0)
b ss INDI,3
; e u n()
e u n ;no se ha ecibido ninguna ama de algún mando, po lo que no
hay que ac ualiza los mandos
;i (se ial==1)
b sc INDI,4
; e u n()
e u n ;ya se es á en iando una ama, así e i amos machaca el
bu e
;else
mo lw HIGH swi ch_e alua _mando
mo w PCLATH
swi ch_e alua _mando
;swi ch(EL5)
mo EL5, W ; ca go W con el es ado (0 --> 5)
addw PCL, F ; modi ico el con ado del p og ama en unción del es ado coinciden e
go o seg5_caso0 ;Cons ucción del Bu e de salida
go o seg5_caso1 ;Iden i icamos de que mando es la ama de en ada
go o seg5_caso2 ;La ama ecibida es del mando 1
go o seg5_caso3 ;La ama ecibida es del mando 2
go o seg5_caso4 ;La ama ecibida es del mando 3
go o seg5_caso5 ;La ama ecibida es del mando 4
seg5_caso0
;inicialización del bu e _ x
bc STATUS,RP0
bc STATUS,RP1 ;seleccionamos el banco 0
mo lw 0x30 ;apun amos a la 1º posición del bu e
mo w FSR
mo lw 0xAB ;Ca gamos el PREAMBULO
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0xFF ;Ca gamos el da o " ", es a es (ADDR:0x31)
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw HOST ;Ca gamos la di ección HOST
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x07 ;Ca gamos el alo TIPO con la longi ud del campo da os (7)
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0xFF ;1º by e del campo da os " "
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0xFF ;2º by e del campo da os " "
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0xFF ;3º by e del campo da os " "
P oyec o inal de ca e a
131
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0xFF ;4º by e del campo da os " "
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0xFF ;5º by e del campo da os " ", aquí debe ía de almacena modo
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0xFF ;6º by e del campo da os " "
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0xFF ;7º by e del campo da os " "
mo w INDF
; Segunda pa e del bu e pa a el EzWEB, c eamos el bu e con el da o
; AT*NVREG_=_
; Al inaliza de en ia la ama enemos que e mina con un sal o de línea <CR>=0x0D
<CL>=0x0A pa a que el Ezweb lo acep e
mo lw 0x4E ;apun amos a la 1º posición del bu e
mo w FSR
mo lw 0x0D ;Ca gamos <CR> que equi ale a un sal o de línea
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x0A ;Ca gamos <CL> que equi ale a un sal o de línea
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x41 ;Ca gamos "A"
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x54 ;Ca gamos "T"
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x2A ;Ca gamos "*"
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x4E ;Ca gamos "N"
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x56 ;Ca gamos "V"
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x52 ;Ca gamos "R"
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x45 ;Ca gamos "E"
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x47 ;Ca gamos "G"
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e (Di : 0x58)
mo lw 0xFF ;Dejamos la posición en blanco pa a el núme o de la MANDO
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x3D ;Ca gamos "="
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e (Di : 0x5A)
mo lw 0xFF ;Dejamos la posición en blanco pa a el MODO
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x0D ;Ca gamos <CR> que equi ale a un sal o de línea
mo w INDF
inc FSR,1 ; amos a la siguien e posición del bu e
mo lw 0x0A ;Ca gamos <CL> que equi ale a un sal o de línea
mo w INDF
;Modi icamos el 1º BUFFER_TX pa a los MANDOS
;Ac ualizando MANDO
;EVAL=BUFFER_RX[MANDO(40h)]
mo lw 0x40
mo w FSR
mo INDF,W
mo w EVAL
;BUFFER_TX[31h]=EVAL
Ami Babani
132
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
mo lw 0x31
mo w FSR
mo EVAL,W
mo w INDF
;Ac ualizando MODO
;EVAL=BUFFER_RX[MODO(47h)]
mo lw 0x47
mo w FSR
mo INDF,W
mo w EVAL
;BUFFER_TX[3Ah]=EVAL
mo lw 0x3A
mo w FSR
mo EVAL,W
mo w INDF
;Modi icamos el 2º BUFFER_TX pa a el EZWEB
;Ac ualizando MANDO
;EVAL=BUFFER_RX[MANDO(40h)]+30h
mo lw 0x40
mo w FSR
mo INDF,W
addlw 0x30 ;Añadimos 30h pa a que el EzWeb la en iend
mo w EVAL
;BUFFER_TX[58h]=EVAL
mo lw 0x58
mo w FSR
mo EVAL,W
mo w INDF
;Ac ualizando MODO
;EVAL=BUFFER_RX[MODO(47h)]+30h
mo lw 0x47
mo w FSR
mo INDF,W
addlw 0x30 ;Añadimos 30h pa a que el Ezweb la en ienda
mo w EVAL
;BUFFER_TX[5Ah]=EVAL
mo lw 0x5A
mo w FSR
mo EVAL,W
mo w INDF
;EL5=1
mo lw .01 ;pasamos al siguien e es ado
mo w EL5
; e u n()
e u n ; ol emos
seg5_caso1
;EVAL=BUFFER_RX[0x40]
mo lw 0x40 ;di ección donde debe ía de es a el id del Mando
mo w FSR
mo INDF,W
mo w ORIGEN
;i (ORIGEN==0x01)
mo ORIGEN,W ;Comp obamos si es el mando 1
sublw 0x01
b ss STATUS,Z
go o $+4
;EL5=2
mo lw .02 ;pasamos al siguien e es ado po que la ama es
del mando 1
mo w EL5
; e u n()
e u n ; ol emos
;else seguimos buscando
;i (ORIGEN==0x02)
mo ORIGEN,W ;Comp obamos si es el mando 2
sublw 0x02
b ss STATUS,Z
go o $+4
P oyec o inal de ca e a
133
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
;EL5=3
mo lw .03 ;pasamos al siguien e es ado po que la ama es
del mando 2
mo w EL5
; e u n()
e u n ; ol emos
;else seguimos buscando
;i (ORIGEN==0x03)
mo ORIGEN,W ;Comp obamos si es el mando 3
sublw 0x03
b ss STATUS,Z
go o $+4
;EL5=4
mo lw .04 ;pasamos al siguien e es ado po que la ama es
del mando 3
mo w EL5
; e u n()
e u n ; ol emos
;else seguimos buscando
;i (ORIGEN==0x04)
mo ORIGEN,W ;Comp obamos si es el mando 4
sublw 0x04
b ss STATUS,Z
go o $+4
;EL5=2
mo lw .05 ;pasamos al siguien e es ado po que la ama es
del mando 4
mo w EL5
; e u n()
e u n ; ol emos
go o in_e al_mando_e o ;hemos ecibido un da o no
álido, no en iamos nada
seg5_caso2 ;de ec ado Mando 1
;g abamos en el bu e de salida en el campo des ino la di ección del mando
bc STATUS,RP0
bc STATUS,RP1 ;seleccionamos el banco 0
;EVAL=BUFFER_RX[0x47]
mo lw 0x47 ;di ección donde debe ía de es a el MODO en el que es á el
mando
mo w FSR
mo INDF,W
mo w EVAL
;i (e al==000000 00)
mo EVAL,W
sublw .00
b ss STATUS,Z
go o $+4
;MODO_SYNC= XXXXXX 00
bc MODO_SYNC,0 ;ac ualizamos la a iable
bc MODO_SYNC,1
; in_e al_mando
go o in_e al_mando
;i (e al==000000 01)
mo EVAL,W
sublw .01
b ss STATUS,Z
go o $+4
;MODO_SYNC= XXXXXX 01
bs MODO_SYNC,0 ;ac ualizamos la a iable
bc MODO_SYNC,1
; in_e al_mando
go o in_e al_mando
;i (e al==000000 10)
mo EVAL,W
sublw .02
b ss STATUS,Z
go o $+4
;MODO_SYNC= XXXXXX 10
Ami Babani
134
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
bc MODO_SYNC,0 ;ac ualizamos la a iable
bs MODO_SYNC,1
; in_e al_mando
go o in_e al_mando
go o in_e al_mando_e o ;hemos ecibido un da o no
álido, no en iamos nada
seg5_caso3 ;de ec ado Mando 2
;g abamos en el bu e de salida en el campo des ino la di ección del mando
bc STATUS,RP0
bc STATUS,RP1 ;seleccionamos el banco 0
;EVAL=BUFFER_RX[0x47]
mo lw 0x47 ;di ección donde debe ía de es a el MODO en el que es á el
mando
mo w FSR
mo INDF,W
mo w EVAL
;***i (e al==000000 00)
mo EVAL,W
sublw .00
b ss STATUS,Z
go o $+4
;MODO_SYNC= XXXX 00 XX
bc MODO_SYNC,2 ;ac ualizamos la a iable
a en ia al EZWEB
bc MODO_SYNC,3
; in_e al_mando
go o in_e al_mando
;i (e al==000000 01)
mo EVAL,W
sublw .01
b ss STATUS,Z
go o $+4
;MODO_SYNC= XXXXXX 01
bs MODO_SYNC,2 ;ac ualizamos la a iable a
en ia al EZWEB
bc MODO_SYNC,3
; in_e al_mando
go o in_e al_mando
;i (e al==000000 10)
mo EVAL,W
sublw .02
b ss STATUS,Z
go o $+4
;MODO_SYNC= XXXXXX 10
bc MODO_SYNC,2 ;ac ualizamos la a iable a
en ia al EZWEB
bs MODO_SYNC,3
; in_e al_mando
go o in_e al_mando
go o in_e al_mando_e o ;hemos ecibido un da o no
álido, no en iamos nada
seg5_caso4 ;de ec ado Mando 3
;g abamos en el bu e de salida en el campo des ino la di ección del mando
bc STATUS,RP0
bc STATUS,RP1 ;seleccionamos el banco 0
;EVAL=BUFFER_RX[0x47]
mo lw 0x47 ;di ección donde debe ía de es a el MODO en el que es á el
mando
mo w FSR
mo INDF,W
mo w EVAL
;i (e al==000000 00)
mo EVAL,W
sublw .00
b ss STATUS,Z
P oyec o inal de ca e a
135
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
go o $+4
;MODO_SYNC= XX 00 XXXX
bc MODO_SYNC,4 ;ac ualizamos la a iable a en ia al
EZWEB
bc MODO_SYNC,5
; in_e al_mando
go o in_e al_mando
;i (e al==000000 01)
mo EVAL,W
sublw .01
b ss STATUS,Z
go o $+4
;MODO_SYNC= XX 01 XXXX
bs MODO_SYNC,4 ;ac ualizamos la a iable a en ia al
EZWEB
bc MODO_SYNC,5
; in_e al_mando
go o in_e al_mando
;i (e al==000000 10)
mo EVAL,W
sublw .02
b ss STATUS,Z
go o $+4
;MODO_SYNC= XX 10 XXXX
bc MODO_SYNC,4 ;ac ualizamos la a iable a en ia al
EZWEB
bs MODO_SYNC,5
; in_e al_mando
go o in_e al_mando
go o in_e al_mando_e o ;hemos ecibido un da o no
álido, no en iamos nada
seg5_caso5 ;de ec ado Mando 4
;g abamos en el bu e de salida en el campo des ino la di ección del mando
bc STATUS,RP0
bc STATUS,RP1 ;seleccionamos el banco 0
;EVAL=BUFFER_RX[0x47]
mo lw 0x47 ;di ección donde debe ía de es a el MODO en el que es á el
mando
mo w FSR
mo INDF,W
mo w EVAL
;i (e al==000000 00)
mo EVAL,W
sublw .00
b ss STATUS,Z
go o $+4
;MODO_SYNC= 00 XXXXXX
bc MODO_SYNC,6 ;ac ualizamos la a iable a en ia al
EZWEB
bc MODO_SYNC,7
; in_e al_mando
go o in_e al_mando
;i (e al==000000 01)
mo EVAL,W
sublw .01
b ss STATUS,Z
go o $+4
;MODO_SYNC= 01 XXXXXX
bs MODO_SYNC,6 ;ac ualizamos la a iable a
en ia al EZWEB
bc MODO_SYNC,7
; in_e al_mando
go o in_e al_mando
;i (e al==000000 10)
mo EVAL,W
sublw .02
b ss STATUS,Z
go o $+4
Ami Babani
136
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
;MODO_SYNC= 10 XXXXXX
bc MODO_SYNC,6 ;ac ualizamos la a iable a en ia al
EZWEB
bs MODO_SYNC,7
; in_e al_mando
go o in_e al_mando
go o in_e al_mando_e o ;hemos ecibido un da o no
álido, no en iamos nada
;------------------FUNCIONES USADAS DENTRO DE EVALUAR_MANDO--------------------------------
---------
in_e al_mando
;se ial=1
bs INDI,4 ;la ama ya es á lis a pa a se en iada
;e al_mando=0
bc INDI,3
;Da aReady=0
bc INDI,0 ;ya hemos e minado de abaja con el bu e en en ada, po
lo que se puede machaca
mo lw .00 ;inicializamos la a iable EL5
mo w EL5
; e u n()
e u n
in_e al_mando_e o
;e al_mando=0
bc INDI,3
;Da aReady=0
bc INDI,0 ;ya hemos e minado de abaja con el bu e en en ada, po
lo que se puede machaca
mo lw .00 ;inicializamos la a iable EL5
mo w EL5
; e u n
e u n
;------------------------------------------------------------------------------------------
-------
END ; Aquí no iene que llega nunca
P oyec o inal de ca e a
137
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
4.3 Código Fuen e Placa
Mando
Ami Babani
144
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
;------------------------------------------------------------------------------------------
------------------
;
;Se in en a de ec a un cambio de lanco, pa a e i a de ec a una la ga pulsación como
a ias pulsaciones
; ____________________________________________________
;RA0 |
|
; _______________|
|___________
; Flanco=1 Click=1 -> Flanco=0 Click=0 Flanco=1
;
;-----------------------------------------------------------------------------------------
lee _ eclado
;i (SEND==1)
b sc INDI,2
; e u n()
e u n ;se es á en iando un da o, ol emos
;swi ch (RA0)
bc STATUS,RP0 ;seleccionamos el banco 0
bc STATUS,RP1
b ss PORTA,0 ;leemos el pue o de en ada
;case 0
go o RA0_0 ;si leemos un 0
;case 1
go o RA0_1 ;si leemos un 1
RA0_0
;Flanco=1
bs INDI,7
; e u n()
e u n
RA0_1
;i (Flanco==1)
b ss INDI,7
e u n
;Click=1
bs INDI,1 ;ac i amos el lag como que se ha pulsado el bo ón po que
hemos de ec ado un cambio de ansición de 0->1
;Flanco=0
bc INDI,7 ;ponemos el de ec o de cambio de es ado a 0
; e u n()
e u n
;---------------------------------MANDO--------------------------------------------------
;---------------------------------------------------------------------------------------
mando ;selec o de modo
mo lw HIGH swi ch_mando
mo w PCLATH
swi ch_mando ;swi ch(MODO)
mo EL1, W ; ca go W con el es ado (0x00=Au o 0x01=On 0x02=O )
addw PCL, F ; modi ico el con ado del p og ama en unción del es ado
coinciden e
;case(au o)
go o seg1_caso0 ; modo AUTO
;case(on)
go o seg1_caso1 ; modo ON
;case(o )
go o seg1_caso2 ; modo OFF
;end swi ch
;-------------------------------------------ESTADOS MANDO----------------------------------
seg1_caso0 ;modo AUTO
P oyec o inal de ca e a
145
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
;i ( ecei e==1)
b sc INDI,3 ;comp ueba si el lag de da o ecibido po se ial es á ac i o
;cambia _ x()
call cambia _ x ;si lo es á, es a unción cambia á el modo al modo ecibido a
a és del pue o se ial
;i (click==1)
b ss INDI,1 ;si se ha pulsado un bo ón del eclado
go o swi ch1_0
;MODO=ON
mo lw OFF ;ac ualizamos el modo
mo w MODO
;send=1
bs INDI,2 ;ac i amos el lag pa a que se no i ique a a és del pue o
se ie el cambio de modo
;click=0
bc INDI,1 ;ponemos el lag de click a 0
swi ch1_0
mo lw HIGH swi ch1_0a ;mo emos a W la pa e al a donde es á mapeado el
swi ch
mo w PCLATH ;modi icamos PCLATH (pa e al a de PCL)
swi ch1_0a ;swi ch(modo) --> unción enca gada de modi ica EL1,
en unción al modo en el que es amos abajando
mo MODO, W ; ca go W con el es ado (0x00=Au o 0x01=On 0x02=O )
addw PCL, 1 ; modi ico el con ado del p og ama en unción del caso
coinciden e
e u n ;case(au o), no enemos que modi ica nada, ol emos a
main()
go o case_on ;case(on)
go o case_o ;case(o )
;------------------------------------------------------------------------------
seg1_caso1 ;modo ON
;i ( ecei e==1)
b sc INDI,3 ;comp ueba si el lag de ecibido da o po se ial es á ac i o
;cambia _ x()
call cambia _ x ;si lo es á, es a unción cambia á el modo al modo ecibido a
a és del pue o se ial
;i (click==1)
b ss INDI,1 ;si se ha pulsado un bo ón del eclado
go o swi ch1_1
;MODO=OFF
mo lw AUTO ;ac ualizamos el modo
mo w MODO
;send=1
bs INDI,2 ;ac i amos el lag pa a que se no i ique a a és del pue o
se ie el cambio de modo
;click=0
bc INDI,1 ;ponemos el lag de click a 0
swi ch1_1
mo lw HIGH swi ch1_1a ;mo emos a W la pa e al a donde es á mapeado el
swi ch
mo w PCLATH ;modi icamos PCLATH (pa e al a de PCL)
swi ch1_1a ;swi ch(modo) --> unción enca gada de modi ica EL1, en unción al
modo en el que es amos abajando
mo MODO, W ; ca go W con el es ado (0x00=Au o 0x01=On 0x02=O )
addw PCL, F ; modi ico el con ado del p og ama en unción del caso coinciden e
go o case_au o ;case(au o)
e u n ;case(on), no enemos que modi ica nada, ol emos a
main()
go o case_o ;case(o )
;------------------------------------------------------------------------
seg1_caso2 ;modo OFF
Ami Babani
146
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
;i ( ecei e==1)
b sc INDI,3 ;comp ueba si el lag de ecibido da o po se ial es á ac i o
;cambia _ x()
call cambia _ x ;si lo es á, es a unción cambia á el modo al modo ecibido a
a és del pue o se ial
;i (click==1)
b ss INDI,1 ;si se ha pulsado un bo ón del eclado
go o swi ch1_2
;MODO=AUTO
mo lw ON ;ac ualizamos el modo
mo w MODO
;send=1
bs INDI,2 ;ac i amos el lag pa a que se no i ique a a és del pue o
se ie el cambio de modo
;click=0
bc INDI,1 ;ponemos el lag de click a 0
swi ch1_2
mo lw HIGH swi ch1_2a ;mo emos a W la pa e al a donde es á mapeado el
swi ch
mo w PCLATH ;modi icamos PCLATH (pa e al a de PCL)
swi ch1_2a ;swi ch(modo) --> unción enca gada de modi ica EL1, en unción al
modo en el que es amos abajando
mo MODO, W ; ca go W con el es ado (0x00=Au o 0x01=On 0x02=O )
addw PCL, F ; modi ico el con ado del p og ama en unción del caso coinciden e
go o case_au o ;case(au o)
go o case_on ;case(on),
e u n ;case(o ), no enemos que modi ica nada, ol emos a
main()
;------------ unciones usadas den o de MANDO--------------------------------
cambia _ x
;MODO=MODO_RX
mo MODO_RX, W
mo w MODO
; ecei e=0
bc INDI,3 ;ponemos el lag de ecei e a 0
; e u n()
e u n
;------------casos posibles, usados den o de MANDO----------------------------
;casos enca gados de modi ica la a iable EL1 y los LEDS según el modo en el que es amos
ope ando.
;la a iable EL1 es usada en la unción mando pa a ealiza el sal o al es ado co ec o
case_au o
;EL1=00
;go o seg1_caso0
mo lw AUTO ;ca ga 0x00 en EL1
mo w EL1
;led_ ed=On
;led_g een=O
mo lw b'00001000' ;ponemos a ni el al o RC6
mo w PORTC
; e u n
e u n
case_on
;EL1=01
;go o seg1_caso1
P oyec o inal de ca e a
147
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
mo lw ON ;ca ga 0x01 en EL1
mo w EL1
;led_ ed=O
;led_g een=O
mo lw b'00100000' ;ponemos a ni el al o RC5
mo w PORTC
; e u n
e u n
case_o
;EL1=02
;go o seg1_caso2
mo lw OFF ;ca ga 0x02 en EL1
mo w EL1
;led_ ed=O
;led_g een=On
mo lw b'00010000' ;ponemos a ni el al o RC4
mo w PORTC
; e u n
e u n
; in de los casos posibles
;---------------------------------En ia _ x----------------------------------
;----------------------------------------------------------------------------
;**********************************************************************
; Fo ma o de ama *
; El o ma o a usa es idén ico a la ama IEEE 802.3 con la *
; omisión del campo 'p eámbulo' *
; *
; |----------------------------------------------| *
; | SOF | Des ino | O igen | Tipo | Da os | FCS | *
; |----------------------------------------------| *
; Nº By es 1 1 1 1 Va . 4 *
; *
; *
; Fo ma o del campo de Da os *
; *
; L00E0M0 (7 by es) *
; || | | *
; || | | *
; || | -- Modo de ope ación (0x00-Au o,0x01-On,0x02-O ) *
; || | *
; || --- Es ado de la iluminación (0-O , 1-On) *
; || *
; ---- Iden i icado del juego de iluminación (00-99) *
;
;
; Bu e a en ia
;
; |-----------------------------------------------------------|
; |0xAB|CONTROL|HOST|0X07|"L" 0xFF ID "E" 0xFF "M" MODO|CRC_TX| *
; |-----------------------------------------------------------| *
; |____________________________________________|
; Bu e almacenado en memo ia
;
;----------------------------------------------------------------------
o g 0x100
en ia _ x
;i (SEND==0)
b ss INDI,2
; e u n()
e u n ;no hay ningún da o a en ia , ol emos
mo lw HIGH en ia _ x
mo w PCLATH
;ponemos el MAX485 en modo de en ío
;PORTC[6]=1
bs PORTC,6
nop
;swi ch(es ado)
mo EL3, W ; ca go W con el es ado
addw PCL, F ; modi ico el con ado del p og ama en unción del es ado coinciden e
Ami Babani
148
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
go o seg3_caso0
go o seg3_caso1
go o seg3_caso2
go o seg3_caso3
go o seg3_caso4
;--------------------------------inicio de es ados---------------------------
seg3_caso0 ;es ado enca gado de comp oba si TXREG es á acio pa a pode en ia un by e
;i (TXIF==0)
b ss PIR1,TXIF ;comp oba si TXREG es á acio
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (TXIF==1)
;En io del bu e _ x
bc STATUS,RP0
bc STATUS,RP1 ;seleccionamos el banco 0
;N=CONTADOR_TX+0x30
mo lw 0x30 ;apun amos a la 1º di ección del bu e
addw CONT_TX,W ;sumamos al pun ado el alo del con ado
mo w FSR
;TXREG=BUFFER[N]
mo INDF,W
mo w TXREG
;CRC_TX=CRC_TX+BUFFER[N]
mo INDF,W
addw CRC_TX,1 ;ac ualizamos el alo de CRC
;CONT_TX
inc CONT_TX,1 ;inc emen amos el con ado
mo CONT_TX,W
xo lw .10 ;el bu e iene una longi ud de 10 by es
b sc STATUS,Z
;i (CONT_TX=10)
go o in_ x ;hemos e minado de en ia el bu e
;i (CONT_TX!=10)
go o in_no_ x ;no hemos e minado de en ia el bu e
in_ x
;CONT_TX=0
mo lw 0x00
mo w CONT_TX ;inicializamos el con ado
;EL3=2
mo lw .01
mo w EL3 ; amos al siguien e es ado
; e u n()
e u n
in_no_ x
; e u n() ;seguimos en el mismo es ado
e u n
;---------------------------------------------------------------------
seg3_caso1 ;es ado enca gado de comp oba si TXREG es á acio pa a pode en ia
un by e
;i (TXIF==0)
b ss PIR1,TXIF ;comp oba si TXREG es á acio
; e u n()
P oyec o inal de ca e a
149
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (TXIF==1)
;TXREG=MODO
mo MODO,W ;en ío del modo en el que el mando es á abajando
mo w TXREG
;CRC_TX=CRC_TX+MODO
addw CRC_TX,1 ;ac ualizamos el alo de CRC
;EL3=2;
mo lw 0x02 ;sal amos al siguien e es ado
mo w EL3
; e u n()
e u n
;------------------------------------------------------------------------
seg3_caso2 ;es ado enca gado de comp oba si TXREG es á acio pa a pode en ia
un by e
;i (TXIF==0)
b ss PIR1,TXIF ;comp oba si TXREG es á acio
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (TXIF==1)
;TXREG=CRC_TX
mo CRC_TX,W ;en io del CRC
mo w TXREG
;EL3=0;
mo lw .03 ; ol emos al es ado p incipal a la espe a de en ia
o a ama
mo w EL3
; e u n()
e u n
;---------------------------------------------------------------------------------
seg3_caso3
;i (TXIF==0)
b ss PIR1,TXIF ;comp oba si TXREG es á acio
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;EL3=0;
mo lw .04 ; ol emos al es ado p incipal a la espe a de en ia
o a ama
mo w EL3
mo lw .250 ;iniciamos con ado de delay
mo w CRC_TX ;empleamos la a iable CRC_TX ya que no la es amos
usando aho a
e u n
seg3_caso4
nop
;DELAY--
dec sz CRC_TX,1
;i (delay!=0) e u n
e u n
;SEND=0
Ami Babani
150
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
bc INDI,2 ;cambiamos el lag pa a indica que la ama ya es á
en iada
;EL3=0;
mo lw .00 ; ol emos al es ado p incipal a la espe a de en ia
o a ama
mo w EL3
mo lw .00
mo w CRC_TX ; inicializamos el CRC del bu e de salida
bc PORTC,6
e u n
;---------------------READ_SERIAL--------------------------------------
;----------------------------------------------------------------------
;**********************************************************************
; Fo ma o de ama *
; El o ma o a usa es idén ico a la ama IEEE 802.3 con la *
; omisión del campo 'p eámbulo' *
; *
; |----------------------------------------------| *
; | SOF | Des ino | O igen | Tipo | Da os | FCS | *
; |----------------------------------------------| *
; Nº By es 1 1 1 1 Va . 4 *
; *
; *
; Fo ma o del campo de Da os *
; *
; L00E0M0 (7 by es) *
; || | | *
; || | | *
; || | -- Modo de ope ación (0x00-Au o,0x01-On,0x02-O ) *
; || | *
; || --- Es ado de la iluminación (0-O , 1-On) *
; || *
; ---- Iden i icado del juego de iluminación (00-99) *
; *
; En es a unción solo usa emos el da o del modo de ope ación *
; *
;----------------------------------------------------------------------
o g 0x200
ead_se ial ;selec o de es ado
;i (da a eady==1)
b sc INDI,0 ;el úl imo da o ecibido aún no ha sido e aluado, así e i amos
machaca el bu e
; e u n()
e u n
;i (SEND==1)
b sc INDI,2
; e u n()
e u n ;se es á en iando un da o, ol emos
bc STATUS,RP1 ; bank 0
bc STATUS,RP0
mo lw HIGH ead_se ial
mo w PCLATH
;swi ch(es ado)
mo EL2, W ; ca go W con el es ado (0 --> 5)
addw PCL, F ; modi ico el con ado del p og ama en unción del es ado coinciden e
go o seg2_caso0
go o seg2_caso1
go o seg2_caso2
go o seg2_caso3
go o seg2_caso4
go o seg2_caso5
P oyec o inal de ca e a
151
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
;---------------------ESTADOS READ_SERIAL-----------------------------------
seg2_caso0 ;es ado enca gado de comp oba si se ha ecibido un by e
;i (RCIF==0)
b ss PIR1,RCIF ;comp oba si se ha ecibido un da o
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (RCIF==1)
;Recepción del p eámbulo
;i (RCREG=="AB")
mo RCREG,W ;Comp obamos el by e ecibido con el p eambulo (AB =
10101011)
xo lw 0xAB
b sc STATUS,Z
go o AB_OK
;else
go o AB_no_OK
AB_OK ;EL2=1
mo lw .01 ; Si es el p eambulo amos al caso 1
mo w EL2
; e u n()
e u n
AB_no_OK ;EL2=0
; Si no es el p eambulo ol emos al caso 0
; e u n()
e u n
;------------------------------------------------------------------------------------
seg2_caso1 ;es ado enca gado de comp oba si se ha ecibido un by e
;i (RCIF==0)
b ss PIR1,RCIF ;comp oba si se ha ecibido un da o
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (RCIF==1)
;Recepción de campo de DESTINO
;i (RCREG==HOST)
mo RCREG,W ;Si la ama no es á des inada a es e pe i é ico,
ol emos al es ado inicial caso 0
xo lw HOST ;El alo de HOST es á de inido en los alo es
iniciales
b sc STATUS,Z
go o HOST_OK
;else
go o HOST_no_OK
HOST_OK ;CRC_RX=RCREG
mo lw HOST
mo w CRC_RX ; Inicializamos el alo de CRC con el alo de HOST
;EL2=2
Ami Babani
152
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
mo lw .02 ;ca ga 0x02 en EL2, y sal amos al caso 2
mo w EL2
; e u n()
e u n
HOST_no_OK mo lw .00 ;ca ga 0x00 en EL2, y ol emos al caso 0
mo w EL2
; e u n()
e u n
;-----------------------------------------------------------------------------
seg2_caso2 ;es ado enca gado de comp oba si se ha ecibido un by e
;i (RCIF==0)
b ss PIR1,RCIF ;comp oba si se ha ecibido un da o
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (RCIF==1)
;Recepción del campo ORIGEN
;i (RCREG==CONTROL)
mo RCREG,W ;Si la ama no es en iada po el PIC P incipal
ol emos al es ado inicial 0
xo lw CONTROL ;El alo de CONTROL es á de inido en los alo es
iniciales
b sc STATUS,Z
go o CONTROL_OK
;else
go o CONTROL_no_OK
CONTROL_OK ;CRC_RX=CRC_RX+RCREG
mo lw CONTROL_OK
addw CRC_RX,1 ; Ac ualizamos el alo del CRC
;EL2=3
mo lw .03 ;ca ga 0x03 en EL2, y sal amos al caso 3
mo w EL2
; e u n()
e u n
CONTROL_no_OK ;ca ga 0x00 en EL2, y ol emos al caso 0
mo lw .00
mo w EL2
; e u n()
e u n
;-----------------------------------------------------------------------------
seg2_caso3 ;es ado enca gado de comp oba si se ha ecibido un by e
;i (RCIF==0)
b ss PIR1,RCIF ;comp oba si se ha ecibido un da o
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (RCIF==1)
;Recepción del campo TIPO, de ini á el amaño del campo DATO
;LONG_RX=RCREG
mo RCREG,W
mo w LONG_RX
;CRC_RX=CRC_RX+RCREG
mo LONG_RX,W
addw CRC_RX,1
;i=0;
P oyec o inal de ca e a
153
CONTROL Y MONITORIZACIÓN DE SISTEMAS DE DOMÓTICA MEDIANTE UN INTERFAZ WEB
mo lw 0x00 ;inicializamos el con ado pa a el campo da os
mo w CONT_RX
;EL2=4
mo lw .04 ;ca ga 0x08 en EL2, y sal amos al caso 4
mo w EL2
; e u n()
e u n
;-------------------------------------------------------------------------------
seg2_caso4 ;es ado enca gado de comp oba si se ha ecibido un by e
;i (RCIF==0)
b ss PIR1,RCIF ;comp oba si se ha ecibido un da o
; e u n()
e u n ;no se ha ecibido ningún da o, ol emos a la unción
p incipal
;i (RCIF==1)
;Recepción del campo DATO
;inicializamos el inicio del bu e pa a almacena el campo de da os
bc STATUS,RP0 ;seleccionamos el banco 0
bc STATUS,RP1
mo lw 0x40 ;di ección de inicio pa a el bu e de en ada
addw CONT_RX,W ;sumamos a la posición el núme o del con ado
mo w FSR
;BUFFER_RX[i]=RCREG
mo RCREG,W
mo w INDF ;g abamos el by e ecibido del campo da o en el bu e
;CRC_RX=CRC_RX+RCREG
mo INDF,W
addw CRC_RX,1
;LONG--
dec LONG_RX,1
;i++
inc CONT_RX,1
;i (LONG_RX==0)
mo LONG_RX,W
xo lw .0
b sc STATUS,Z
go o FIN_DATO ; in de la lec u a del campo DATO, sal amos al
siguien e caso
;else
go o FIN_no_DATO ;aún que po ecibi by es de la ama da os, ol emos
al es ado an e io
FIN_DATO
;EL2=5
mo lw .05
mo w EL2 ;ca ga 0x05 en EL2, y sal amos al caso 5
; e u n()
e u n
FIN_no_DATO
; ol emos a es e caso has a que se eciba la ama comple a
; e u n()
e u n
;-----------------------------------------------------------------------------
seg2_caso5 ;es ado enca gado de comp oba si se ha ecibido un by e
;i (RCIF==0)