scieee Open visual document viewer

Red Inalámbrica de sensores para el control de climatización basado en datos

Haes-Ellis, Richard Mark

Abstract

En esta tesis se presenta un proyecto en el que se despliega una red de sensores para monitorizar ciertas magnitudes de un sistema de climatización en el edificio de los laboratorios de la escuela técnica superior de ingeniería de la Universidad de Sevilla. Para ello se desarrolla unas placas electrónicas, unas conectadas a la corriente y otras que operan a batería. Se presenta entonces una solución para sensorizar un sistema que en un principio no tiene ningun sistema de monitorización. Estas medidas se usan para montar un modelo basado en datos recogidos de dicho sistema de sensorización en la que ya se puede aplicar una ley de control.

Full text

P oyec o Fin de Ca e a Ingenie ía de Telecomunicación Fo ma o de Publicación de la Escuela Técnica Supe io de Ingenie ía Au o : F. Ja ie Payán Some Tu o : Juan José Mu illo Fuen es Dep. Teo ía de la Señal y Comunicaciones Escuela Técnica Supe io de Ingenie ía Uni e sidad de Se illa Se illa, 2013 P oyec o Fin de Más e Más e de Ingenie ía Elec ónica, Robó ica y Au o- má ica Red Inalámb ica de senso es pa a el con ol de clima ización basado en da os Au o : Richa d Ma k Haes Ellis Tu o : Ignacio Al a ado Dp o. Sis emas y Au omá ica Escuela Técnica Supe io de Ingenie ía Uni e sidad de Se illa Se illa, 2014 P oyec o Fin de Más e Más e de Ingenie ía Elec ónica, Robó ica y Au omá ica Red Inalámb ica de senso es pa a el con ol de clima ización basado en da os Au o : Richa d Ma k Haes Ellis Tu o : Ignacio Al a ado P o eso Ti ula Dp o. Sis emas y Au omá ica Escuela Técnica Supe io de Ingenie ía Uni e sidad de Se illa Se illa, 2014 P oyec o Fin de Más e : Red Inalámb ica de senso es pa a el con ol de clima ización basado en da os Au o : Richa d Ma k Haes Ellis Tu o : Ignacio Al a ado El ibunal nomb ado pa a juzga el abajo a iba indicado, compues o po los siguien es p o eso es: P esiden e: Vocal/es: Sec e a io: acue dan o o ga le la cali icación de: El Sec e a io del T ibunal Fecha: Resumen En es a esis se p esen a un p oyec o en el que se despliega una ed de senso es pa a moni o iza cie as magni udes de un sis ema de clima ización en el edi icio de los labo a o ios de la escuela écnica supe io de ingenie ía de la Uni e sidad de Se illa. Pa a ello se desa olla unas placas elec ónicas, unas conec adas a la co ien e y o as que ope an a ba e ía. Se p esen a en onces una solución pa a senso iza un sis ema que en un p incipio no iene ningun sis ema de moni o ización. Es as medidas se usan pa a mon a un modelo basado en da os ecogidos de dicho sis ema de senso ización en la que ya se puede aplica una ley de con ol. I Abs ac Th is documen p esen s a p ojec in which a wi eless senso ne wo k is de eloped and used o moni o ce ain magni udes o a HVAC sys em in he building o he labo a o ies o he enginee ing school in he Uni e si y o Se ille. In o de o deploy such sys em a pai o elec onics boa ds we e de eloped; one ha is con inuously connec ed o he g id o powe and ano he ha ope a es wi h ba e y powe . We he e o e p esen a solu ion o ga he da a on a sys em ha in p inciple does no ha e any ype o eedbacl con ol because he e a e no measu emn es. Wi h his da a a model can be ide i ied based on da a and wi h his model a con ol law can be designd o con ol he sys em. III 4Capí ulo 1. In oducción 1.3 Plan eamien o de la solución Tomando como e e encia la igu a 1.1, enemos una se ie de medidas que oma ce ca del ancoil secunda io de la sala jun o con medidas ambien ales de empe a u a humedad y p esión en o os lados lejos del ancoil, po an o, se ha decidido ealiza la ed de senso es en dos pa es. La p ime a es a compues a po una cen ali a de senso es que se enca ga á de medi la empe a u a de en ada y salida del agua del ancoil, la empe a u a y humedad ambien al a la en ada y salida del ancoil, el ni el de CO2 y pa iculas o gánicas en el ai le den o de la sala y po úl imo la co ien e consumida po el ancoil. Además se enca ga a de egis a la echa y ho a de las medidas median e un RTC. Es as medidas jun o con su Times amp se almacena án en una a je a mic oSD. Po úl imo, se i á como ou e en el que se conec a án nodos con di e en es capacidades de senso ización. La segunda pa e compues a po nodos se enca ga a de medi la empe a u a, humedad y p esión en las di e en es pa es de la sala, y además pod á medi el po cen aje de ape u a de una pue a o en ana. Es o lo ealiza median e un encode de cuad a u a y un mecanismo que se de alla á mas adelan e. Un esquema del plan eamien o se puede isualiza en la igu a 1.5. Cen ali a Ins alado en cada sala, ecep o de nodos. Conec ado a senso es po cable Nodos Funcionan a ba e ía, conec ados a senso es de p esión, humedad y empe a u a. Algunos poseen senso es magne icos y pue o pa a encode . Senso es pa a el Fancoil Figu a 1.5 Esquema del plan eamien o. 2 Ha dwa e del sis ema En es e capí ulo se habla á sob e el ha wa e del sis ema de senso ización. Tal y como se ha is o en el capí ulo an e io , el sis ema se compone de dos pa es, la cen ali a de da os y los nodos. La cen ali a de da os es a á conec ada con inuamen e a la ed de alimen ación mien as que los nodos es a án conec ados a ba e ías. Es o pe mi e usa en la cen ali a los senso es de mayo consumo y que poseen un p ecalen amien o (Como el senso de CO2) y en los nodos aquellos que no equie en ningún p ecalen amien o y que ienen modos de bajo consumo. 2.1 Mic ocon olado Figu a 2.1 Pla a o ma ESP. Pa a el mic ocon olado se ha es udiado la posibilidad de usa un A duino po su g an sopo e comuni a io y po su bajo cos e. Pe o no se ha op ado po es a soución ya que al op a po una placa con cualquie ipo de comunicación inalámb ica se dispa aba en p ecio y además no apo aban su icien es en adas y salidas pa a los senso es elegidos. Se ha op ado en onces po usa mic ocon olado es de la ma ca Esp essi ya que apo an a ias en ajas en e a los A duinos, en e ellas, las di e encias mas impo an es son: •Meno cos e •Mayo capacidad compu acional (40Mhz mínimo, has a 240Mhz!!) •Compa ible con lib e ías A duino •Modos de bajo consumo. •WIFI/Blue oo h in eg ado. •Doble núcleo. •Mayo memo ia lash. •Sopo e RTOS. 5 6Capí ulo 2. Ha dwa e del sis ema 2.1.1 Cen ali a gene al Pa a la cen ali a gene al de da os se ha op ado po usa una placa de desa ollo Spa k un ESP-32 hing. En es e caso no se necesi a ninguna uncionalidad de bajo consumo ya que en es e caso la placa i á conec ado a la ed de alimen ación y es aŕa con inuamen e encendido. Figu a 2.2 Placa de desa ollo Spa k un ESP32 Thing. Las ca ac e ís icas más impo an es de es a placa son las siguen es: •P ocesado doble nucleo de Tensilica LX6 •Velocidad CPU has a 240MHz •520kB SRAM •Wi i in eg ado 802.11 BGN •28 GPIO •4MB Memo ia lash Es a placa i á conec ada a una PCB diseñada pa a albe ga los di e en es conec o es y componen es ales como el RTC, a je a mic oSD, senso CO2 y pue os de conexion. 2.1.2 Nodos Figu a 2.3 Modulo ESP32-C3-W oom-N2. Pa a los nodos se ha op ado po usa la se ie ESP32-C3 de Esp essi , ya que cuen a con simila es ca ac e- ís icas que el mic o an e io pe o dispone de a ian es en un o ma o compac o con pines su icien es pa a nues a aplicación. Además e emos unos modulos en o ma o SMD (Su ace Moun ed De ice) que incluyen ya la ci cui e ía de la an enna de adio bien dimensionado jun o con una pan alla RF que aisla la ci cui e ía an es in e e encias ex e nas. En nues a aplicación usa emos el ESP32-C3-WROMM-N2-H4 el cual se puede e en la igu a 2.3. El ESP32-C3-WROOM-N2-H4 es un SoC (Sys em on Chip) de un único nucleo con WiFi y Blue oo h 5 (LE). Es á basado en la a chi ec u a open-sou ce de RISC-V. 2.2 Senso es 7 En la siguien e lis a se mues a las p incipales ca ac e ís icas del SoC. •CPU 32 bi s de un núcleo has a 160Mhz. •P o ocolos IEEE 802.11b/g/n •Bajo consumo (5uA has a 130uA) •4MB memo ia lash SPI. •15 GPIO Es e SoC se usa a conjun amen e en una placa PCB con ci cui e ía adicional pa a la alimen ación a ba e ía, senso de empe a u a, p esión y humedad, y los canales de en ada pa a los senso es de pue as y en anas. 2.2 Senso es 2.2.1 Tempe a u a y humedad: DHT-22 Figu a 2.4 Senso DHT22. Es e senso dispone de un p ocesado in e no que ealiza el p oceso de medición, la medida se puede lee median e una señal digi al, po lo que esul a muy sencillo ob ene la in o mación desde un mic ocon olado . El p o ocolo que se u iliza pa a lee dicho senso se llama 1-Wi e. 2.2.2 Tempe a u a: DS18B20 Figu a 2.5 Senso DS18B20. El DS18B20 es un e móme o con una esolución de 9 a 12 bi s que incluye una unción de ala ma de empe a u a in e io y supe io p og amable median e su memo ia no olá il. El DS18B20 se comunica median e el bus 1-wi e (1 cable) que po de inición solo equie e de 1 cable y ie a pa a unciona . El D18B20 puede de i a su alimen ación median e el cable de da os (Alimen ación pa así ica) eliminando la necesidad de un cable adicional de alimen ación. El D18B20 dispone de un código de 64 bi s único pa a cada senso que pe mi e conec a múl iples senso es al mismo bus 1-Wi e. Las aplicaciónes que pueden beni cia se de es as uncionalidades son p inciplalemn e los sis emas HVAC pa a el con ol de clima ización. 8Capí ulo 2. Ha dwa e del sis ema 2.2.3 CO2 y Pa iculas O gánicas(VOC): CCS811 Figu a 2.6 Senso CCS811. El CCS811 es un senso de gas de bajo consumo que in eg a un senso de óxido de me al (MOX) pa a de ec a una a iedad de pa ículas o gánicas (VOCs). Es o es ú il pa a la moni o ización de la claidad del ai e en in e io es. El senso es a basado en la ecnologia de AMS que habili a al a iabilidad pa a senso es de gas, al os ciclos de ida y educcion de consumo de ene gía. El CCS811 lle a in eg ado un mic ocon olado que maneja odas las uncionalidades del senso y p ocesa las medidas. Despues de p ocesa es as medidas, las p opo ciona a a és del pue o I2C pa a su lec u a. Es e mé odo simpli ica la in eg ación de dicho senso en las aplicaciones y disminiye el iempo que se a da pa a saca el p oduc o a me cado. El senso sopo a di e sos algo i mos que p ocesan las medidas aw pa a da como esul ados las medidas de TVOC, es a medida es un equi alen e de CO2 (eCO2), y los humanos son la p incipal cuasa de los TVOSs (del inglés, To al Vola ile O ganic Compounds) lo cual nos da una medida de la ocupación de las salas. 2.2.4 P esión, Tempe a u a y Humedad: BME280 Figu a 2.7 Senso BME280. El BME280 es un senso combinado que incluye humedad, p esión y empe a u a. Es a basado en p incipios de medida p obados en la indus ia luego p opo ciona una al a iabilidad y al o ciclo de ida. El senso es a encapsulado en un paque e LGA el cual es muy compac o y se puede in eg a acilmen e en cualquie si io. Su pequeño o ma o pe mi e un consumo muy pequeño. Es o lo hace adecuado pa a aplicaciones que uncionan bajo ba e ía. El senso de humedad p opo ciona una espues a ápida an e cambios ex e nos y posee g an exac i ud sob e un ango amplio de empe a u as. El senso de p esión mide la p esión ba ome ica absolu a con una al a exac i ud y esolución con muy poca a ianza de uido. El senso de empe a u a ha sido op imizado pa a minimiza el e ec o de uido con una esulución al a. Dicha medida se usa in e namen e pa a compensa el sesgo en los dos senso es an e io es y además puede usa se como es imación de la empe a u a ambien al. 2.2 Senso es 9 El disposi i o p opociona dichas medidas mendian e las in e aces SPI e I2C. Se puede alimen a desde 1.71 a 3.6V. Cuando no se es a midiendo el senso consume al ededo de 0.1uA lo cual es ideal pa a aplicaciones a ba e ía. 2.2.5 In e up o magné ico Figu a 2.8 In e up o magné ico. El in e up o magne ico ac ua como un in e up o no mal solo que se acciona median e la p esencia de un imán. Es o lo usa emos en los nodos ope ados a ba e ia pa a de ec a la ape u a y cie e de las pue as. 2.2.6 Senso de co ien e Figu a 2.9 Senso de co ien e. El senso de co ien e es el ZMCT103 y pe mi e medi co ien es al e nas has a 5 ampe ios. La salidna nos la da en ension y es p opo cional a la co ien e de ec ada en el o oide. Con el po enciome o podemos ajus a la sensibiidad del senso . Es e senso se usa a pa a medi la po encia consumida po el ancoil y po an o hab a que hace un p ocesamien o pa a calcula dicha po encia a pa i de la señal sinusolidal. 2.2.7 RTC: Reloj iempo eal Figu a 2.10 RTC. Un RTC es un disposi i o elec ónico que pe mi e ob ene medidas del iempo. Es an o mados po un c is al esonado in eg ado en la elec ónca que con abiliza de o ma co ec a el paso del iempo. Además los 10 Capí ulo 2. Ha dwa e del sis ema RTC ienen en cuen a las peculia idades del sis ema de iempo que enemos, como es el sis ema sexsagecimal, los meses, años bisies os, e c.. Noso os usa emos el in eg ado DS3231 que inco po a medición y compensación de la empe a u a. Es o nos ga an iza una p ecision de 2ppm lo que equi ale a un des ase de 172ms/día. Es e in eg ado pe mi e además la inco po ación de una ba e ía pa a man ene la con bilización del iempo incluso du an e un apagón. Las medidas se p opo cionan a a és del pue o I2C. Cabe des aca que no usa emos un módulo hecho sino implemen a emos la ci cui e ia en la placa PCB di ec amen e pa a aho a espacio en la placa. No a: Es impo an e des aca que el mic ocon olado ya posee un eloj RTC que iene al ededo de la misma p ecisión que el DS3231, pe o con la di e encia de que no pe mi e conec a una ba e ía ex e na po si se co a la co ien e. Es o es algo que ocu e amenudo en la zona donde se ins ala á el sis ema po lo que a p ime a is a esul a imp escindible usa un RTC ex e no. 2.3 Memo ia Figu a 2.11 Modulo a je a mic oSD. Pa a pode almacena los da os de los senso es se ha op ado po usa una a je a mic oSD en la cen ali a de da os. La cen ali a ecoge á in o mación de los nodos e i á leyendo los senso es en los pue os de conexion y egis ando los da os en un iche o de ex o. En la igu a se mues a un módulo de a je a mic oSD pe o en nues o caso implemen a emos di ec aem ne en la placa PCB la ci cui e ia pa a acep a la a je a. 3 Diseño de PCB Figu a 3.1 Edi o PCB. Pa a inco po a odos los elemen os elec ónicos diseña emos dos placas PCB. Una de ellas se á pa a la cen ali a de da os y o a pa a los nodos senso es. Pa a el diseño de es as placas se ha hecho uso del p og ama EasyEDA. Es e p og ama nos pe mi e diseña un esquemá ico e inco po a los componen es seleccionados desde la ienda LCSC Elec onics. La en aja de es a he amien as es que es an ligadas los símbolos, oo p in s y hoja de da os a cada elemen o del esquemá ico, acili ando el diseño. 3.1 Diseño Cen ali a Figu a 3.2 Esquema de componen es de la PCB de la cen ali a. El diseño de la PCB se e en la igu a 3.2 y mues a los di e en es pue os de conexión que posee la placa jun o los los componen es in e nos. Como se puede e , se ha in oducido algunos pue os adicionales como 11 12 Capí ulo 3. Diseño de PCB el de I2C auxilia , conec o pa a una cáma a é mica y pue os pa a senso es BME280, es as conexiones son pa a u u as ampliaciones. •Placa de desa ollo ESP32-Thing de Spa k un •Senso CCS811 de Spa k un •Reloj imepo eal (RTC) •2 Leds indicado es •Ranu a pa a a je a mic oSD •Resi encias pullup pa a I2C y One-Wi e •Conec o es de 3 y 4 pines pa a los senso es. El esquema ico de la placa cen ali a se e en la igu a 3.3. A A B B C C D D 1 1 2 2 3 3 4 4 5 5 TITLE: Shee _1 REV: 1.0 Da e: 2021-04-12 Shee : 1/1 D awn By: icha d9661h Company: You Company Spa k unESP32Thing U_1 GND 40 21 39 TX 38 RX 37 22 36 19 35 18 33 532 15 31 230 029 428 17 27 16 26 3V3 25 GND 24 VBAT 23 VUSB 22 GND 21 GND 20 VUSB 19 VBAT 18 GND 17 3V3 16 RST 15 13 14 12 13 14 12 27 11 26 10 25 935 834 733 632 539 438 337 236 1 23 34 GND GND GND +3V3 SCK MISO MOSI CS +3V3 +3V3 +3V3 GND LED_1LED_2 TF-15×15 SD DAT2 1 CD/DAT3 2 CMD 3 VDD 4 CLK 5 VSS 6 DAT0 7 DAT1 8 CD 9 G3 10 G4 11 G1 12 G2 13 +3V3 SCL SDA SDA SCL AC_cu en _senso +3V3 +3V3 +3V3 +3V3 GND GND GND GND SDA SCL SDA SCL SDA SCL SDA SCL SDA SCL DS18B20_DATA DS18B20_DATA DS18B20_DATA DS18B20_DATA DHT22_DATA_1 DHT22_DATA_2 CCS811 U5 RST 7WAKE 6SCL 5SDA 4GND 33.3 2VCC 1 INT 8 CCS811 GND +3V3 SDA SCL DS18B20_DATA DS18B20_DATA DHT22_DATA_1 DHT22_DATA_2 +3V3 GND AC_cu en _senso +3V3 GND CS MOSI SCK MISO GND +3V3 AC_ON/OFF_1 AC_ON/OFF_2 AC_ON/OFF_1 AC_ON/OFF_2 HDR-M-2.54_1x4 J1 1 2 3 4 LED_1 LED_2 DS3231MZ+ U1 32kHz 1 VCC 2 INT#/SQW 3 RST# 4 GND 5 VBAT 6 SDA 7SCL 8 SCL SDA GND +3V3 CR2032-BS-6-1 B1 12 GND 10kΩ R1 10kΩ R2 10kΩ R5 10kΩ R6 10kΩ R7 10kΩ R8 10kΩ R9 4.7k R3 4.7k R10 220Ω R11 220Ω R12 4.7k R13 LED1 LED2 XH-4AW_C2908613 AC_CS 1 12 23 34 4 XH-3AW_C2908612 T1 1 1 2 2 3 3 XH-3AW_C2908612 T2 1 1 2 2 3 3 XH-3AW_C2908612 T3 1 1 2 2 3 3 XH-3AW_C2908612 T4 1 1 2 2 3 3 XH-3AW_C2908612 DHT22_1 1 1 2 2 3 3 XH-3AW_C2908612 DHT22_2 1 1 2 2 3 3 XH-3AW_C2908612 AC_ON/OFF_1 1 1 2 2 3 3 XH-3AW_C2908612 AC_ON/OFF_2 1 1 2 2 3 3 XH-4AW_C2908613 BME280_1 11 22 33 44 XH-4AW_C2908613 BME280_2 11 22 33 44 XH-4AW_C2908613 I2C_AUX 11 22 33 44 XH-4AW_C2908613 THERM_CAM 11 22 33 44 Figu a 3.3 Esquema ico cen ali a. En la igu a 3.4 podemos e el conexionado del senso de CO2. En es e caso el senso se comunica con el mic o ESP32-Thing median e I2C. Es e bus I2C equie e de dos esi encias pullup ya que el módulo no las incluye. Lo mismo ocu e con el in eg ado del eloj a imepo eal. El conexionado del RTC lo podemos e de allado en la igu a 3.5. Figu a 3.4 Esquema ico senso CO2. Pa a medi el iempo en el que se ealizan se usa un DS3231, el ci cui o pa a es e in eg ado se mues a en la igu a 3.5. 3.1 Diseño Cen ali a 13 Figu a 3.5 Esquema ico RTC. Como se comen ó an e io men e, se ha usado una a je a mic oSD pa a almacena los da os ecogidos de los senso es. Las a je as mic oSD sopo an dos p o ocolos de comuinicación: SD y modo SPI bus. El hos , en es e caso el ESP32 puede elegi cualesquei a de es o dos modos. En nues o caso se ha op ado po usa SPI ya que el mic o ESP32 dispone de un pue o SPI na i o. El esquema de conexionado se e de allado en la igu a 3.6. Una conexión ípica equie e de esis encias pullup en las líneas de ansmisión y de seleción (Chip selec CS). Cabe no a que no es amos haciendo uso del pin de de ección de a je a CD (Ca d De ec ). Figu a 3.6 Esquema ico a je a mic oSD. Po úl imo queda conec a el es o de los componen es al mic o, en la siguien e igu a se e un de alle de dichas conexiones. Figu a 3.7 Esquema ico ESP32-Thing. 20 Capí ulo 4. P og amación ds18x20 ask Task ini Read senso Ge RTC ime xQueueSend(sdmmc) app_main() Ini RTC QueueC ea e NVS Ini , WIFI Ini Run asks ESPNOW Task Ini , xQueueC ea e xQueueRecie e i b oadcas o unicas Ge RTC ime xQueueSend(sdmmc) dh ask Task ini Read senso Ge RTC ime xQueueSend(sdmmc) ccs811 ask Task ini Read senso Ge RTC ime xQueueSend(sdmmc) sdmmc ask Ini , moun ilesys em xQueueRead(sdmmc) LOG o mic oSD LOG o MQTT MQTT Handle Task Ini MQTT E en LOG WIFI ask Task Ini ESPNOW Callbacks MQTT Callbacks Figu a 4.6 Esquema de so wa e. Tal y como podemos e en la igu a 4.6 enemos un hilo p incipal llamado app main. En es e hilo inicializamos algunas unciones que son eque idas de o ma global como el eloj RTC, el lash NVS y una cola de da os. Pos e io men e se an lanzando los demás hilos y acaba e minando el hilo p incipal. De es e modo solo queda ope a i o los hilos hijos del hilo p incipal. Los hilos asociados a los senso es siguen una es ucu a p ác icamen e similia , p ime amen e se inicializa el pe i é ico y p o ocolo pa a comunica con el senso , se ealizan comp obaciones pa a e i ica que se haya inicializado bien y luego en an en bucles in ini os en los que se lee los da os del senso o senso es, se lee luego el iempo ac ual con el RTC y po úl imo se esc ibe dicha in o mación a una cola de da os di igida al hilo de sdmmc. En el hilo sdmmc se cen a en ecibi da os de una cola y esc ibi los a la a je a mic oSD. P ime amen e se inicializa el pue o SPI y se e i ica que haya una a je a mic oSD conec ada. Después se mon a el sis ema de a chi os y inalmen e en a en un bucle in ini o en el que se espe a a que le lleguen da os po la cola de da os. Una ez leido un da o, ab e un iche o en el sis ema de a chi os y esci be una nue a en ada en o ma o JSON pa a su pos e io p ocesamien o en MATLAB. Además de gua da los da os en la a je a mic oSD, se manda ambién po el p o ocolo MQTT pa a su isualizacion a iempo eal en un PC emo o. 4.4 Esquema de so wa e 21 Los da os que llegan al hilo de sdmmc se almacenan en un iche o de la a je a mic oSD codi icados como un elemen o JSON. És e elemen o JSON iene la siguen e o ma: Código 4.1 Fo ma o JSON. 1{"id ":8," Topic ":"/ DHT−1/Humidi y"," alue":57.900002," s":"2022−10−16T16:14:17+02:00"} 2{"id ":9," Topic ":"/ DHT−2/Tempe a u e"," alue":25.700001," s":"2022−10−16T16:14:17+02:00"} 3{"id ":10," Topic ":"/ DHT−2/Humidi y"," alue":52.700001," s":"2022−10−16T16:14:17+02:00"} 4{"id ":3," Topic ":"/ DS18B20−0/Tempe a u e"," alue":25.500000," s":"2022−10−16T16:14:17+02:00"} 5{"id ":4," Topic ":"/ DS18B20−1/Tempe a u e"," alue":25.500000," s":"2022−10−16T16:14:17+02:00"} 6{"id ":5," Topic ":"/ DS18B20−2/Tempe a u e"," alue":25.500000," s":"2022−10−16T16:14:17+02:00"} 7{"id ":1," Topic ":"/ CCS811/CO2"," alue":400.000000," s":"2022−10−16T16:14:22+02:00"} 8. . 9. Es e o ma o JSON iene 4 campos, el p ime o es el ID, es o nos pe mi e clasi ica las medidas según su o igen. El siguen e es el ópico, es o no es mas que una desc ipción de la medida y coincide con el nomb e del ópico al cual se publica dicha medida en MQTT, luego enemos el alo de la mues a y inalmen e el iempo en el que se ealizó dicha medida ecogida del RTC. 5 MQTT Figu a 5.1 MQTT. MQTT iene de las siglas del inglés Message Queue Teleme y T anspo . Es un p o ocolo de comunicación machine- o-machine que hace uso de colas de mensajes. Es un p o ocolo que se basa en el s ack TCP/IP. Las conexiones se man ienen abie as en e máquinas Es á basado en la pila TCP/IP como base pa a la comunicación. En el caso de MQTT cada conexión se man iene abie a y se " eu iliza" en cada comunicación. Es una di e encia, po ejemplo, a una pe ición HTTP 1.0 donde cada ansmisión se ealiza a a és de conexión. MQTT ue c eado po el D . Andy S an o d-Cla k de IBM y A len Nippe de A com (aho a Eu o ech) en 1999 como un mecanismo pa a conec a disposi i os empleados en la indus ia pe ole a. Aunque inicialmen e e a un o ma o p opie a io, en 2010 ue libe ado y pasó a se un es ánda en 2014 según la OASIS (O ganiza ion o he Ad ancemen o S uc u ed In o ma ion S anda ds). 5.0.1 Funcionamien o MQTT es un se icio de mensajes de ipo push con es uc u a publicado y susc ip o (pub-sub). En es e ipo de comunicaciones el clien e se conec a con un se ido cen alizado que se denomina b oke . Pa a o ganiza los mensajes, cada cline e dispone sus mensajes en opicos que se o ganizan je á quicamen e. El clien e puede publica mensajes en cualquie opico y o os clien es pueden susc ibi se a cualquie opico. El b oke se enca ga a de que los mensajes de los publicado es lleguen a sus espec i os susc ip o es. Figu a 5.2 Esquema de uncionamien o de MQTT. Son los clien es que inician una nue a conexion con el b oke a a és de una conexión TCP/IP, el b oke man iene una lis a de clien es con comunicaciones inicializadas y se man iene dicha conexión abie a has a que el cline e decida inaliza la. Po de ec o MQTT u iliza el pue o 8883 cuando se usa una conexión TLS. 23 24 Capí ulo 5. MQTT Pa a una conexión TLS el clien e manda un mensaje ipo CONNEXT que iene in o macion del nomb e de usua io, con aseñá de la cominicación y el id del clien e en e o os. El b oke en onces con es a con o o mensaje de ipo CONNACK pa a hace le llega al clien e que su conexioón ha sido accep ada (O echazada en su caso). Es habi ual que el b oke de MQTT es é alojado emo amen e en la nube p opo cionado po algún se icio web. En nues o caso ins ala emos nues o p opio b oke en un o denado . Pa a ello hemos usado mosqui o. Mosqui o es un b oke de MQTT de licencia lib e desa ollado po la undacion Eclipse. Nos pe mi e ins ala un b oke en nues o sis ema pa a p oba las comunicaciones an es de desplega lo en el mundo eal. Además es muy ligue o (de ahi el nomb e mosqui o), lo cual lo hace ideal pa a ins ala lo en sis emas de bajo consumo como es una apsbe y pi. 5.1 MQTT Explo e Pa a pode isualiza los da os en un o denado esul a con enien e dispone de un ipo de clien e que se susc iba a odo y que nos mues e po pan alla odos los opicos disponibles, de es a o ma podemos e i ica el co ec o uncionamien o de la ed MQTT que enemos mon ada. En la ac ualidad exis en muchos clien es gené icos que pe mi en hace eso pe o uno de los mejo es p og amas se llama MQTT Explo e . Es un p og ama que emula un clien e gene ico y que ue desa ollado bajo licencias Open-Sou ce po Thoamas No dquis . MQTT Explo e es a ca ac e izado po su in e az de usua io amigable que esul a sencillo e in ui i o de usa . Los mensajes y opicos se mues a de o ma je á quica en a bol y es posible deplega y plo ea los alo es publicados po cada opic en g á icas. Además se puede egis a dicha in o mación en un iche o pa a su pos e io analisis. Figu a 5.3 MQTT Explo e . Tambien cabe des aca que es e p og ama es a al amen e op imizado pa a la ges ion de cien os de miles de mensajes po minu o. Lo cual lo hace su icien e pa a olca un g an nume o de da os de cien os de senso es a la ez. 5.1 MQTT Explo e 25 En las igu as 5.4 y 5.5 podemos e esumido un esquema inal de como es a mon ado el sis ema y una o o del mismo. Se puede e que enemos una ed wi i en la que se puede comunica la cen ali a con el o denado a a és de mensajes MQTT y de los nodos a la cen ali a los mensajes usan el p o ocolo ESP-NOW. Asimismo a la cen ali a es a conec ada di e sos senso es conec ados al ancoil pa a moni o iza y ca ac e iza el disposi i o. B oke (PC) Cen ali a Mensajes MQTT Rou e Mensajes ESP-NOW Nodos Remo os Red WiFi Red ESP-NOW MQTT- Explo e Fancoil Senso es De ice 1 De ice 2 De ice 3 Figu a 5.4 Diag ama del mon aje. Cen ali a De ice 1 De ice 2 De ice 3 Rou e Cable Alime nacion Sondas de Tempe a u a Senso es Ambien ales Figu a 5.5 o o del mon aje. 6 Resul ados Pa a alo a el uncionamien o del sis ema se ha pues o a medi en el despacho F2 de los labo a io ios L1. Se ha dejado los senso es midiendo al ai e lib e du an e 1 semana. Pa a ecoge los da os, se ha ex aido la in o mación de la a je a mic oSD de la placa cen ali a. De ahí se ha usado un código de ma lab pa a p ocesa el a chi o y con e i lo en o ma o CSV, de ahi se o dena los da os según el ipo de senso y a su ez se o dena según el iempo de medida. Po úl imo se g a ica los da os, los cuales se pueden isualiza desde la igu a 6.1 has a la igu a 6.16. Ma lab Code Código 6.1 Da a p ocesso . 1clea all; 2close all; 3 4 id = open('LOG.TXT'); 5 dCSV = open('LOGcs .cs ','w'); 6 7 p in ( dCSV,"id, opic, alue, ime n"); 8 9 line = ge l( id); 10 while ue 11 12 line = ge l( id); 13 i ~ischa ( line); b eak;end %end o ile 14 % disp( line) 15 s = cha ( line); 16 i isemp y(s ) 17 e u n 18 end 19 da a = jsondecode(s ); 20 21 p in ( dCSV,"%d,""%s"",%8.2 ,""%s"" n",da a.id,da a.Topic,da a. alue, da a. s); 22 23 24 end 25 26 close( id); 27 close( dCSV); 27 28 Capí ulo 6. Resul ados Código 6.2 Da a plo e . 1clea all; 2close all; 3 4LOGcs = impo ile("LOGcs .cs ",[2 in ]); 5 6LOGcs = so ows(LOGcs ,'id','ascend'); 7 8[ci,ia1,ic1] = unique(LOGcs .id); 9LOGcs . ime = da e ime(s ing(LOGcs . ime),'TimeZone','UTC','Fo ma ','yyyy-MM- dd''T''HH:mm:ssXXX') 10 11 o i=1:ic1(end)-1 12 igu e; 13 14 plo (LOGcs . ime(ia1(i):ia1(i+1)-1),LOGcs . alue(ia1(i):ia1(i+1)-1)); 15 i le(LOGcs . opic(ia1(i))) 16 end 17 18 LOGcs = so ows(LOGcs (ia1(end):end,:),' opic') 19 20 [ci2,ia2,ic2] = unique(LOGcs . opic); 21 22 23 o i=1:ic2(end)-1 24 igu e; 25 26 plo (LOGcs . ime(ia2(i):ia2(i+1)-1),LOGcs . alue(ia2(i):ia2(i+1)-1)); 27 i le(LOGcs . opic(ia2(i))); 28 end 29 i = ic2(end); 30 igu e; 31 plo (LOGcs . ime(ia2(i):end),LOGcs . alue(ia2(i):end)); 32 i le(LOGcs . opic(ia2(i))); El código que p ocesa los da os y o dena el a chi o CSV esul an e se encuen a en los códigos 6.1 y 6.2 6.1 Da os ob enidos 29 6.1 Da os ob enidos 6.1.1 Da os de la cen ali a Oc 16 Oc 17 Oc 18 Oc 19 Oc 20 Oc 21 Oc 22 Oc 23 Oc 24 2022 0 500 1000 1500 2000 2500 /CCS811/CO2 Oc 16 Oc 17 Oc 18 Oc 19 Oc 20 Oc 21 Oc 22 Oc 23 Oc 24 2022 0 200 400 600 800 1000 1200 1400 1600 1800 /CCS811/VOC Figu a 6.2 Senso CO2 CCS811 - ppm. Oc 16 Oc 17 Oc 18 Oc 19 Oc 20 Oc 21 Oc 22 Oc 23 Oc 24 2022 52 54 56 58 60 62 64 66 68 /DHT-1/Humidi y Oc 16 Oc 17 Oc 18 Oc 19 Oc 20 Oc 21 Oc 22 Oc 23 Oc 24 2022 48 50 52 54 56 58 60 62 64 /DHT-2/Humidi y Figu a 6.4 Senso DHT22 1 y 2 - Humedad ela i a. Como se puede e , las medidas compa adas en e si mismo dan luga a los mismos esul ados, es o nos indica que es án uncionando co ec amen e. Fal a ía comp oba con senso es calib ado pa a e lo p eciso y iable que son los esul ados y si equie en de calib ación. Cabe des aca que en los senso es DS18B20 se en muy escalonados las medidas po la esolución del senso , ac ualmen e es a pues o a una esolución de 9 bi s pe o se puede cambia has a 12 bi s. Además esul a que en esa semana, den o de los despachos la a iación de empe a u a es an pequeña que no hace a ia mucho la medida. 36 Índice de Figu as 5.4 Diag ama del mon aje 25 5.5 o o del mon aje 25 6.1 Senso CO2 CCS811 - ppm 29 6.2 Senso CO2 CCS811 - ppm 29 6.3 Senso DHT22 1 - Humedad ela i a 29 6.4 Senso DHT22 1 y 2 - Humedad ela i a 29 6.5 Senso DHT22 1 - Tempe a u a ambien al 30 6.6 Senso DHT22 2 - Tempe a u a ambien al 30 6.7 Senso DS18B20 1 - Tempe a u a supe icial 30 6.8 Senso DS18B20 1 y 2 - Tempe a u a supe icial 30 6.9 Senso DS18B20 3 - Tempe a u a supe icial 30 6.10 Senso DS18B20 3 y 4 - Tempe a u a supe icial 30 6.11 Senso Remo o 1 - Humedad ela i a 31 6.12 Senso Remo o 1 y 2 - Humedad ela i a 31 6.13 Senso Remo o 1 - P esión 31 6.14 Senso Remo o 1 y 2 - P esión 31 6.15 Senso Remo o 1 - Tempe a u a 31 6.16 Senso Remo o 1 y 2 - Tempe a u a 31 Índice de Códigos 4.1 Fo ma o JSON 21 6.1 Da a p ocesso 27 6.2 Da a plo e 28 37 Bibliog a ía 39 Índice al abé ico 41 Glosa io 43