scieee Science in your language
[es] (orig)

Sistema de desarrollo e integración continua Over-The-Air para microcontroladores IoT

Author: García Ortega, Pablo
Year: 2025
Source: https://idus.us.es/bitstreams/dd166cce-341e-4139-99b5-f31bc8bbf0a9/download
Equa ion Chap e 1 Sec ion 1
T abajo Fin de G ado
G ado en Ingenie ía de las Tecnologías de
Telecomunicación
Sis ema de desa ollo e in eg ación con inua
O e -The-Ai pa a mic ocon olado es IoT
Au o : Pablo Ga cía O ega
Tu o : Samuel Yanes Luis
Dp o. Ingenie ía Elec ónica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2025
iii
T abajo Fin de G ado
en Ingenie ía de las Tecnologías de Telecomunicación
Sis ema de desa ollo e in eg ación con inua O e -
The-Ai pa a mic ocon olado es IoT
Au o :
Pablo Ga cía O ega
Tu o :
Samuel Yanes Luis
P o eso Sus i u o In e ino
Dp o. Ingenie ía Elec ónica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2025
T abajo Fin de G ado: Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
Au o :
Pablo Ga cía O ega
Tu o :
Samuel Yanes Luis
El ibunal nomb ado pa a juzga el P oyec o a iba indicado, compues o po los siguien es miemb os:
P esiden e:
Vocales:
Sec e a io:
Acue dan o o ga le la cali icación de:
Se illa, 2025
El Sec e a io del T ibunal

ii
A mi amilia
A mis maes os
ix
Ag adecimien os
A mi amilia, po es a a mi lado en odo momen o.
A Ma a po anima me a segui .
A Samuel po pode colabo a con él en es e p oyec o.
Pablo Ga cía O ega
Se illa, 2025
ÍNDICE DE TABLAS
Tabla 1. Capas del modelo OSI 3
Tabla 2. A qui ec u a del p oyec o 9
Tabla 3. P oceso ac ualización OTA 16
Tabla 4. Endpoin s de la API REST del mic ocon olado 18
Tabla 5. Endpoin s de la API REST del nodo cen al 19

x ii
ÍNDICE DE FIGURAS
Figu a 1. A qui ec u a de la ed 1
Figu a 2. ESP32 WROOM 32 2
Figu a 3. ATMEL 2560 2
Figu a 4. Senso es acionamien o 4
Figu a 5. Senso es IoT pa a domó ica 4
Figu a 6. Esquema de la in eg ación comple a 8
Figu a 7. Con igu ación del IDE pa a ESP32 13
Figu a 8. Pla o mIO Build y Upload 13
Figu a 9. Diag ama de bloques de los modulos del i mwa e 14
Figu a 10. Esquema ac ualización OTA 15
Figu a 11. Diag ama de lujo ac ualizacion OTA po web 17
Figu a 12. Con igu ación del dominio en Cloud la e 20
Figu a 13. Es uc u a de iche os del nodo cen al 21
Figu a 14. Descub imien o se icios mDNS 23
Figu a 15. Lee los pines del ESP32 24
Figu a 16. Pe icion POST a /w i e con cu l 25
Figu a 17. Encendido del led as pone el pin 14 a 1 25
Figu a 18. Ob ención de la e sion del i mwa e del ESP32 26
Figu a 19. Web con igu ación Ac ualización OTA 26
Figu a 20. Ac ualizando i mwa e po OTA usando la web 26
Figu a 21. C ea ama y hace commi pa a nue a e sión 27
Figu a 22. Nue o ag y exi o del pipeline de c eacion de la build 27
Figu a 23. A e ac o del nue o i mwa e 28
Figu a 24. Desca ga ul imo i mwa e desde Gi lab 28
Figu a 25. Lis ado de odos los ESP32 en la web 29
Figu a 26. Ve e sión del i mwa e en la web 30
Figu a 27. Ve es ado de pines en la in e az web 31
Figu a 28. Cambio de es ado de pin usando la web 32
Figu a 29. Selecciona el i mwa e pa a ac ualiza ia web 32
Figu a 30. Fi mwa e ac ualizado co ec amen e a a es de la web 33
Figu a 31. Comp oba los con aine s desplegados en el nodo cen al 34
Figu a 32. Desca ga el ul imo i mwa e al nodo cen al 34
Figu a 33. Ac ualización de odos los disposi i os IoT desde el nodo cen al 35
1 INTRODUCCIÓN
os sis emas basados en In e ne o Things (IoT) han expe imen ado un c ecimien o exponencial en
la úl ima década, impulsados po la necesidad de op imiza el con ol y la ges ión de en o nos
indus iales, come ciales y esidenciales [1]. En 2023 exis ían 15.900 millones de disposi i os IoT
uncionando globalmen e, y es á p oyec ado supe a los 32.100 millones en 2030 [2]. Es e aumen o
en el uso de disposi i os IoT se debe a que los mic ocon olado es son disposi i os pequeños, po en es,
de bajo consumo y con una conec i idad (WiFi, BLE, 5G) [3], haciendolos ú iles en mul iples ámbi os.
El obje i o p incipal de es e T abajo de Fin de G ado es desa olla e implemen a un sis ema de
ac ualización emo a y au omá ica sin necesidad de conexión ísica al disposi i o IoT ( e igu a 1). A
la ez que se p opo ciona una in e az pa a descub i los disposi i os conec ados a la ed local pa a
ac ualizaciones O e -The-Ai (OTA).
Figu a 1. A qui ec u a de la ed
1.1 Que son los sis emas embebidos: mic ocon olado es y sus usos
Los sis emas embebidos cons i uyen la base ecnológica de la au oma ización mode na, in eg ando
ha dwa e especializado y so wa e op imizado pa a ejecu a a eas especí icas en disposi i os que
aba can desde elec odomés icos in eligen es has a sis emas obó icos indus iales. En es e ecosis ema,
los mic ocon olado es eme gen como componen es c í icos, mien as que los ci cui os in eg ados WiFi
habili an capacidades de conec i idad a anzadas.
L
El so wa e es un g an a e, siemp e puede se mejo ado.
- Bill Ga es -
In oducción
2
1.1.1 Qué son los mic ocon olado es
Un mic ocon olado ( e igu as 2 y 3) es un ci cui o in eg ado que consolida en un único chip una
unidad cen al de p ocesamien o (CPU), memo ia de acceso alea o io (RAM), memo ia no olá il
(ROM/Flash), y pe i é icos de en ada/salida (E/S). A di e encia de los mic op ocesado es de p opósi o
gene al, es os disposi i os es án diseñados pa a aplicaciones embebidas donde la e iciencia ene gé ica,
el cos o educido y la in eg ación ísica son p io i a ios [4] [5].
1.1.1.1 A qui ec u a in e na y componen es cla e
La a qui ec u a ípica de un mic ocon olado IoT con ci cui o WiFi in eg ado iene una CPU po en e,
debido a la sob eca ga compu acional que gene a una pila TCP/IP comple a. Po ello es necesa io
u iliza mic ocon olado es como los basados en a qui ec u as ARM Co ex-M (ej. STM32F4) o RISC-
V (ej. ESP32-C3).
Los mic ocon olado es ambién disponen de memo ias in eg adas como la RAM pa a almacena da os
de acceso ápido (ej. 520 KB en ESP32-WROOM-32) o la memo ia lash que almacena i mwa e y
con igu aciones (ej. 4 MB en ESP32-WROOM-32) [6].
Se dispone ambién de pe i é icos especializados ales como:
• Con e so es analógico-digi ales (ADC). Pe mi en lee señales analógicas, como la salida de
un senso de empe a u a, y con e i las en alo es digi ales que puede p ocesa el
mic ocon olado .
• GPIOs, son los pines de en ada/salida del mic ocon olado que pueden usa se, po ejemplo,
pa a ac i a o desac i a elés que pe mi en encende o apaga luces de mane a emo a o
au oma izada.
• PWM. Gene an señales moduladas que pe mi en egula la elocidad de un mo o o la
in ensidad de un LED.
• SPI/I2C. Son in e aces de comunicación que pe mi en conec a el mic ocon olado con
disposi i os ex e nos como senso es de empe a u a, memo ias o pan allas.
Es os componen es pe mi en a los mic ocon olado es in e ac ua di ec amen e con el en o no ísico
median e senso es y ac uado es, p ocesa da os localmen e, y oma decisiones au ónomas sin
dependencia de sis emas ex e nos [5].
1.1.2 Ci cui o in eg ado WiFi en IoT
Los ci cui os in eg ados WiFi pa a IoT, como el ESP32 de Esp essi Sys ems, in eg an capacidades de
conec i idad inalámb ica siguiendo el modelo OSI (Open Sys ems In e connec ion), pe mi iendo la
in e ope abilidad con edes IP [7] [8].
Figu a 3. ATMEL 2560
Figu a 2. ESP32 WROOM 32
3
3
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
1.1.2.1 Capas del modelo OSI en Comunicaciones IoT
El modelo OSI es un ma co concep ual uni e sal que desc ibe cómo los da os se ans ie en a a és de
una ed, di idiendo la comunicación en sie e capas independien es (Ve abla 1). Es e modelo se aplica
como e e encia en la mayo ía de los sis emas de comunicación de ed, aunque la implemen ación
conc e a de cada capa puede a ia según la ecnología inalámb ica u ilizada y el mic ocon olado
especí ico.
Capa OSI
Función p incipal
Ejemplo en ESP32
(WiFi/BLE)
Física (1)
T ansmisión y ecepción de bi s
po el medio ísico ( adio, cable,
e c.)
Modulación de señales en 2.4
GHz (WiFi 802.11 b/g/n, BLE
2.4 GHz)
Enlace (2)
O ganización de da os en
amas, con ol de acceso al
medio, co ección de e o es
P o ocolo MAC 802.11,
con olado de enlace BLE
Red (3)
En u amien o de paque es,
di eccionamien o IP
Sopo e de IP 4/IP 6; BLE
suele usa di eccionamien o
p opio
T anspo e (4)
Comunicación ex emo a
ex emo, con ol de lujo y
e o es
TCP/UDP; L2CAP (BLE)
Sesión (5)
Ges ión de sesiones de
comunicación
Manejada po p o ocolos de
aplicación (MQTT, HTTP, e c.)
P esen ación (6)
T aducción, ci ado y
comp esión de da os
Ci ado TLS/SSL, codi icación
de da os
Aplicación
In e az di ec a con el usua io o
aplicación, p o ocolos de al o
ni el
HTTP, MQTT, CoAP,
WebSocke , e c.
Tabla 1. Capas del modelo OSI

In oducción
4
1.1.2.2 Ven ajas de la In eg ación WiFi en Mic ocon olado es
La in eg ación de WiFi en SoCs (Sys em-on-Chip) como el ESP32 elimina la necesidad de modulos
ex e nos que auemen a ian an o el cos e como el amaño [9]. Es o ha impulsado su adopción en
aplicaciones como senso es de es acionamien o in eligen e ( e igu a 4) que epo an disponibilidad
median e APIs REST (Rep esen a ional S a e T ans e ) [10].
Figu a 4. Senso es acionamien o
1.2 Raspbe y Pi (Rpi): Qué es y cómo se u iliza en IoT
La RPi es un sis ema embebido de placa única, compac o y de bajo cos e, diseñado o iginalmen e pa a
enseña in o ma ica y p og amación, pe o que se ha con e ido en una pla a o ma muy popula pa a
p oyec os IoT, au oma ización y p o o ipado A anzado [11]. G acias a su po encia y e sa ilidad, la RPi
se emplea ecuen emen e como hub domó ico, pe mi iendo con ola luces, senso es ( e igu a 5) y
elec odomés icos in eligen es desde una única pla a o ma cen alizada.
Figu a 5. Senso es IoT pa a domó ico
5
5
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
1.2.1 Qué es la Rpi
A di e encia de los mic ocon olado es adicionales, la Rpi unciona como un minio denado comple o:
in eg a un mic op ocesado , memo ia RAM (desde 512 MB has a 8 GB según el modelo),
almacenamien o median e a je a mic oSD, y múl iples pue os de en ada/salida como USB, HDMI,
E he ne , además de conec i idad inalámb ica (WiFi y Blue oo h en la mayo ía de los modelos
ecien es) [12]. Es o le pe mi e ejecu a sis emas ope a i os basados en Linux (como Raspbe y Pi OS),
acili ando el desa ollo de aplicaciones complejas y el uso de lenguajes de p og amación como Py hon,
C++ o Ja a [11].
1.2.1.1 A qui ec u a y componen s cla e
Las di e en es e sions de RPi emplean p ocesado es ARM de 32 o 64 bi s y RAM con su icien e
po encia pa a a eas de p ocesamien o de da os, ision a i icial o se ido es web. U iliza una a je a
mic oSD pa a el sis ema ope a i o y los da os, lo que acili a la ac ualización y el espaldo del so wa e.
Dispone de pue os USB pa a pe i é icos, HDMI pa a ideo, E he ne y/o WiFi pa a ed, y pines
GPIO pa a in e ac ua con senso es, ac uado es y o os disposi i os elec ónicos.
1.3 El p oblema a esol e : p og amación emo a de los mic ocon olado es
Uno de los p incipales p oblemas de los sis emas IoT es su ges ión, especialmen e cuando se a a de
disposi i os desplegados en g andes can idades y ubicados en zonas de di ícil acceso. A medida que las
implemen aciones IoT aumen an en escala, la ac ualización y man enimien o de es os disposi i os se
con ie e en un desa ío signi ica i o [14].
Las ac ualizaciones de i mwa e son esenciales pa a co egi e o es, soluciona ulne abilidades de
segu idad o añadi nue as uncionalidades du an e la ida ú il de un disposi i o conec ado [15]. Sin
emba go, cuando los disposi i os es án ins alados en luga es emo os o de di ícil acceso, el acceso ísico
esul a cos oso o incluso imposible [16].
Es e p oblema se magni ica po las limi aciones inhe en es a muchos disposi i os IoT: es icciones de
memo ia, capacidad de ba e ía y ancho de banda disponible, lo que complica aún más el p oceso de
ac ualización [15]. Además, la al a de mecanismos de ac ualización es anda izados puede conduci a
p ác icas de segu idad de icien es [17].
Todo es o hace que la ac ualización manual di ec a muchas eces sea imposible y que no haya o ma
de conec a se ísicamen e al disposi i o con un o denado pa a ac ualiza el i mwa e u ilizando
p og amas especializados como JTAG [18]. De la necesidad de ac ualiza emo amen e los disposi i os
nace las ac ualizaciones OTA.
1.3.1 P og amación emo a y la necesidad de OTA (O e -The-Ai )
Las ac ualizaciones OTA pe mi en la dis ibución inalámb ica de i mwa e ac ualizado a odos los
disposi i os de un sis ema IoT, incluso aquellos ubicados en luga es de di ícil acceso [16]. Pa a
p opo ciona es e ipo de ac ualizaciones el disposi i o IoT pe mi e la ca ga de o ma inalámb ica de un
nue o i mwa e. Es o implica que dispone de el del ha dwa e necesa io pa a p opo ciona conec i idad
inalámb ica y de un so wa e adecuado pa a pe mi i la subida y pos e io ca ga en el disposi i o del
nue o i mwa e. Exis en dos ap oximaciones di e en es a la ho a de abo da el p oceso de ac ualización
OTA:
1. Ac ualización OTA de pa ición única: Implica ac ualiza di ec amen e el i mwa e pa a
eemplaza la e sión exis en e. Aunque es simple de implemen a , puede gene a iempos de
inac i idad signi ica i os du an e la ins alación y p esen a iesgos si la ac ualización alla [19].
2. Ac ualización OTA de pa ición dual A/B: U iliza dos pa iciones que pueden almacena
independien emen e di e en es e siones del i mwa e, o eciendo mayo segu idad al
man ene siemp e una e sión uncional del sis ema [19]. Es e mecanismo se undamen a en la
duplicación de las pa iciones c í icas del sis ema (como boo y sys em) [20]
In oducción
6
1.4 Obje i os del P oyec o y equisi os
El obje i o del P oyec o es c ea un sis ema de in eg ación con inua donde los nue os i mwa es
desa ollados se compilen en la nube y sean usados po un nodo cen al pa a ac ualiza OTA y de mane a
au oma ica los mic ocon olado es. A su ez que c eamos una in e az web pa a que un usua io pueda
conec a se y ealiza ope aciones manuals sob e los ESP32. Pa a ealiza es o end emos equisi os que
deben implemen a se en el mic ocon olado , o os en la Rpi y o os en el ges o de eposi o ios. Los
equisi os son los siguien es:
• Publicación de los se icios del mic ocon olado median e mDNS: Es e equisi o se
cen a en la capacidad de los disposi i os ESP32 de anuncia los se icios que o ecen
den o de una ed local, u ilizando el p o ocolo mDNS (Mul icas DNS). mDNS pe mi e
que los disposi i os se descub an en e sí en la ed sin necesidad de un se ido DNS
cen alizado.
• Requisi o de lec u a de pines: Es e equisi o es ablece la necesidad de pode consul a el
es ado ac ual de los pines de en ada/salida digi al del mic ocon olado ESP32 a a és de
la ed. Es o pe mi e moni o iza emo amen e el es ado de senso es o in e up o es
conec ados al disposi i o.
• Requisi o de esc i u a de pines: Es e equisi o de ine la necesidad de pode modi ica el
es ado (al o/bajo) de los pines de salida digi al del mic ocon olado ESP32 a a és de la
ed. Es o es undamen al pa a con ola ac uado es como LEDs, elés u o os disposi i os
conec ados al ESP32, pe mi iendo una in e acción emo a con el en o no ísico.
• Requisi o de ob ene la e sión del i mwa e en uncionamien o: Es e equisi o de ine
la necesidad de pode modi ica el es ado (al o/bajo) de los pines de salida digi al del
mic ocon olado ESP32 a a és de la ed. Es o es undamen al pa a con ola ac uado es
como LEDs, elés u o os disposi i os conec ados al ESP32, pe mi iendo una in e acción
emo a con el en o no ísico.
• Requisi o de ac ualización OTA del i mwa e: Es e equisi o de ine la capacidad del
sis ema pa a ac ualiza el i mwa e del mic ocon olado ESP32 de o ma inalámb ica,
conocido como OTA. Es o pe mi e desplega nue as e siones del i mwa e a los
disposi i os sin necesidad de acceso ísico, lo cual es especialmen e ú il pa a disposi i os
desplegados en ubicaciones emo as o de di ícil acceso.
• Requisi o de in eg ación con inua del i mwa e de los mic ocon olado es: Es e
equisi o se e ie e a la implemen ación de p ác icas de In eg ación Con inua (CI) pa a el
desa ollo del i mwa e de los ESP32. Es o implica au oma iza el p oceso de compilación
y empaque ado del i mwa e cada ez que se ealizan cambios en el código uen e.
• Requisi o de ac ualización de odos los mic ocon olado es de la ed: Es e equisi o
es ablece la necesidad de un mecanismo pa a ac ualiza el i mwa e de mane a coo dinada
o masi a en odos los ESP32 que o man pa e del sis ema. Es o necesi a un sis ema de
ges ión que pueda o ques a el despliegue de ac ualizaciones a múl iples disposi i os
simul áneamen e.
• Requisi o de docke ización de los se icios del nodo cen al: Es e equisi o se en oca
en la in aes uc u a del backend o nodo cen al que in e ac úa con los disposi i os ESP32.
Especi ica que los se icios que componen es e nodo cen al (se ido web y API) deben
se empaque ados y desplegados u ilizando con enedo es Docke .
7
7
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
Me odología
14
2.2.2.3 Código del i mwa e del ESP32
El código del i mwa e del ESP32 es á disponible en el eposi o io de Gi Lab del p oyec o. Es e
i mwa e implemen a un se ido REST pa a ges iona los pines GPIO del mic ocon olado y habili a
ac ualizaciones OTA median e la lib e ía Elegan OTA.
En p ime luga , el i mwa e ealiza la con igu ación y conexión a la ed WiFi, gene ando
au omá icamen e un hos name único basado en los úl imos dígi os de la di ección MAC del disposi i o.
Es o acili a an o la iden i icación como el acceso al ESP32 den o de la ed local. Una ez conec ado,
el disposi i o inicia un se ido REST u ilizando la lib e ía WebSe e , exponiendo a ios endpoin s:
`/ ead` pe mi e consul a el es ado de odos los pines GPIO con igu ados como salidas, `/w i e` ac ualiza
el es ado de es os pines a pa i de una pe ición JSON, y `/ ese ` einicia el mic ocon olado de o ma
emo a. Además, el endpoin `/ e sion` p opo ciona in o mación sob e la e sión y la echa de
compilación del i mwa e.
Pa a la comunicación en e clien e y se ido , u ilizamos el o ma o JSON median e la lib e ía
A duinoJson, lo que acili a la in eg ación con aplicaciones ex e nas y sis emas de moni o ización. El
código ambién implemen a la ges ión de u as no encon adas, de ol iendo mensajes de e o
de allados pa a acili a la depu ación.
La uncionalidad de ac ualización OTA se implemen a g acias a la lib e ía Elegan OTA, que añade
una in e az web embebida y callbacks pa a moni o iza el p og eso, ges iona e o es y einicia
au omá icamen e el disposi i o as una ac ualización exi osa.
Po úl imo, el i mwa e in eg a mDNS pa a anuncia el disposi i o en la ed local bajo un nomb e
legible, como ` g-io -XXXX.local`, acili ando su descub imien o y acceso sin necesidad de conoce la
di ección IP. Todo el ciclo p incipal de ejecución (`loop`) es á diseñado pa a se no bloquean e,
u ilizando la unción `millis()` en luga de `delay()`, lo que asegu a la capacidad de espues a del
se ido web y del sis ema OTA en odo momen o. Todo lo an e io compond ía los bloques del
i mwa e de nues o mic ocon olado ( e igu a 9).
Figu a 9. Diag ama de bloques de los modulos del i mwa e

15
15
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
2.2.3 Funcionamien o de OTA: pa iciones y p oceso de ac ualización
El p oceso de ac ualización OTA no consis e simplemen e en en ia nue o código a un disposi i o;
equie e una a qui ec u a obus a que ga an ice la in eg idad del sis ema incluso an e allos du an e la
ac ualización ( e Figu a 10).
Figu a 10. Esquema ac ualización OTA
2.2.3.1 Pa iciones de memo ia y su unción
El mecanismo de ac ualización OTA en el ESP32 equie e una con igu ación especí ica de la memo ia
lash del disposi i o, que incluye al menos dos pa iciones de aplicación y una pa ición de da os
dedicada a OTA. Es a es uc u a es esencial pa a ga an iza la iabilidad y segu idad del p oceso de
ac ualización emo a del i mwa e [30].
Las dos pa iciones de aplicación, comúnmen e denominadas `o a_0` y `o a_1`, pe mi en aloja
di e en es e siones del i mwa e. Mien as el sis ema ejecu a el i mwa e desde una de es as
pa iciones, la o a queda disponible como des ino pa a la nue a e sión du an e una ac ualización. Es e
en oque posibili a que el disposi i o siga uncionando no malmen e mien as se esc ibe la nue a imagen
en la pa ición inac i a, e i ando in e upciones en el se icio [31].
Po su pa e, la pa ición de da os OTA almacena in o mación c í ica que indica al boo loade cuál de
las pa iciones de aplicación debe u iliza se du an e el a anque. T as comple a una ac ualización, el
sis ema puede e i ica la in eg idad de la nue a imagen an es de modi ica la con igu ación de a anque
pa a que el disposi i o u ilice la pa ición ac ualizada. Si se de ec a algún allo, es posible implemen a
mecanismos de ollback [30], de ol iendo el sis ema a la e sión an e io de i mwa e y asegu ando así
la obus ez y la ecupe ación an e e o es en el p oceso de ac ualización
Me odología
16
2.2.3.2 P oceso de ac ualización OTA y ollback
El p oceso de ac ualización OTA es á diseñado pa a ga an iza la segu idad y la iabilidad del
disposi i o du an e la ins alación de nue as e siones de i mwa e. Es e mecanismo ( e abla 3)
ap o echa la a qui ec u a de doble pa ición y el uso de una pa ición de da os OTA, pe mi iendo que el
sis ema pueda ecupe a au omá icamen e una e sión an e io en caso de allo [30]. Así, se minimiza
el iesgo de deja el disposi i o inope a i o as una ac ualización de ec uosa.
Paso
Acción p incipal
Obje i o
Resul ado espe ado
1
Iden i icación de la
pa ición inac i a
Selecciona el des ino segu o
pa a la nue a ac ualización sin
a ec a la ope ación ac ual
Se de e mina cuál de las
pa iciones es donde se debe
aloja la nue a ac ualización
2
Desca ga y esc i u a
de la nue a imagen
T ans e i el i mwa e
ac ualizado al disposi i o y
almacena lo de o ma segu a
La nue a e sión del i mwa e
se gua da en la pa ición
inac i a mien as el sis ema
sigue ope a i o
3
Ve i icación de
in eg idad
Comp oba que la imagen
desca gada no es á dañada ni ha
sido al e ada
Solo se p ocede si la imagen es
álida; si no, se abo a la
ac ualización
4
Ac ualización de la
pa ición de da os
OTA
Indica al boo loade que debe
a anca desde la nue a pa ición
en el siguien e einicio
El sis ema queda p epa ado
pa a p oba la nue a e sión
en el p óximo a anque
5
Reinicio del
disposi i o
Aplica el cambio de i mwa e
ca gando la nue a imagen
El disposi i o a anca desde la
nue a pa ición con el
i mwa e ac ualizado
6
Au odiagnós ico del
nue o i mwa e
Ve i ica que la nue a e sión
unciona co ec amen e y que los
se icios c í icos es án ope a i os
Si el diagnós ico es exi oso, se
alida la ac ualización; si alla,
se inicia el ollback
7
Validación o
ollback au omá ico
Ga an iza la iabilidad del
sis ema, es au ando la e sión
an e io en caso de allo
El disposi i o ma ca la nue a
e sión como es able o, si hay
p oblemas, e ie e
au omá icamen e a la e sión
p e ia
Tabla 3. P oceso ac ualización OTA
2.2.3.3 La lib e ia Elegan OTA
La lib e ía Elegan OTA se usa pa a implemen a el p oceso de ac ualización OTA en disposi i os IoT.
Es a solución p opo ciona an o APIs como in e aces web que pe mi en ges iona el p oceso de
ac ualización OTA sin necesidad de implemen a manualmen e odos los pasos écnicos eque idos po
el mecanismo es ánda [32].
Elegan OTA au oma iza y simpli ica el p oceso de ac ualización OTA al inclui un se ido web
embebido que expone una in e az g á ica accesible desde la u a `/upda e` ( e igu a 11). A a és de
es a in e az, el usua io puede ca ga ácilmen e un nue o i mwa e o a chi os del sis ema de iche os,
sin eque i conocimien os a anzados de edes o manejo de pa iciones. Además, la lib e ía o ece APIs
17
17
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
especí icas que pe mi en inicia y con ola el p oceso de ac ualización OTA di ec amen e desde el
código del disposi i o, in eg ándose con los p incipales amewo ks de desa ollo pa a ESP32, como
A duino IDE y Pla o mIO. Ademas o ece los endpoin s /o a/s a y /o a/upload pa a ac ualiza el
i mwa e di ec amen e ia API.
Figu a 11. Diag ama de lujo ac ualizacion OTA po web
2.2.4 P og amación del ESP32-WROOM-32. Mic ose ido REST
Un se ido REST es una implemen ación de se icios web que implemen a los p incipios
a qui ec ónicos de inidos po Roy Fielding en el año 2000 [33]. En el con ex o IoT, es os se ido es
ac úan como in e media ios pa a la comunicación en e disposi i os, aplicaciones y sis emas en la nube.
Me odología
18
2.2.4.1 Endpoin s de nues a API
En el i mwa e de nues os ESP32 enemos con igu ada la API con una se ie de endpoin s básicos ( e
abla 4) que unidos a los que p opo ciona la lib e ía Elegan O a pe mi en la con igu ación necesa ia
pa a nues o P oyec o:
Endpoin
Mé odo
Función
/ e sión
GET
Ob iene la e sion y la echa del ul imo
commi
/o a/s a
GET
Inicializa la ac ualización OTA
/o a/upload
POST
Sube el bina io del i mwa e a usa en la
ac ualización OTA
/ ead
GET
Lee y de uel e el es ado ac ual de los pines
del disposi i o
/w i e
POST
Modi ica el es ado de un pin especi ico en
el disposi i o
Tabla 4. Endpoin s de la API REST del mic ocon olado
2.2.5 P og amación del ESP32-WROOM-32 – mul icas DNS (mDNS)
mDNS es un p o ocolo diseñado pa a acili a la esolución de nomb es en edes locales sin depende
de un se ido DNS cen alizado [23]. U iliza el pue o 5353 y la di ección mul icas 224.0.0.251,
pe mi iendo que los disposi i os conec ados a la misma ed puedan anuncia su p esencia y descub i a
o os sin necesidad de con igu aciones adicionales, lo que se conoce como “Ze o-con igu a ion
ne wo king”. Es a ca ac e ís ica esul a especialmen e ú il en en o nos IoT, donde es habi ual que
nue os disposi i os deban in eg a se y comunica se au omá icamen e con el es o del Sis ema [34].
Po ejemplo, al implemen a mDNS en un ESP32, se puede asigna un nomb e de hos legible, como
“senso - empe a u a.local”, en luga de ene que eco da una di ección IP numé ica. Además, el
ESP32 puede anuncia los se icios que o ece, como un se ido web o una API REST, lo que pe mi e
que o os disposi i os o aplicaciones en la ed local lo descub an y accedan a sus unciones sin
in e ención manual. Así, si un usua io conec a un nue o mic ocon olado a la ed, pod á localiza lo
ácilmen e desde su o denado o sma phone simplemen e accediendo a “senso - empe a u a.local” en
el na egado , sin necesidad de busca la IP o modi ica la con igu ación de ed. Es a uncionalidad
simpli ica eno memen e la in eg ación y ges ión de disposi i os en edes IoT.
19
19
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
2.3 Rpi: API REST
La API del nodo cen al del sis ema debe p opo ciona a ias uncionalidades c í icas:
• Descub imien o de disposi i os: U ilizando mDNS pa a encon a odos los disposi i os
ESP32 en la ed local.
• Ac ualización de los i mwa es: subida de los bina ios a los mic ocon olado es.
• Lec u a/esc i u a de pines: comunicación con los ESP32 pa a lee y esc ibi el es ado de sus
pines.
El siguien e a chi o mues a que la API REST ( e abla 5), hecha en Py hon median e la lib e ía
Fas Api, que se dedica a descub i los disposi i os y a ejecu a a eas de ac ualización median e los
siguien es endpoin s:
Endpoin
Mé odo
Función
/io -de ices
GET
Lis ado de disposi i os de ec ados
/ e sion/{ip}
GET
Consul a y de uel e la e sion del
i mwa e del disposi i o
/upda e- i mwa e/{ip}
POST
Inicia ac ualización OTA del disposi i o
especi icado ecibiendo el bina io del
nue o i mwa e
/ ead/{ip}
GET
Lee y de uel e el es ado ac ual de los pines
del disposi i o seleccionado
/w i e/{ip}
POST
Modi ica el es ado de un pin especi ico en
el disposi i o co espondien e
Tabla 5. Endpoin s de la API REST del nodo cen al
2.4 Rpi: in e az Web
El on end del sis ema cen al de ac ualización OTA es á diseñado como una página web es á ica que
p opo ciona una in e az pa a la ges ión de disposi i os y ac ualizaciones en la ed local. Es a in e az
pe mi e isualiza odos los disposi i os descubie os, consul a in o mación ele an e como la e sión
ac ual del i mwa e o el nomb e de cada disposi i o, y ges iona el p oceso de ac ualización.
Pa a log a es a uncionalidad, se ha u ilizado un iche o HTML como base pa a la es uc u a de la
página, mien as que el iche o Ja aSc ip se enca ga an o de la in e acción dinámica con el DOM como
de la comunicación con el backend a a és de la unción na i a e ch, que pe mi e ealiza pe iciones
de ed y ac ualiza la in e az en iempo eal según los disposi i os de ec ados.
El desa ollo del on end se ha ealizado u ilizando el IDE WebS o m, que acili a la edición,
depu ación y o ganización del código, además de o ece he amien as a anzadas pa a la ges ión de
p oyec os web.
Todo el on end es á alojado en la Raspbe y Pi, que ac úa como se ido cen al en la a qui ec u a,
pe mi iendo que cualquie usua io conec ado a la ed local pueda accede ácilmen e a la in e az desde
su na egado , sin necesidad de ins ala so wa e adicional.

Me odología
20
2.5 Rpi: Se ido web
Pa a hace accesibles los se icios que o ece el nodo cen al ( on end y API REST) necesi amos un
se ido web. Usamos Caddy [35] como se ido web uni icado pa a:
• Se i el on end es á ico (HTML/CSS/JS).
• Ac ua como p oxy in e so pa a la API REST del backend
• Ges iona TLS au omá ico median e in eg ación con Cloud la e.
G acias al uso de Caddy y su a chi o de con igu ación Caddy ile se simpli ica mucho el despliegue y
ges ión de los se icios que ienen que o ece se a a és del se ido web. En nues o caso, usamos
Cloud la e y su API pa a pode usa lo como se ido DNS y pode usa dominios TLD ( e igu a 12)
y ce i icados TLS álidos en el en o no de nues a ed local.
Figu a 12. Con igu ación del dominio en Cloud la e
2.6 Docke ización del nodo cen al
La docke ización del nodo cen al ep esen a un a ance signi ica i o en la a qui ec u a de nues o
sis ema de ac ualización OTA, especialmen e al implemen a se sob e una RPi. En es e con ex o, Docke
no solo apo a po abilidad y aislamien o, sino que ans o ma la RPi en un e dade o se ido de
se icios capaz de ges iona de o ma e icien e y segu a los p ocesos c í icos del sis ema.
La RPi asume así el papel de nodo cen al, o ques ando la API, el on end y el se ido web, y
pe mi iendo que cada uno de es os se icios se ejecu e en su p opio con enedo , comple amen e aislado
de los demás. Es o p e iene con lic os de dependencias y acili a la ges ión de e siones, ya que cada
se icio puede ac ualiza se, einicia se o e e i se de mane a independien e y con olada. Además,
Docke Compose pe mi e de ini y ges iona con igu aciones complejas de múl iples con enedo es de
o ma decla a i e.
En de ini i a, la in eg ación de Docke en la RPi con ie e es e disposi i o en un nodo cen al obus o,
lexible y ácilmen e ges ionable den o de nues o sis ema de ac ualización OTA. Pe mi e desplega ,
escala y man ene los se icios c í icos de mane a e icien e, asegu ando que el sis ema de ac ualización
emo a sea iable y sencillo de ope a , incluso cuando el en o no e oluciona o equie e cambios ápidos
en la in aes uc u a.
2.6.1 Con aine ización de los se icios
Docke se enca ga de la c eación de los di e en es se icios. En nues o caso emenos el se icio esp32-
o a-webse e que con igu a el se icio del se ido web con Caddy y esp32-o a.api que se enca ga
de con igu a py hon y de pone en uncionamien o la API. En el docke -compose.yml podemos e
como se con igu an los se icios y las edes que se usan. El se icio esp32-o a.api hace uso de la ed
del an i ión pa a el descub imien o de nues os disposi i os IoT que se anuncian usando mDNS, es po
eso que el ne wo k_mode es á como “hos ”.
21
21
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
2.6.2 Es uc u a de a chi os
Todos los se icios se án mon ados con docke , asi que necesi amos ins ala lo en nues a Rpi siguiendo
la documen ación o icial [36] . Con docke ins alado necesi amos clona odo el codigo de la aplicacion
que se encuen a en el eposi o io h ps://gi lab.com/esp32-o a/app de gi lab. Una ez desca gado nos
queda á una es uc u a de a chi os ( e igu a 13) que sepa a á la logica de la aplicación en los
siguien es di ec o ios:
Figu a 13. Es uc u a de iche os del nodo cen al
• bin/: es a ca pe a con iene sc ip s que son necesa ios pa a la ac ualización au oma ica de los
disposi i os IoT.
• docke /: es e di ec o io con iene oda la con igu ación an o de docke como de los se icios
que mon a (caddy como webse e y con igu acion pa a la API de Cloud la e).
• public/: aqui emenos la in e az web que p opo ciona el se ido web a los usua ios.
s c/: en es a ca pe a es á el código en py hon de nues a API.
2.7 In eg ación y en ega con inua (CI/CD)
La in eg ación y en ega con inua ep esen an un pa adigma undamen al en el desa ollo de so wa e
mode no, pe mi iendo a los equipos en ega alo de mane a más ápida y consis en e.
2.7.1 Fundamen os del CI/CD
La in eg ación con inua (CI) es una p ác ica de desa ollo de so wa e en la que los desa ollado es
in eg an ecuen emen e cambios de código en un eposi o io compa ido, donde cada in eg ación es
e i icada median e una compilación au oma izada y p uebas pa a de ec a e o es ápidamen e [37].
Es a me odología su gió como espues a a los desa íos del desa ollo adicional, donde las in eg aciones
manuales de código esul aban en p ocesos len os y p opensos a e o es, especialmen e en equipos
g andes [38].
Po o o lado, la en ega con inua (con inuous deli e y o CD) es un en oque de ingenie ía de so wa e
donde los equipos p oducen so wa e en ciclos co os, asegu ando que puede se libe ado de o ma
con iable en cualquie momen o [39]. Es e en oque acili a la educción del cos e, iempo y iesgo del
p oceso de implemen ación a a és de e siones más inc emen ales en aplicaciones de p oducción.
Es impo an e dis ingui en e en ega con inua y despliegue con inuo: Mien as que la en ega con inua
au oma iza las in eg aciones de código has a el pun o donde es á lis o pa a p oducción (pe o equie e
ap obación manual pa a el despliegue), el despliegue con inuo au oma iza comple amen e el p oceso
has a la implemen ación en p oducción [40].
Me odología
22
2.7.2 Implemen ación del CI/CD en nues o P oyec o
Pa a la ges ió de las e sions del i mwa e del ESP32 in eg amos un pipeline CI/CD en Gi lab median
el iche o de con igu ación .gi lab-ci.yml. Con es o conseguimos que cada ez que se gene e un ag en
el P oyec o se c ee un a e ac o que con iene el bina io que ep esen a el nue o i mwa e que ue
gene ado as la build del código. Es e a e ac o es pos e io men e desca gado y usado pa a la
ac ualización de los ESP32 de mane a au oma ica. po nues o nodo cen al.
23
23
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
3 RESULTADOS EXPERIMENTALES
s a sección p esen a los pun os p incipales y descub imien os ob enidos du an e la implemen ación
del nues o p oyec o. Se desc iben los p ocedimien os ealizados, las p uebas e ec uadas y los da os
ecogidos con el obje i o de e alia el uncionamien o de la a qui ec u a p opues a.
3.1 P uebas con el mic ocon olado
Las p uebas que se an a ealiza ienen que con i ma el uncionamien o espe ado de nues o i mwa e
del mic ocon olado ESP32 y cumpli con los equisi os uncionales siguien es pa a da po álido
nues o i mwa e.
3.1.1 Requisi o de publicación de los se icios median e mDNS
Nos conec amos a la sub ed donde es án conec ados nues os ESP32 y ejecu amos el commando ‘dns-
sd -B’ que lis a á odos los ipos de se icio anunciados po mDNS ( e igu a 14).
Figu a 14. Descub imien o se icios mDNS
Como podemos e , se lis an las di e en es ins ancias que coinciden con el nomb e que le hemos dado
y el ipo de se icio HTTP.
E
Los mic op ocesado es se es án me iendo en odo. En un u u o ce cano no hab á
ningún acceso io -sal o una escoba, acaso- que no enga un p ocesado den o.
- A hu C. Cla ke -
Resul ados expe imen ales
30
3.3.2 Requisi o de ob ene la e sion del i mwa e en uncionamien o
Pa a e la e sion pulsamos sob e el bo on ‘Ve e sión’ al lado del disposi i o cuya e sion que amos
comp oba . Una ez hecho es o se ha á la pe icion necesa ia y se mos a á el esul ado en un popup ( e
igu a 26)
Figu a 26. Ve e sión del i mwa e en la web
Podemos e en los paque es de la ed que se ealiza una pe ición al backend al endpoin / e sión seguido
de la ip del disposi i o cuya e sión se quie e consul a y se pin a en el popup la espues a.

31
31
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
3.3.3 Requisi o de lee /esc ibi pines
Pa a lee /esc ibi pines debemos pulsa en la pagina p incipal sob e el bo ón ‘lee pines’ asociado al
disposi i o que que amos accede . Es o ab i á un popup donde se puede e el es ado de los pines ( e
igu a 27) y se pueden modi ica los pines del 12 al 15.
Figu a 27. Ve es ado de pines en la in e az web
Pa a modi ica el es ado de los pines solo hay que pulsa sob e el bo ón ‘Cambia ’ al lado del pin que
deseemos cambia de es ado ( e igu a 28). Es o ha á una llamada /w i e al backend seguido de la ip
del disposi i o cuyo pin que emos cambia diciendole que cambie de es ado.
Resul ados expe imen ales
32
Figu a 28. Cambio de es ado de pin usando la web
Como podemos e al cambia el pin 12, que co esponde al LED ojo, es e se enciende.
3.3.4 Requisi o de ac ualiza el i mwa e
La ac ualización del i mwa e se ealiza al pulsa sob e el bo ón ‘Ac ualiza i mwa e’ del disposi i o
deseado. Cuando se hace es o se ab e un selec o de a chi os donde pondemos selecciona el bina io
que que emos subi ( e igu a 29) pa a ac ualiza el disposi i o.
Figu a 29. Selecciona el i mwa e pa a ac ualiza ia web
33
33
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
Una ez hecho es o se hace una pe ición al backend al endpoin upda e- i mwa e seguido de la ip del
disposi i o que que emos ac ualiza y se manda como ‘Fo m Da a’ el bina io en la p opiedad ile pa a
que el back haga las pe iciones pe inen es y p oceda a la ac ualización ( e igu a 30).
Figu a 30. Fi mwa e ac ualizado co ec amen e a a es de la web
En el caso de que la ac ualización diese un e o , el popup mos a ia el mensaje de que no se pudo
ac ualiza , dando así eedback al usua io independien emen e del esul ado de la ope ación.
Resul ados expe imen ales
34
3.4 P uebas del nodo cen al
El nodo cen al es una Rpi con los se icios docke izados. Es el eje cen al de nues o p oyec o.
3.4.1 Requisi o de docke ización de los se icios del nodo cen al
Nos conec amos al docke y haciendo uso del comando ‘docke ps’ ( e igu a 31) podemos comp oba
si los se icios que de inimos en el iche o docke -compose.yml es án co ec amen e desplegados.
Figu a 31. Comp oba los con aine s desplegados en el nodo cen al
Tal y como es á especi icado en el docke -compose.yml hay dos se icios desplegados, el webse e
con nomb e ‘esp32-o a.webse e ’ y el backend con nomb e ‘esp32-o a.api’.
3.4.2 Requisi o de ac ualización de odos los mic ocon olado es de la ed
La ac ualización desde el nodo cen al iene dos pasos, p ime o la ejecución del sc ip download-las -
i mwa e que consigue desca ga el ul imo i mwa e disponible desde Gi lab ( e igu a 32).
Figu a 32. Desca ga el ul imo i mwa e al nodo cen al
35
35
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
Una ez enemos el ul imo i mwa e ca gado en el nodo cen al, solo enemos que ejecu a el sc ip
upda e-all-de ices ( e igu a 33) que p ime o ob iene un lis ado de odos los disposi i os pa a
pos e io men e hace las pe iciones necesa ias al back pa a ca ga en cada disposi i o el nue o i mwa e.
Figu a 33. Ac ualización de odos los disposi i os IoT desde el nodo cen al
Como podemos comp oba se ealiza la ac ualización de cada disposi i o y se mues a si la ac ualización
ue exi osa o no con una elación inal de odos los disposi i os de la ed que ue on ac ualizados o no.

Resul ados expe imen ales
36
37
37
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT
4 CONCLUSIONES Y MEJORAS FUTURAS
s e abajo de in de g ado ha enido como obje i o p incipal desa olla y e alua un sis ema iable
y e icien e de ac ualización OTA de mic ocon olado es con un nodo cen al como coo dinado del
sis ema y haciendo uso de he amien as de in eg ación con inua pa a acili a el desa ollo del
i mwa e de los mic ocon olado es ESP32. A su ez p opo cionamos una in e az web pa a ejecu a
acciones de mane a manual sob e los mic ocon olado es del sis ema.
4.1 Resumen de los esul ados ob enidos
A lo la go del abajo se han alcanzado los siguien es esul ados
4.1.1 Implemen ación y con igu ación de los mic ocon olado es
Se han in eg ado con exi o los mic ocon olado es ESP32 en nues o sis ema de ac ualización OTA. La
con igu ación del mic ose ido REST y la implemen ación de la lib e ia Elegan OTA ha pe mi ido
an o la ges ion emo a de pines como la ac ualización OTA del i mwa e. Tambien median el uso de
mDNS hemos conseguido anuncia el se icio de la API a la ed, de mane a que los ESP32 puedan se
encon ados po o os usua ios de mane a sencilla.
4.1.2 Desa ollo de la API REST en el nodo cen al
La c eación de una API en el nodo cen al ha sido cla e pa a la coo dinación de odos los elemen os que
lo in eg an, o eciendo capacidades de ges ion mas po en es que si nos comunica amos di ec amen e
con el se ido REST de los mic ocon olado es. La API in eg a descub imien o de los
mic ocon olado es usando mDNS, ges ion de pines y ac ualización OTA del i mwa e.
4.1.3 C eación de la in e az web
La in e az web pe mi e ges iona los ecu sos de la API del nodo cen al de una mane a isual,
acili ando la in e acción con el sis ema po pa e del usua io. En la web se ha in eg ado lo necesa io
pa a usa odos y cada uno de los endpoin s c eados en la API del nodo cen al.
4.1.4 In eg ación del se ido web
G acias al se ido web Caddy hemos podido añadi una capa de segu idad a nues o sis ema usando
Cloud la e y un dominio pa a consegui ci ado TLS en nues as comunicaciones HTTP. Apa e de es o
el se ido web si e de o ma sencilla los a chi os de la in e az web y si e de p oxy in e so pa a
edi igi las pe iciones a la API del nodo cen al.
E
La ciencia nunca esuel e un p oblema sin c ea o os diez más.
- Geo ge Be na d Shaw -
Conclusiones y mejo as u u as
38
4.1.5 Docke izacion de los se icios del nodo cen al
Usando docke acili amos la in eg ación de cambios u u os en nues os di e en es se icios,
ac ualizando nues os con enedo es y ejecu ando un solo commando end iamos los se icios
ac ualizados y uncionando con la segu idad de que odo unciona á sin p oblemas.
4.1.6 In eg ación con inua en el desa ollo del i mwa e de los mic ocon olado es
Se ha implemen ado un lujo de in eg ación con inua en Gi lab donde cada ez que se gene a un ag se
gene a el bina io del i mwa e y se almacena de mane a que el nodo cen al puede desca ga lo y
ac ualize los mic ocon olado es sin in e ención del usua io.
4.1.7 P uebas de uncionamien o
Se han ealizado di e en es p uebas pa a de e mine el uncionamien o espe ado segun los equisi os.
Se han es eado las ac ualizaciones OTA del i mwa e y la esc i u a y lec u a de pines an o di ec amen e
sob e los mic ocon olado es como a a es de la web del nodo cen al. También se ha p obado la
ejecución de sc ip s au oma icos pa a la ac ualización de los ESP32 y el co ec o uncionamien o de la
in eg ación con inua.
4.2 Posibles mejo as
Es os esu lados sien an las bases pa a u u as mejo as y ex ensions del sis ema, incluyendo in eg ación
de ci ado ex emo a ex emo en los mic ocon olado es, ac ualizaciones de odos los disposi i os en
pa alelo e incluso ope aciones mas complejas sob e el conjun o de ESP32.
4.2.1 Mejo as de segu idad
Aunque la comunicación en e el clien e que usa la in e az web y el nodo cen al es án enc ip adas, se
usa HTTPS, la comunicación con los mic ocon olado es no lo es á. La mejo a consis i ia en
implemen a ce i icados i mados en los mic ocon olado es o incluso el uso de un unel VPN ubicando
los mic ocon olado es en una ed que sepamos segu a comple amen e.
4.2.2 Ac ualización en pa alelo de odos los disposi i os
Aho a mismo cuando se ejecu a una ac ualización global de odos los mic ocon olado es, se ejecu a de
mane a secuencial sob e cada disposi i o pa a ene el con ol o al del p oceso. La ac ualización
consis i ia en implemen a he amien as asinc onas pa a hace una ac ualización simul aneal de los
mic ocon olado es, lo que educi ía mucho el iempo de ejecución de es as ac ualizaciones gene ales.
4.2.3 Mejo as en la in eg ación con inua
La implemen ación que hemos hecho de la in eg ación con inua consis e simplemen e en la c eación de
un a e ac o con el bina io esul an e de la build del código del mic ocon olado cuando se c ea un ag
nue o. Se debe ían c ea di e en es pipelines pa a cada es ado del desa ollo del i mwa e, desde la
implemen ación de nue as uncionalidades has a el despliegue en un en o no eal, cada una con sus
p uebas especi icas e incluso gene ación de eleases dado el caso.
39
39
Sis ema de desa ollo e in eg ación con inua O e -The-Ai pa a mic ocon olado es IoT