scieee Open visual document viewer

Control y monitorización de sistemas de domótica mediante un interfaz web

Babani Babani, Amit L.

Full text

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 14 = 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)