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