Desa ollo de ed de senso es de
i adiación sola
I án Ga cía Palomino
F ancisco José Hinojosa Pé ez
GRADO EN INGENIERÍA DE COMPUTADORES,
FACULTAD DE INFORMÁTICA,
UNIVERSIDAD COMPLUTENSE DE MADRID.
T abajo Fin G ado en G ado de Ingenie ía de Compu ado es
Mad id, 24 de ene o de 2019
Di ec o /es y/o colabo ado :
José Ignacio Gómez Pé ez
Ch is ian Tenllado an de Reijden
ii
iii
Resumen
Es e p oyec o engloba la idea de desplega una ed de nodos sola es, o mados po
a ios senso es, que epa idos po una zona geog á ica ealicen la ecogida de mues as
de a ias magni udes ísicas, siendo la i adiación sola la más impo an e de ellas en es e
p oyec o.
Los da os ecogidos po los dis in os nodos sola es que con o man la ed se án
p ocesados po un sis ema p edic i o, que p edeci á la adiación sola del á ea geog á ica
donde es én si uados los nodos en un u u o p óximo.
De mane a más conc e a, es e abajo se cen a en el despliegue de la ed de nodos
sola es y en la ecogida de magni udes ísicas p oceden es de los dis in os senso es, pa a
su pos e io en ío a un se ido a a és de un ga eway.
La ed de nodos sola es u iliza la ecnología LoRa pa a la comunicación en e los
nodos y un ga eway que les da salida a In e ne . Dicho ga eway u iliza el p o ocolo MQTT
pa a la comunicación con el se ido u ilizando un b oke como in e media io.
En el se ido se u iliza la pla a o ma ThingsBoa d como clien e susc i o al b oke
MQTT, que pe mi i á almacena y ep esen a g á icamen e los da os ecibidos.
Palab as cla e
Nodo Sola , Senso , Radiación, Se icios, Mues eo, Ga eway, LoRa, MQTT,
ThingsBoa d
i
Abs ac
This p ojec includes he idea o deploying a ne wo k o sola nodes, made up o
se e al senso s, dis ibu ed h oughou a geog aphical a ea o collec samples o a ious
physical quan i ies, wi h sola i adia ion being he mos impo an o hem in his p ojec .
The da a collec ed by he di e en sola nodes ha make up he ne wo k will be
p ocessed by a p edic i e sys em, which will p edic he sola adia ion o he geog aphical
a ea whe e he nodes a e loca ed in he nea u u e.
Mo e conc e ely, his wo k ocuses on he deploymen o he ne wo k o sola nodes
and he collec ion o physical quan i ies om he di e en senso s, o la e sending o a
se e h ough a ga eway.
The ne wo k o sola nodes uses LoRa echnology o communica ion be ween he
nodes and a ga eway ha gi es hem access o he In e ne . This ga eway uses he MQTT
p o ocol o communica ion wi h he se e using a b oke as an in e media y.
On he se e , ThingsBoa d pla o m is used as a clien subsc ibed o he MQTT
b oke , which will allow he ecei ed da a o be s o ed and g aphically ep esen ed.
Keywo ds
Sola Node, Senso , Radia ion, Se ices, Sampling, Ga eway, LoRa, MQTT,
ThingsBoa d
1
Índice de Con enidos
Resumen .............................................................................................................................. iii
Palab as cla e ...................................................................................................................... iii
Abs ac ................................................................................................................................. i
Keywo ds .............................................................................................................................. i
Índice de Con enidos ............................................................................................................ 1
Capí ulo 1: In oducción ........................................................................................................ 3
Chap e 1: In oduc ion .......................................................................................................... 6
Capí ulo 2: Ha dwa e Nodo Sola .......................................................................................... 9
2.1. Pinou LoPy ...................................................................................................... 11
2.2. Senso de adiación .......................................................................................... 13
2.3. Senso de empe a u a in e na y humedad ....................................................... 13
2.4. Senso de empe a u a ex e na ........................................................................ 14
2.5. Módulo de posicionamien o GPS ...................................................................... 14
2.6. Uso de powe Pin .............................................................................................. 15
2.7. Ca ac e ís icas de ed LoPy.............................................................................. 15
Capí ulo 3: A qui ec u a So wa e........................................................................................ 16
3.1. Es uc u a gene al de di ec o ios ...................................................................... 18
3.2. Con igu ación y mues eo del nodo sola .......................................................... 20
3.3. Se icios gene ales........................................................................................... 21
3.3.1. Manage Se ice .......................................................................................... 22
3.3.2. Loca ionSe ice ........................................................................................... 23
3.3.3. SamplingSe ice ......................................................................................... 24
3.3.4. E o LogSe ice .......................................................................................... 25
3.4. Se icios de ed ................................................................................................ 26
3.4.1. Connec ionSe ice ...................................................................................... 27
3.5. Se icios de senso es ....................................................................................... 28
2
3.5.1. I adia ionSenso ......................................................................................... 29
3.5.2. DHT22Senso ............................................................................................. 30
3.5.3. Humidi ySenso ........................................................................................... 31
3.5.4. Tempe a u eInSenso .................................................................................. 32
3.5.5. Tempe a u eOu Senso ............................................................................... 33
3.6. Limi aciones de desa ollo ................................................................................ 34
3.6.1. Consumo excesi o de memo ia .................................................................. 34
3.6.2. RTC............................................................................................................. 35
3.6.3. Senso DHT ................................................................................................ 35
3.7. Análisis de iempos de ejecución ...................................................................... 35
Capí ulo 4: Se ido es cen ales ......................................................................................... 37
4.1. P o ocolo MQTT ............................................................................................... 37
4.2. Pla a o ma ThingsBoa d ................................................................................... 38
4.3. In e acción nodos-ga eway ............................................................................... 38
4.3.1. P o ocolo de en ada ................................................................................... 39
4.3.2. P o ocolo de salida ...................................................................................... 41
4.4. In e acción ga eway-b oke MQTT .................................................................... 43
4.4.1. He amien a Node-RED .............................................................................. 43
4.5. Rep esen ación g á ica en ThingsBoa d ........................................................... 45
Con ibución al p oyec o de I án Ga cía Palomino .............................................................. 48
Con ibución al p oyec o de F ancisco José Hinojosa Pé ez ............................................... 50
Conclusiones ...................................................................................................................... 52
Conclusions ........................................................................................................................ 53
Re e encias y Bibliog a ía ................................................................................................... 54
Anexo 1: Tabla de Codi icación de E o es/Wa nings ......................................................... 55
Anexo 2: F ozen Code ........................................................................................................ 56
Anexo 3: Diag amas de secuencia ...................................................................................... 57
3
Capí ulo 1: In oducción
En la ac ualidad emos como cada día se a an emas elacionados con la
p oducción o el consumo de ene gía, pues se elacionan con algunas de las cues iones más
pun e as de la úl ima década, como pueden se el cambio climá ico o la ex ema
con aminación.
Además, hay que ene en cuen a que cada día se ija el p ecio de la ene gía en una
subas a eléc ica de o ma con inuada lo que a ec a di ec amen e an o a emp esas
gene ado as de ene gía (de o igen eno able o no), como a los consumido es de la misma.
Si se pudie a p e e la p oducción de ene gía sola a co o plazo (en e 30 minu os y 2
ho as), se pod ía disminui el uso de cen ales é micas, más con aminan es, pa a sa is ace
la demanda en momen os de al a i adiación sola . Una mayo iabilidad en la p edicción de
la p oducción sola u u a, pod ía pe mi i así el cie e de plan as exceden a ias.
A pesa de que las ene gías eno ables lle an a ios años ab iéndose paso en
nues o en o no (en 2016 el 90% de la nue a po encia ins alada en Eu opa ue de o igen
eno able1) es en la ac ualidad cuando la ene gía sola empieza a des aca en su
con ibución en el pano ama ene gé ico (9 GW de nue a po encia ins alada en Eu opa en
2017 enía es e o igen) y con buenas p e isiones de u u o2. En España es á si uada en
sép imo luga (ap oximadamen e 5 GW de po encia ins alada en el momen o de la
ealización de es e p oyec o según los da os de Red Eléc ica de España3) aunque con inúa
en cons an e e olución y se espe a que hacia 2022 la po encia ins alada de es e o igen se
haya duplicado.
Si e de mo i ación pa a es e p oyec o consegui in eg a comple amen e la ene gía
sola en el pool de ene gías que se usan a dia io, con el in de disminui el uso de cen ales
más con aminan es y consegui sa is ace la demanda en momen os de al a i adiación
sola .
Exis en dis in as écnicas pa a la ealización de p edicciones sola es a co o plazo.
Una de esas écnicas es la de “sky cams”, que consis e en la oma de o og a ías e es es
al cielo pa a localiza y pa ame iza el ipo de nubes pa a pos e io men e p edeci cuál se á
la posición de dichas nubes. O a écnica de p edicción u iliza o og a ías ealizadas desde
sa éli es pa a de e mina el ipo, amaño y di ección de las nubes, y en base a ello,
de e mina las zonas nubosas.
1 h ps://www.dia io eno ables.com/2017.h ml
2 h ps://www.ene gias- eno ables.com/ o o ol aica
3 h ps://www. ee.es/es/es adis icas-del-sis ema-elec ico/3015/3001
4
Es e p oyec o se cen a, sin emba go, en la idea de pode desplega una ed de
senso es que midan la i adiación sola en cada momen o en di e en es luga es pa a
consegui la mayo can idad de in o mación posible pa a pode aplica pos e io men e
écnicas de in eligencia a i icial y, a pa i de ello, consegui p edeci con la mayo exac i ud
posible la ene gía sola de la que dispone , pues puede esul a in e esan e in en a egula
la p oducción de ene gía y pode ajus a la más al consumo eal y con ello aba a a los
cos es an o de ab icación como de uso de la misma.
De aquí el plan eamien o de es e abajo, basado en el desa ollo y despliegue de
una ed de senso es compues a po nodos p opios basados en la placa de desa ollo LoPy4.
En dicha ed cada nodo es au ónomo (alimen ado po un panel sola y una ba e ía ex e na)
y iene conec ados a ios senso es ( empe a u a, humedad, adiación sola y GPS) cuyos
alo es se leen de o ma pe iódica y se en ían median e WiFi o LoRa, en unción de la
disponibilidad.
Conc e amen e en el esul ado inal de es e p oyec o, el en ío pe iódico de mues as
se ealiza a a és de una conexión LoRa (p o ocolo de ed con modulación en
adio ecuencia) a un ga eway ce cano, que se enca ga de comunica ía p o ocolo MQTT5
(p o ocolo lige o de uso habi ual en IoT, In e ne O Things, basado en publish/subsc ibe), a
un b oke MQTT ex e no (se ido “sola cas ing.dacya.ucm.es” disponible en la Facul ad de
Ciencias Físicas de la UCM) p e iamen e con igu ado pa a ecibi las publicaciones y que
pe mi e que se puedan susc ibi clien es a ellas.
En dicho se ido a su ez es á incluido un clien e MQTT (ThingsBoa d6, pla a o ma
IoT open-sou ce que pe mi e un ápido desa ollo, ges ión y escalado de p oyec os de IoT)
que es á susc i o a es as publicaciones y pe mi e la ep esen ación g á ica de los da os
ecibidos lo que p opo ciona pode comp oba los de una mane a más isual.
La igu a 1 nos mues a la idea p incipal de cómo se despliega la ed cons uida en
es e p oyec o.
4 h ps://docs.pycom.io/da ashee s/de elopmen /lopy.h ml
5 h p://mq .o g/
6 h ps:// hingsboa d.io/docs/
Figu a 1: Despliegue de Red de Nodos
5
En los capí ulos siguien es, e emos paso a paso cada una de las e apas que se
di e encian en el diag ama an e io , comenzando po una isión gene al del ha dwa e
disponible en el nodo sola , así como de los senso es disponibles, y siguiendo po el diseño
y pos e io implemen ación de la aplicación so wa e. Dicho so wa e pe mi e a cada nodo
sola ob ene cons an emen e mues as elemé icas, buscando ac ua de mane a au ónoma
y, pe iódicamen e en ia los da os ecogidos a un ga eway u ilizando LoRa como
mecanismo de ansmisión. Es e ga eway mencionado publica á la in o mación ecibida,
usando el p o ocolo MQTT, en un se ido ex e no que pod á almacena e incluso
ep esen a g á icamen e los da os ob enidos.
Es e abajo concluye en es e pun o de ecogida y isualización de los da os
ob enidos a pa i de los senso es disponibles en el nodo sola p opio, pe o el p oyec o
gene al con inúa en cons an e e olución usando es os da os pa a gene a un modelo
p edic i o a pa i de écnicas de in eligencia a i icial. El obje i o inal es desplega una ed
de muchos de es os senso es en zonas de in e és (plan as sola es, pueblos/ba ios con
ins alaciones domés icas) pa a ene da os p ecisos de adiación sola que si an de
en ada al modelo p edic i o y se gene en p edicciones en iempo eal. Des aca en es e
pun o el uso de MQTT como p o ocolo de mensaje ía pues pe mi e la susc ipción a
in o mación ecogida po cada nodo de la ed de mane a independien e a cualquie clien e
susc i o a los canales del b oke MQTT, pudiendo se uno de ellos el p opio modelo
p edic i o.
El plan de abajo se di ide en dos pa es bien di e enciadas: la pa e de diseño e
implemen ación de la aplicación en el nodo sola , po un lado, y po o o lado lle a a cabo
el diseño de p o ocolos de comunicación pa a su pos e io aplicación con un se ido . Pa a
ello, es necesa io ealiza p ime o an o el diseño de lo que se á la aplicación so wa e que
ealice las mediciones en el nodo con una ecuencia que pueda a ia en unción de los
in e eses de cada si uación, como el diseño de los p o ocolos de comunicación de en ada y
salida del p opio nodo, pa a conoce cómo debe la aplicación so wa e en ia sus mues eos
elemé icos y a su ez cómo a a comunicaciones ex e nas. T as es o, se debe lle a a
cabo la implemen ación del so wa e de mues eo de las mediciones ecibidas po los
senso es disponibles pa a, po úl imo, pode en ia esos da os a un se ido pa a su
almacenaje y ep esen ación g á ica si se quisie a dispone de ella.
En es e p oyec o se conside an especialmen e aspec os de consumo ene gé ico,
ole ancia a allos y acilidad en el despliegue de la ed.
12
- El pin P13 queda conec ado a un módulo sola SLMD121H04L15 que
con iene cua o células o o ol aicas, y u ilizamos como senso de adiación.
- El pin P14 es á conec ado a una ba e ía ex e na LP50344816 de li io con una
capacidad de 800mAh, u ilizada pa a alimen a el sis ema. Adicionalmen e
pa a que el nodo sea au ónomo, en la placa diseñada po la Uni e sidad
Complu ense se incluye la ci cui e ía necesa ia pa a adap a el ol aje de un
panel sola MEDIUM 6V 2W SOLAR PANEL17 pa a la ca ga de la ba e ía y
alimen a la LoPy a una ensión cons an e de 3.3V.
- El pin P22 e a u ilizado inicialmen e en el diseño o iginal an e io pa a una de
las conexiones del GPS. Sin emba go, es e pin es á conec ado in e namen e
a un DAC (con e so digi al-analógico) u ilizado en el diseño pa a man ene
una ensión de e e encia (ap oximadamen e 0,5V), u ilizado po o as pa es
del ci cui o. Descub i es e hecho ue uno de los pun os complicados a la
ho a de lle a a cabo es a pa e del p oyec o, pues ue de complicada
de ección y además esul ó necesa io consul a el diseño o iginal que ya
es aba ealizado de años an e io es y adap a lo pa a pode u iliza odos los
módulos disponibles ac uales.
- El pin P8 es usado pa a una uncionalidad especí ica de la placa de
expansión denominada como powe Pin.
15 h p://ixapps.ixys.com/Da aShee /SLMD121H04L_No 16.pd
16 h p://www. ullwa .com/documen os/000485-LNK03447.pd
17 h ps://gi hub.com/Vol aicEnginee ing/Sola -Panel-D awings.pd
13
2.2. Senso de adiación
Uno de los obje i os de es e p oyec o es el bajo cos e, p incipal azón po la que se
ha elegido un módulo sola SLMD121H04L pa a la cap u a de da os de adiación sola en
luga de u iliza , po ejemplo, un pi anóme o que iene el mismo p opósi o, pe o su alo
excede el p esupues o deseado.
Un pi anóme o es un ins umen o me eo ológico u ilizado pa a medi de mane a
muy p ecisa la adiación sola inciden e sob e la supe icie de la Tie a. Se a a de un
senso diseñado pa a medi la densidad del lujo de adiación sola (kilo a ios po me o
cuad ado) en un campo de 180 g ados.
Como no disponemos de un ins umen o así pa a es e p oyec o, u ilizamos el
módulo sola SLMD121H04L que con iene cua o células o o ol aicas como senso de
adiación, de al o ma que el ci cui o analógico que incluye la placa de expansión UCM
si úa el pun o de abajo de la placa sola ce ca del co oci cui o. La co ien e de
co oci cui o es p opo cional a la adiación sola ecibida po el panel, po lo que, midiendo
dicha co ien e, ob enemos una es imación de i adiación. Pa a medi la co ien e, la placa
UCM con iene un ci cui o de ansimpedancia que p opo ciona un ol aje p opo cional a la
co ien e. Ese ol aje es ob enido con un con e so analógico-digi al (ADC) que nos
p opo ciona una es imación más p ecisa de la i adiación sola que ob ene los W/m2 de un
si io conc e o, lo que nos pe mi e ene mejo es da os a a a con un modelo p edic i o.
2.3. Senso de empe a u a in e na y humedad
Cómo se io en la igu a 2, que mos aba la o og a ía de un nodo ya mon ado, se
puede obse a que la placa LoPy es á p o egida po una es uc u a que le pe mi e
esgua da se de las inclemencias climá icas. Debido a es a es uc u a la placa queda
aislada del ex e io , pe o es o nos p oduce la necesidad de conoce la empe a u a in e na
de la es uc u a po si se p oduje a algún ipo de calen amien o en su in e io .
Pa a medi es a empe a u a queda ins alado den o de la es uc u a con la placa un
senso DHT22, bas an e económico incidiendo una ez más en el obje i o del bajo cos e,
que nos pe mi e conoce es a empe a u a de mane a bas an e p ecisa y que
adicionalmen e nos apo a el da o de la humedad ya que es e senso ambién dispone de
ello.
El alo de es e senso es ob enido a a és de lec u as con inuas de los pulsos
p oducidos en su pin co espondien e (P3), con una lib e ía especialmen e diseñada pa a
es e senso . Las lec u as del senso p opo cionan un alo dis in o cada 2 segundos
ap oximadamen e.
14
2.4. Senso de empe a u a ex e na
Pa a la medición de la empe a u a ex e na de la es uc u a de los nodos, usamos un
senso de empe a u a DS18X20, que esul a se bas an e económico y que u iliza el
sis ema de comunicaciones en bus 1-Wi e.
El p o ocolo 1-Wi e consis e en inicia la comunicación en iando una señal de ese
du an e 480 µs o más a ni el bajo, pulsos la gos (60 µs) pa a en ia bi s de alo ce o y
pulsos co os (menos de 15 µs) pa a los bi s con alo uno, o mando paque es de ocho
bi s.
Pa a iden i ica cada disposi i o conec ado al bus se u ilizan di ecciones únicas de 8
by es que incluyen uno como iden i icado del ha dwa e, el más signi ica i o, y o o pa a la
e i icación CRC, el menos signi ica i o.
Como ocu e en o os p o ocolos simila es, en el inicio de la comunicación se incluye
la iden i icación del disposi i o y la ope ación que se desea ealiza (como esc ibi en la
memo ia o lee la, po ejemplo).
Pa a el uso de es e senso es impo an e ema ca que el uso del p o ocolo 1-Wi e
implica la necesidad de un único cable pa a en ia y ecibi da os, lo que pe mi e el aho o
de un cable pa a casos en los que el núme o de conexiones es limi ado.
Po o o lado, ema ca que, pa a el uso de es e senso , Pycom p opo ciona una
lib e ía “ w ” que acili a su desa ollo.
2.5. Módulo de posicionamien o GPS
Pa a man ene la ho a y la echa siemp e sinc onizados en el RTC in e no del
sis ema, y adicionalmen e dispone de la si uación geog á ica de cada nodo de la ed
desplegada, se dispone de un módulo GPS GNSS.
Es o mismo pod ía se ealizado u ilizando un RTC ex e no que man u ie a siemp e
la ho a de mane a sinc onizada, sin emba go, un módulo como es e nos pe mi e conoce
ambién la si uación geog á ica de cada uno de los nodos de la ed de o ma adicional. El
módulo se pueden consul a con más de alle en la sección 3.3.2. del Capí ulo 3 de es e
documen o.
15
2.6. Uso de powe Pin
La placa UCM diseñada pe mi e co a la alimen ación de odos los senso es pa a
educi el consumo. Es necesa io ac i a el powe Pin (P8) pa a pode consul a cualquie a
de los senso es y es con enien e desac i a lo si se p e é un pe iodo la go de inac i idad,
pues el aho o de ene gía es un aspec o c ucial pa a un nodo au ónomo.
Además, debido a que es e pin equie e de un iempo pa a su ac i ación, se puede
p oduci un pequeño delay a la ho a de ealiza las mediciones.
Adicionalmen e, como es e pin es compa ido en e odos los senso es y con la
in ención de no man ene lo siemp e ac i o buscando el meno consumo posible del sis ema,
es necesa io el uso de un ce ojo global pa a ga an iza que cada senso puede ac i a
dispone de es e pin ac i o pa a pode ealiza sus mues eos co ec amen e.
2.7. Ca ac e ís icas de ed LoPy
Al p incipio de es e capí ulo, mencionamos como la placa LoPy dispone de
capacidad pa a conexiones Wi i, Blue oo h y LoRa.
Pa a la ealización de es e p oyec o nos decan amos po el uso de LoRa18, ya que
cumple el obje i o del bajo consumo p e endido y además p opo ciona un la go alcance
pa a las comunicaciones, disponiendo de un bajo ancho de banda.
LoRa es la capa ísica o la modulación inalámb ica u ilizada pa a c ea el enlace de
comunicación de la go alcance, mien as que LoRaWAN de ine el p o ocolo de
comunicación y la a qui ec u a del sis ema pa a la ed. Dicho p o ocolo p opo ciona,
además, obus ez an e in e e encias y segu idad en la ed, odo ello cumpliendo con el bajo
consumo.
Adicionalmen e, comen a que la modulación LoRa abaja con ISM (Indus ial,
Scien i ic and Medical), bandas ese adas in e nacionalmen e pa a uso no come cial de
adio ecuencia elec omagné ica en á eas indus iales, cien í icas y médicas. En nues o
caso ealizamos las conexiones a a és de la banda egional EU 868.
18 h ps://www. u .com/TUeV_Rheinland_O e iew_LoRa_and_LoRaWAN mp.pd
16
Capí ulo 3: A qui ec u a So wa e
El p incipal obje i o en el diseño de la a qui ec u a so wa e e a el de o o ga
acilidad pa a añadi o elimina uncionalidades ácilmen e sin epe cu i en el
uncionamien o del sis ema, po ese mo i o diseñamos la aplicación con di e sos se icios,
cada uno cumple con una uncionalidad de e minada. Pa a cumpli con es e obje i o
diseñamos dis in os módulos que denominamos se icios y p e endiendo que cada uno de
ellos sea lo más independien e posible del es o de se icios en su uncionamien o, es o
queda e lejado en el siguien e diag ama gene al.
Figu a 4: Diag ama Gene al de la A qui ec u a So wa e
17
O o de los obje i os en el diseño e a el de pode modi ica a ibu os de algunos
se icios, con es e p opósi o diseñamos un iche o de con igu ación independien e pa a
cada se icio en el que se gua dan cie os a ibu os con igu ables y habili ando la posibilidad
de modi ica dichos a ibu os de o ma emo a ía conexión LoRa o Wi i median e las
in e aces diseñadas que a a emos más adelan e, aunque es a uncionalidad no es á
implemen ada en es e p oyec o.
En el diseño so wa e hemos di idido en es ipos los se icios que o man la
aplicación. Los se icios denominados senso es (I adia ionSenso , Tempe a u eInSenso ,
Humidi ySenso , Tempe a u eOu Senso ) dispond án de un hilo de ejecución independien e.
De es e modo se ga an iza una mayo p ecisión en la oma de mues as en cada senso ,
que pueden con igu a se con ecuencias de mues eo independien es. Es os se icios
implemen an la in e ace Senso s.
Los se icios que no son senso es, que denominamos se icios gene ales, o o gan
al sis ema uncionalidades de ges ión: E o Logse ice ges iona los posibles e o es y
wa nings; SamplingSe ice es el enca gado de solici a mues as a los senso es pa a el
pos e io en ío pe iódico de dichas mues as. Loca ionSe ice es el enca gado de la
conexión con el sa éli e de posicionamien o; Manage Se ice es el enca gado de ges iona
el a anque y con igu ación inicial del sis ema. Es os se icios implemen an la in e ace
Se ices, aunque pueden ene más mé odos en unción de la necesidad de cada se icio.
Po úl imo, en la a qui ec u a so wa e se incluye una in e az Ne wo k pa a los
di e en es ipos de conexión posible Wi i o LoRa. En nues o p oyec o implemen amos el
se icio Connec ionSe ice enca gado de ealiza la conexión ía LoRa con un ga eway
ce cano.
El código uen e de la aplicación aquí documen ada puede se consul ado en el
enlace h ps://gi hub.com/De elopmen -o -sola -i adia ion-senso -ne wo k.
En el p oceso de desa ollo de es e so wa e hemos u ilizado la aplicación de
esc i o io A om y su espec i o paque e de desa ollo Pymak que incluyen una licencia de
uso GPL 3, el módulo ESP p opo cionado po Pycom cuen a con una licencia Apache 2.0,
la implemen ación en Mic oPy hon iene licencia MIT, las lib e ías p opias de Pycom a las
que accedemos en es e p oyec o poseen licencia GPL 3, la he amien a node-RED
necesa ia pa a la in e acción nodos-ga eway y la pla a o ma ThingsBoa d que u ilizamos
como clien e MQTT pa a las ep esen aciones g á icas ienen licencia Apache 2.0.
En base a las licencias de las dis in as lib e ías (po ejemplo, “ w ”
p opo cionada po Pycom) u ilizadas en el desa ollo del p oyec o, decidimos o o ga una
licencia GPL 3 “ na e si n s e i ” (GPL 3+) a es e p oyec o, compa ible con odas
las ci adas an e io men e y que pe mi e su uso come cial, su modi icación, dis ibución,
de echo de pa en e y uso p i ado.
18
3.1. Es uc u a gene al de di ec o ios
Los se icios disponen de di ec o ios almacenados en la memo ia lash de la placa
de desa ollo LoPy, en los que se almacenan los dis in os iche os de con igu ación, odos
ell s llamad s “c n . x ”. n el cas de E o LogSe ice ambién almacena en su di ec o io
los iche os log gene ados. Los iche os de con igu ación ienen la es uc u a de un
dicciona io en py hon pa a acili a el p oceso de lec u a y esc i u a de los iche os.
Figu a 5: Diag ama Gene al de Di ec o ios
19
El código de la aplicación se encuen a en el i mwa e de la LoPy, donde cada
se icio cons a de un di ec o io p opio en el que se almacena el iche o de código
co espondien e al se icio, adicionalmen e ambién exis e un di ec o io llamado lib a ies
pa a las dis in as biblio ecas u ilizadas en los se icios y un di ec o io especial pa a el
dh 22Senso .
Figu a 6: Diag ama Gene al de Es uc u a So wa e
20
3.2. Con igu ación y mues eo del nodo sola
Los nodos sola es al inicio de su ejecución cons an de dos uncionalidades
p incipales. Ac i ación y con igu ación de odos los se icios que el iche o de con igu ación
de Manage se ice es ablezca que ienen que es a ac i os.
Como se puede ap ecia en la igu a 7, que ep esen a el diag ama de secuencia de
con igu ación inicial de un nodo, Manage Se ice es el se icio enca gado de la ac i ación
del es o de se icios de la aplicación. Inicialmen e lee su p opio iche o de con igu ación el
cual le indica qué se icios iene que ac i a . Después, ac i a los es se icios que se
conside an imp escindibles y su ac i ación es p io i a ia: Connec ionSe ice (enca gado de
la conexión LoRa con un ga eway ce cano), E o LogSe ice (enca gado de la ges ión de
e o es y wa nings de la aplicación) y Loca ionSe ice (cuya unción es la de consegui una
sinc onización con el GPS pa a es ablece la ho a en el sis ema). Pos e io men e se pasa a
la ac i ación de los dis in os senso es pasándole a cada uno de ellos sus a ibu os
co espondien es. En cada senso se c ea á un hilo nue o de ejecución cuya a ea se á la
de i ecogiendo mues as a la ecuencia es ablecida. En el caso de Humidi ySenso y
Tempe a u eInSenso , ac i a án a su ez el se icio DHT22Senso que se á el enca gado
de ecoge las mues as pa a es os dos se icios. Debido a es a es icción la ecuencia de
mues eo de es os dos senso es iene que se la misma.
Finalmen e, se ac i a á el se icio SamplingSe ice en el cual es á el bucle p incipal
de mues eo que i á solici ando las mues as a los senso es en unción de la ecuencia de
en ío es ablecida.
La uncionalidad p incipal que iene que ealiza los nodos sola es es la de ealiza
mues as de los senso es a las ecuencias es ablecidas en cada senso y en ia las a un
ga eway a una ecuencia denominada sendingF equency ambién es ablecida.
Po o o lado, la igu a 8 ilus a el bucle p incipal de ecogida de mues as en
SamplingSe ice. Pa a es e ejemplo, asumimos que los senso es es án p e iamen e
ac i ados y mues eando a las ecuencias seleccionadas en sus iche os de con igu ación.
Desde SamplingSe ice se a solici ando la mues a de los senso es que es án ac i os; la
mues a que de uel an los senso es puede se de dos ipos: la media de odas las
mues as que ha omado en e pe iciones del SamplingSe ice o la úl ima mues a
ealizada, dependiendo del modo que es é con igu ado el senso en su iche o de
con igu ación. Cuando se han solici ado odas las mues as que se desean en ia en un
momen o dado, SamplingSe ice ealiza una llamada al mé odo sendPackage de
Connec ionSe ice pa a cons ui el paque e de mues as y ealiza el pos e io en ío al
ga eway ía conexión LoRa.
21
Hemos diseñado un o ma o pa a dichos paque es, a ando de minimiza el núme o
de bi s eque idos pa a el en ío de las mues as. Asimismo, hemos diseñado el p o ocolo de
comunicación nodo-ga eway de modo que es e úl imo sepa cómo eacciona an e los
di e en es paque es que ecibe.
El bucle se epe i á a la ecuencia es ablecida mien as que el se icio
SamplingSe ice es é ac i o.
3.3. Se icios gene ales
Figu a 9: Es uc u a de la In e az Se ices
Pa a los se icios gene ales que o o gan uncionalidades de ges ión, disponemos de
una in e ace llamada Se ices que es ablecen los mé odos que odo se icio que
denominamos gene al debe cumpli . Los se icios ienen que ac i a se a a és del mé odo
connec (), pudiendo desac i a los con disconnec (). Pa a la con igu ación inicial de a ibu os
se u iliza á el mé odo con Se ice(); asimismo, los se icios dispond án de a ibu os
con igu ables ía LoRa o wi i a a és Manage Se ice haciendo uso del mé odo
upda eA ibu e() de los se icios. El mé odo se iceEnabled in o ma á de si el se icio es á
ac i ado. Po úl imo, el mé odo s a () lle a á acabado la uncionalidad p incipal del se icio,
c eando un hilo de ejecución nue o pa a ello si uese necesa io.
28
3.5. Se icios de senso es
Figu a 16: Es uc u a de In e az Senso s
Pa a los se icios que son senso es diseñamos una in e az llamada Senso s que
es ablece los mé odos necesa ios pa a la c eación de un nue o senso , po cada ins ancia
del senso se c ea á un hilo enca gado del mues eo y posible il ado de los da os
ob enidos.
Pa a la ac i ación, desac i ación y con igu ación del senso se u ilizan los mé odos
connec (), disconnec () y con se ice() espec i amen e, upda eA ibu e() ac ualiza los
a ibu os modi icables del senso , s a () c ea un nue o hilo de ejecución con el mé odo
sampling() que se á el enca gado de ealiza las mues as a una ecuencia es ablecida en
el senso y con ge Da a() se ob iene el alo de las mues as.
29
3.5.1. I adia ionSenso
Figu a 17: Es uc u a de I adia ionSenso
I adia ionsenso es el se icio a ca go del senso de adiación sola , ealiza
mediciones pe iódicas u ilizando la lib e ía “A C” p opo cionada po Pycom, a la ecuencia
es ablecida, o eciendo los da os de dos o mas dis in as dependiendo del alo de su
a ibu o mode asignado en su iche o de con igu ación co espondien e, pudiendo de ol e
la media de las úl imas mediciones o la úl ima medición ealizada (ambas posibilidades
quedan habili adas pa a odos los senso es disponibles). El alo de uel o po es e senso
es una lec u a de una de las posibles combinaciones del ango del ADC, en nues o caso en
o ma de ol aje, que se i á pa a conoce con mayo p ecisión la adiación cap u ada po el
senso dedicado a ello, y que pe mi i á en el u u o abaja con da os más p ecisos en el
modelo p edic i o.
Los a ibu os samplingF equency, que indica la ecuencia con la que se ealizan
mues as, y mode, q e es a lece el m d en q e se de el en las m es as “0” a a la
media de las mues as “1” a a la úl ima m es a, eden se m di icad s a a és del
iche o de con igu ación o de o ma emo a.
30
3.5.2. DHT22Senso
Figu a 18: Es uc u a de DHT22Senso
El se icio DHT22Senso es el senso enca gado de ecoge las mues as de
humedad y de empe a u a in e na del nodo. Es e senso iene la pa icula idad de que
ealiza la ecogida de mues as de dos mediciones a a és de la c eación de un hilo nue o
de ejecución, con el que se ealiza el mues eo a la ecuencia es ablecida, es po ello que
la ecuencia de mues eo de la humedad y de la empe a u a in e io iene que se la
misma. Es e senso no iene un iche o de con igu ación, pe o o ece la opción de modi ica
la ecuencia de mues eo a a és de los se icios Humidi ySenso y Tempe a u eInSenso
que son los enca gados de ac i a y es ablece dicha ecuencia en DHT22Senso .
31
3.5.3. Humidi ySenso
Figu a 19: Es uc u a de Humidi ySenso
Humidi ySenso es el se icio enca gado del senso de humedad e implemen a la
in e az Senso s, en es e se icio cabe des aca que no es el enca gado de ealiza las
mediciones, sino que iene que ac i a el se icio DHT22Senso pa a c ea un hilo de
ejecución y ealiza las mediciones ap opiadas.
Los a ibu os samplingF equency, que indica la ecuencia con la que se ealizan
mues as, y mode, q e es a lece el m d en q e se de el en las m es as “0” a a la
media de las m es as “1” a a la úl ima m es a, eden se m di icad s a a és del
iche o de con igu ación o de o ma emo a.
32
3.5.4. Tempe a u eInSenso
Figu a 20: Es uc u a de Tempe a u eInSenso
El se icio Tempe a u eInSenso ges iona la mé ica de empe a u a in e io del
nodo, aunque pa a ealiza las mues as necesi a ac i a el senso DHT22Senso pa a c ea
un hilo de ejecución y ealiza el mues eo a la ecuencia que Tempe a u eInSenso le
indique.
Los a ibu os samplingF equency, que indica la ecuencia con la que se ealizan
mues as, y mode, q e es a lece el m d en q e se de el en las m es as “0” a a la
media de las m es as “1” a a la úl ima m es a, eden se m di icad s a a és del
iche o de con igu ación o de o ma emo a.
33
3.5.5. Tempe a u eOu Senso
Figu a 21: Es uc u a de Tempe a u eOu Senso
Tempe a u eOu Senso es el senso enca gado de ealiza las mues as de
empe a u a ex e io del nodo. C ea un hilo de ejecución en el que se ealizan las mues as
a la ecuencia es ablecida y como ya se mencionó en la sección 2.4. del Capí ulo 2, es e
senso u iliza el p o ocolo OneWi e pa a la ansmisión de da os.
Los a ibu os samplingF equency, que indica la ecuencia con la que se ealizan
mues as, y mode, q e es a lece el m d en q e se de el en las m es as “0” a a la
media de las m es as “1” a a la úl ima m es a, eden se m di icad s a a és del
iche o de con igu ación o de o ma emo a.
34
3.6. Limi aciones de desa ollo
Como ya quedó e lejado en el Capí ulo 2, en el con ex o del bajo consumo es
habi ual encon a se con cie as di icul ades debido a los ecu sos limi ados del sis ema.
Debido a ello, eseñamos a con inuación cuáles han sido las limi aciones de desa ollo más
ele an es que nos hemos encon ado en es e p oyec o.
3.6.1. Consumo excesi o de memo ia
El disposi i o ha dwa e u ilizado dispone de 512KB de memo ia. T as ins ala le el
i mwa e p opo cionado po PyCom quedan únicamen e 79152 by es lib es19
ap oximadamen e. A su ez, pa e de esos by es son ocupados pos e io men e po el
in é p e e de Mic oPy hon necesa io pa a ejecu a el código.
T as i añadiendo módulo a módulo los se icios disponibles y la c eación de los
dis in os hilos de ejecución necesa ios pa a la ecogida de mues as de los dis in os
senso es, la can idad de memo ia RAM iba disminuyendo de o ma conside able has a
llega el pun o de que el nodo consumía oda la memo ia ejecu ando la aplicación, lo que
bloqueaba su co ec o uncionamien o an es de pode añadi incluso odos los módulos
disponibles.
Pa a a a de palia es e p oblema, incluimos explíci amen e en nues o cóidgo
llamadas que obligan a ac ua al Recolec o de Basu a20 de Mic oPy hon. Con el in de
mi iga el uso excesi o de es as llamadas es ablecemos un lími e de 13000 by es lib es de
memo ia pa a dicha ac uación; el código es á incluido en la lib e ía “ yM g ” de la
aplicación.
A pesa de es o, al ag ega nue os módulos seguía apa eciendo el mismo p oblema.
Es e con lic o esul ó se el más impo an e del p oyec o y inalmen e pudo se solucionado
incluyendo odo el código uen e de la aplicación en el i mwa e de la LoPy a a és de un
p oceso denominado “F z By ”, libe ando así g an can idad de memo ia RAM en
cada ejecución del p og ama y pe mi iendo añadi odos los módulos ci ados an e io men e.
Es a solución queda más de allada en el Anexo 2 incluido al inal de es e abajo.
19 h ps:// o um.pycom.io/ opic/170/lopy-wipy-2-esp32-specs-and-pe o mance/9
20 h p://docs.mic opy hon.o g/en/ 1.9.3/pyboa d/lib a y/gc.h ml
35
3.6.2. RTC
Debido a la pé dida de iabilidad del RTC in e no de la placa LoPy cuando en a en
modo deepsleep, el nodo sola pod ía no inicia a la ho a espe ada, po lo que al inicio de la
ejecución se ealiza una comp obación pa a conside a si iene que ol e a do mi se
po que se inició an es de lo espe ado. Es a comp obación consis e en lee un iche o
almacenado en la memo ia lash de la placa LoPy llamado “ S amp. x ” y que con iene
dos posibles alo es: la ma ca empo al en segundos de cuando se iene que inicia el nodo
n “1” q e señala q e el n d iene q e es a e ec and la a licaci n s wa e. l n d
an es de en a en modo deepsleep gua da en el iche o “ meS amp. x ” la ma ca empo al
a la que se iene que ol e a inicia .
3.6.3. Senso DHT
El senso DHT22 ealiza los mues eos de humedad y empe a u a in e io del nodo,
al se dos mé icas dis in as las que ecoge un sólo senso , su gió el p oblema de ealiza
dos accesos desde dis in os hilos al senso DHT22 lo que esul aba en alo es e óneos,
po lo que se op ó po c ea un único hilo de ejecución pa a la ealización de los dos
mues eos.
El se icio DHT22Senso es el enca gado de ealiza es a a ea.
3.7. Análisis de iempos de ejecución
A la ho a de en ia los da os ecogidos po la aplicación hacia un Ga eway, nos
dimos cuen a de que los en ío enían un lige o e aso empo al en la ecuencia de en ío
deseada, del que no conocíamos su o igen.
Pa a ello, hicimos algunos cálculos con la aplicación pa a conoce ealmen e que
iempos de ejecución es ábamos manejando.
En p ime luga , decidimos calcula el iempo de ejecución del p oceso de ecogida
de mues as de los senso es, pa a e si el delay p oducido e a u o de la ecogida de
mues as en los senso es. Ob u imos los iempos que se e lejan en la Tabla 1.
Tabla 1: Cálculo de Tiempos Bucle de Mues eo
36
Como se puede ap ecia , sí que exis e un lige o e aso en la ecogida de es as
mues as cuando an o la ecuencia de en ío como la de mues eo son al as (en íos cada
poco iempo), aunque solo se e e lejado en algunos casos, como po ejemplo cuando
es án odos los senso es ac i os pa a ecuencias de en ío de 5-10 segundos y ecuencia
de mues eo de 1 segundo. Sin emba go, emos como pa a ecuencias de en ío de 10-20
segundos y ecuencias de mues eo de 2-5 segundos, el iempo de la ejecución es apenas
pe cep ible pues no llega al segundo en ninguno de los casos.
Es os da os no acla a on demasiado el p oblema, pues an sólo en unos pocos
casos, emos que se ea a ec ada en más de un segundo la ejecución espe ada de la
aplicación. Po ello, decidimos i más allá y ealizamos los cálculos del iempo o al
anscu ido en el p oceso de ecogida de mues as po los senso es y con la c eación de
los paque es que se en ían, incluyendo ambién su en ío hacia el Ga eway.
Los esul ados ob enidos se pueden obse a en la Tabla 2, incluida a con inuación.
Tabla 2: Cálculo de Tiempo To al de Mues eo y En ío a F ecuencia Deseada
T as es o, llegamos a la conclusión de que odos los iempos es aban e asados en
ap oximadamen e 3 segundos a lo espe ado, po ejemplo, pa a los casos de ecuencia de
en ío de 20 segundos el en ío se ealiza cada 23 segundos ap oximadamen e.
Sin emba go, sí que seguimos obse ando que en pe íodos de en ío de 5-10
segundos, con ecuencia de mues eo de 1 segundo, algunos en íos se e asan más de 3
segundos, pe o casualmen e, se a an de los mismos casos en los que el p oceso de
mues eo ambién manejaba un pequeño delay.
T as analiza y alo a odos los da os ob enidos, llegamos a la conclusión de que el
p oceso de c eación del paque e a en ia y el en ío del mismo, e asaban en 3 segundos
(gene almen e) la ejecución no mal de la aplicación.
Pa a compensa es e delay, la aplicación en su e sión inal incluye una es a de
es e iempo anscu ido en la c eación y en ío del paque e de da os a la ecuencia de
en ío espe ada, lo que nos pe mi e ajus a de mane a más p ecisa los iempos de en ío y
ob ene los da os en el Ga eway a la ecuencia ap oximada espe ada.
37
Capí ulo 4: Se ido es cen ales
En la comunicación de la ed de nodos con el ex e io u ilizamos un ga eway que
es ablece conexión con los disposi i os a a és de conexión LoRa. Pos e io men e desde el
ga eway se publica á la in o mación ecibida de odos los nodos a un b oke MQTT usando
p o ocolo MQTT. Dicha in o mación puede se el en ío pe iódico de mues as ealizadas
pa a su pos e io almacenamien o en el se ido “ g. y . . ”, mensajes
pa a ale a de un posible e o en la ejecución de la aplicación so wa e en un nodo sola ,
mensajes pa a da de al a o da de baja un nodo del sis ema de seguimien o ThingsBoa d21,
in o ma de la posición ac ual del nodo o in o ma de la ho a del sis ema en el nodo.
El p oceso de comunicación en e nodo, b oke MQTT y clien e cons a en p ime
luga del en ío de un mensaje pa a da de al a al nodo sola en la pla a o ma
ThingsBoa d22. T as es o, se p ocede al en ío de la posición geog á ica y la ho a ac ual del
sis ema del disposi i o. A con inuación, se ealiza la ansmisión pe iódica de mues as,
dependien e de la ecuencia de en ío es ablecida p e iamen e, desde el nodo al b oke
MQTT, que hace accesible es a in o mación pa a los dis in os susc ip o es, en nues o
p oyec o u ilizamos como clien e susc ip o la pla a o ma ThingsBoa d.
De ca ác e ex ao dina io el nodo puede ealiza el en ío de no i icaciones de
posibles e o es y wa nings p oducidos du an e la ejecución de la aplicación so wa e, y
adicionalmen e exis e la posibilidad de en ia una pe ición de da de al nodo en
ThingsBoa d.
4.1. P o ocolo MQTT
MQTT23 es un p o ocolo de mensaje ía de ipo publish/subsc ibe, ex emadamen e
simple y li iano, diseñado pa a edes de bajo ancho de banda, de al a la encia o poco
con iables. Los p incipios de diseño son minimiza el ancho de banda de la ed y los
equisi os de ecu sos del disposi i o al mismo iempo que in en an ga an iza la
con iabilidad y cie o g ado de segu idad de la en ega.
La a qui ec u a MQTT iene una opología en es ella, con un se ido cen al
denominado b oke . Los clien es pueden da se de al a en el b oke cómo publish (publican
in o mación en un canal del b oke ) o cómo subsc ibe ( eciben in o mación del canal al que
es án susc i os).
21 h ps:// hingsboa d.io/
22 h p://sola cas ing.dacya.ucm.es:8080
23 h p://mq .o g/
44
Figu a 33: Con igu ación de Node-RED en Ga eway
El diseño cons a de a ios módulos como se puede ap ecia en la igu a 33, el p ime
módulo “ ” es el enca gado de la ecepción de paque es ía conexión LoRa, el segundo
módulo “ y M G” iden i ica el ipo de mensaje, cada mensaje es a ado de una o ma
di e en e, po lo que se c ea un módulo nue o po cada ipo de mensaje.
El módulo “ ” ealiza la in e p e ación de los mensajes sample del nodo y los
ans o ma al o ma o acep ado po ThingsBoa d indicando la ma ca de iempo en la que se
en ia on los mensajes (en segundos desde el epoch Unix), el iden i icado del nodo emiso
del mensaje y los da os de las dis in as mues as en iadas pa a su publicación en el canal
“ y” del b oke MQTT.
En los módulos “ ” y “ ” se ealiza la in e p e ación de los mensajes de
Loca ion y Time espec i amen e, c eando los espec i os mensajes ajus ándose al
p o ocolo de ThingsBoa d donde se no i ica la posición geoespacial y la ho a del sis ema en
el nodo, con el iden i icado del nodo que emi ió el mensaje pa a su pos e io publicación en
el canal “ b ” del b oke MQTT.
En el módulo “ W g” se aduce el mensaje ecibido del nodo y se cons uye
el mensaje pa a ThingsBoa d en donde se no i ica del e o o wa ning que se indica en el
mensaje ecibido del nodo, el núme o de eces que ha sucedido en una ejecución y el
iden i icado del disposi i o emiso , pa a su pos e io publicación en el canal “ b ” del
b oke MQTT.
En los módulos de “ ” y “ ” se cons uye un mensaje con el
iden i icado del disposi i o que se quie e da de al a o baja en la pla a o ma ThingsBoa d,
es os mensajes se publica án en los canales MQTT “ ” y “ ”
espec i amen e.
45
Po úl imo, se encuen an módulos que es ablecen conexión con el se ido b oke
MQTT en los di e en es canales que a los que es á susc i a la pla a o ma ThingsBoad en el
b oke MQTT, en nues o p oyec o u iliza emos cua o canales: “ y” pa a la
publicación de las mues as, “ ” y “ ” pa a publica los mensajes de da de
al a o baja espec i amen e, a un nodo de la pla a o ma ThingsBoa d y “ b ” pa a el
en ío de in o mación ace ca del nodo (posición geog á ica, ho a del sis ema y e o es en el
nodo).
4.5. Rep esen ación g á ica en ThingsBoa d
Como ya quedó e lejado en la sección 4.2. de es e mismo capí ulo, ThingsBoa d
pe mi e ep esen a g á icamen e los a ibu os y los da os elemé icos de los disposi i os
que p e iamen e se hayan dado de al a en la pla a o ma.
Pa a la ealización de es e p oyec o hemos enido a nues a disposición dos nodos
mon ados: uno de ellos dispone de odos los senso es incluido GPS incluido, se iden i ica a
a és de un ID único de disposi i o 70-b3-d5-49-98-46-56-33; El o o nodo disponible
cons aba de GPS y odos los senso es, sal o senso de empe a u a ex e io , y queda
iden i icado como 70-b3-d5-49-93-24-c1-b2.
Algunos a ibu os que manejamos con es os disposi i os son su Longi ud y La i ud,
que nos p opo ciona el módulo de posicionamien o de cada uno de ellos. ThingsBoa d
puede ep esen a es os da os en un mapa pa a mos a más cla amen e su si uación
geog á ica, al y como mues a la igu a 34.
Figu a 34: Visualización de Localización en ThingsBoa d
46
Pa a ep esen a los da os elemé icos, la pla a o ma ThingsBoa d p opo ciona g an
a iedad de g á icos, algunos muy llama i os. Sob e odo, pensados pa a ep esen a da os
muy conc e os y de un solo disposi i o.
Como en nues o caso que emos isualiza las eleme ías de a ios disposi i os a la
ez, y en iempo eal, elegimos pa a ellos g á icos de ama como podemos e en las
igu as 35, 36 y 37 que mues an los g á icos de adiación, empe a u a in e na y humedad,
espec i amen e, de los dos nodos que disponemos.
Figu a 35: Visualización de Radiación en ThingsBoa d
Figu a 36: Visualización de Tempe a u a In e na en ThingsBoa d
Figu a 37: Visualización de Humedad en ThingsBoa d
47
Sin emba go, como an solo disponemos de senso de empe a u a ex e io en uno
de los nodos, elegimos o o ipo de isualización, que, a pesa de se menos g á ica,
pe mi e e isa de o ma más sencilla el his o ial de da os almacenados y, a su ez, sigue
mos ando en iempo eal las mues as que se an ecogiendo.
Figu a 38: Visualización de Tempe a u a Ex e io en ThingsBoa d
48
Con ibución al p oyec o de I án Ga cía Palomino
El p oyec o consis e en una con inuación de un abajo de in de g ado de años
a ás. Las p ime as semanas se p oduje on a ias euniones con los di ec o es del abajo
de in de g ado del que pa e es e p oyec o pa a a a de comp ende los pasos que se
habían ealizado an e io men e en el p oyec o y pode ija un pun o de pa ida en es e
abajo.
Después es as euniones, se p ocedió a un diseño de la a qui ec u a so wa e que
cumpliese con los equisi os que nos habían ma cado los di ec o es del p oyec o. Algunos
de los equisi os que indica on ue on que el diseño de la aplicación so wa e uese un
conjun o de se icios independien es, y que se habili a la opción de modi icación y con ol
de los nodos sola es desde el ex e io .
T as un p ime diseño gene al se p ocedió a una eunión de los miemb os del g upo
con los di ec o es de es e p oyec o pa a expone el diseño inicial que los miemb os del
g upo habían ealizado. Los di ec o es apo a on sus opiniones y posibles mejo as a ealiza
en el diseño p esen ado.
Después de modi ica el diseño con las apo aciones de los di ec o es, se p ocedió
al diseño de los p o ocolos de comunicación de en ada y salida del nodo, debido a que en
el p oyec o los nodos sola es se comunican con un ga eway a a és de LoRa. A
con inuación, se p ocedió al diseño de la es uc u a gene al de di ec o ios de la aplicación
so wa e en los nodos. Pos e io men e, se ealizó a una eunión de los miemb os del g upo
y los di ec o es pa a pone en común los diseños ealizados, los di ec o es die on el is o
bueno a los diseños p esen ados.
En los p ime os días después de la eunión se p ocedió a una oma de con ac o con
el ha dwa e que con o ma el nodo sola . Al no dispone de expe iencia en el lenguaje de
Mic oPhy on, ni en abaja con el ipo de limi aciones que p esen a el ha dwa e de es e
p oyec o, se p ocedió a la ealización de p uebas de algunas uncionalidades que es aban
implemen adas en el p oyec o del que pa e es e abajo.
A con inuación, se pasó a la di isión de los se icios en e los miemb os del g upo,
I án Ga cía ealizó la implemen ación de los se icios gene ales (Manage Se ice,
SamplingSe ice) que eque ían un mayo es ue zo en implemen ación y F ancisco José
Hinojosa se enca gó de los se icios senso es que equie en un mayo es ue zo de
in es igación.
La unión de las dos pa es ealizadas po los miemb os del g upo no esul ó ácil,
debido a que a cada ez que se añadían se icios a la aplicación se p oducían p oblemas
en la memo ia RAM, debido a la escasa capacidad que se dispone de ella.
49
Pa a ello los miemb os del g upo ealiza on in es igaciones pa a encon a una
solución al p oblema p esen ado. T as habla lo con los di ec o es, se decidió u iliza una
écnica llamada “F z C ” que pe mi e el aho o de memo ia RAM y nos o o ga la
posibilidad de segui añadiendo el es o de los se icios que con o man la a qui ec u a
so wa e.
Una ez esuel o el p oblema de la memo ia, los miemb os del g upo encon a on
p oblemas de uncionamien o en el módulo de posicionamien o GPS. Po lo que se p ocedió
a e isa el ma e ial del que disponíamos del an e io p oyec o. T as la e isión del código
de la lib e ía del p o ocolo ubx se encon ó un e o en dicho código.
Resuel os es os dos p oblemas encon ados, los miemb os del g upo se ol ie on a
di idi los se icios es an es. I án Ga cía ealizó la implemen ación del se icio
Connec ionSe ice, y la con igu ación de la he amien a node-RED en el ga eway.
F ancisco José Hinojosa p ocedió a la implemen ación del se icio E o LogSe ice.
Después de la unión de los espec i os abajos, se encon a on e o es que u ie on
que se e isados de o ma conjun a po los dos miemb os del g upo, pa a pode subsana
los p oblemas de la mane a más ápida posible.
Pos e io men e los miemb os del g upo abaja on conjun amen e en la
comunicación del ga eway-se ido y en la pla a o ma ThingsBoa d, de la cual se necesi ó la
ayuda del di ec o del abajo, José Ignacio Gómez que nos p opo cionó dicha pla a o ma y
la posibilidad de u iliza un se ido de la Facul ad de Ciencias Físicas de la UCM.
Po úl imo, I án Ga cía ealizó los úl imos ajus es y modi icaciones de la aplicación
so wa e, mien as que ancisco José Hinojosa se cen ó más en la labo de documen ación
de es e p oyec o.
Pa a inalmen e colabo a conjun amen e en la ealización del análisis de iempos de
ejecución de la aplicación, pa a de ec a el delay en el en ío de los paque es desde los
nodos, y colabo a conjun amen e en el p oceso de documen ación de es e abajo. Cabe
des aca el papel de los di ec o es del abajo en la e isión de a ias e siones de la
documen ación y en la apo ación de consejos pa a ealiza de o ma co ec a la
documen ación del p oyec o.
50
Con ibución al p oyec o de F ancisco José
Hinojosa Pé ez
En p ime luga , cabe des aca que en en a se a la con inuación de un p oyec o que
ya había comenzado unos años a ás, no ue sencillo en p ime a ins ancia pa a ninguna de
las dos pe sonas que hemos ealizado es e p oyec o.
G acias a la ayuda de los di ec o es de es e T abajo de Fin de G ado que nos
ayuda on a comp ende el ma e ial que ya exis ía y, que nos guia on a la ho a del diseño
inicial, conseguimos adap a nos lo más ápido que pudimos pa a pode comenza con
nues o abajo.
El p ime paso que dimos a la ho a de ealiza es e p oyec o, ue el de ealiza un
diseño de la aplicación so wa e basado en se icios. Pa a lo cual, ue necesa ia la
colabo ación de odo el equipo pa a una pues a en común de los obje i os y de los
equisi os necesa ios, pa a pode ealiza un diseño que se ajus a a co ec amen e a ello.
Una ez ealizado el diseño inicial de la a qui ec u a so wa e, ue necesa io el
abajo conjun o de los dos miemb os de la pa eja pa a la c eación de p o ocolos de en ada
y salida de mensajes, pues conocíamos de an emano la exis encia de un Ga eway que
debía ecibi la in o mación que p ocesá amos.
Con odos los diseños ya e minados, p ocedimos a la oma de con ac o con la placa
LoPy y los dis in os senso es, lo que no esul ó sencillo y nos lle ó a ealiza in es igaciones
indi iduales pa a, en e los dos, pode pone nos al día con odos los ecu sos que
disponíamos.
En cuan o conseguimos comp ende , más o menos, el uncionamien o de los
elemen os que eníamos a nues a disposición, nos pusimos manos a la ob a pa a ealiza
la implemen ación de la aplicación so wa e. Pa a ello, di idimos los se icios esul an es en
el diseño p e io, quedándose I án Ga cía con el g ueso de los se icios gene ales
(Manage Se ice y SamplingSe ice), y F ancisco José Hinojosa con el g ueso de los
se icios de senso es, que eque ían un mayo es ue zo en in es igación, aunque a su ez,
no p ecisaban de an o es ue zo en implemen ación.
Una ez que disponíamos cada uno de unos esquemas gene ales, unimos las pa es
pa a pode comenza a abaja con el nodo sola comple o. Una a ea que no esul ó
sencilla, pues ninguno eníamos expe iencia en abaja con Mic oPy hon, ni mucho menos,
en dispone de un sis ema de ecu sos an limi ados.
51
Llegados al pun o de pode i añadiendo se icio as se icio a la aplicación gene al,
nos encon amos con el mayo p oblema del p oyec o. La limi ada memo ia RAM que
disponía el sis ema pa a ejecu a la aplicación. Pa a ello, nue amen e u imos que
colabo a como equipo pa a in es iga que ocu ía y pode esol e lo lo an es posible.
Una ez esuel o el p oblema con la memo ia del sis ema, comenzamos a colabo a
nue amen e, ya que nos esul aba complicado ag ega el módulo de posicionamien o GPS,
y u imos que ealiza una in es igación conjun a sob e el ma e ial que se nos había
p opo cionado, pa a inalmen e, as e isa comple amen e el código uen e de la lib e ía
del p o ocolo ubx, que ya había sido ealizado en p oyec os an e io es, encon a un e o
en dicho código.
T as es o, ya eníamos odos los elemen os disponibles en la aplicación, po lo que
nue amen e di idimos el abajo, quedándose I án Ga cía con la implemen ación del
se icio de conexión y con la con igu ación del Ga eway con Node-RED, mien as que
F ancisco José Hinojosa se cen ó en implemen a un se icio de ges ión de e o es,
c eando con ello la abla de codi icación is a en es e documen o, y en i ag egando es e
nue o módulo a odos los demás, lo que ambién p ecisó de una nue a in es igación de
cada senso pa a pode conoce los angos de alo es que pod ían de ol e .
Después de ol e a uni nues o espec i o abajo, su gie on nue os e o es que
u imos que ol e a e oma de o ma conjun a pa a pode subsana los lo an es posible.
Pos e io men e, con odos los elemen os ya unidos, abajamos de o ma conjun a
pa a lle a a cabo la in e acción Ga eway-b oke MQTT, y a su ez, ap ende a abaja con
el clien e ThingsBoa d. Pa a lo cual ue necesa ia la colabo ación con el di ec o del TFG,
José Ignacio Gómez, que nos p opo cionó el pode usa dicha pla a o ma en un se ido
ísico de la Facul ad de Ciencias Físicas de la UCM.
Po úl imo, en la ec a inal del p oyec o, I án Ga cía con inuó dando los úl imos
e oques a la aplicación so wa e mien as que F ancisco José Hinojosa se cen ó más en la
labo de documen ación de es e p oyec o. Pa a, inalmen e, colabo a nue amen e
ealizando el análisis de iempos de ejecución de la aplicación conjun amen e y, conclui
es a documen ación ambién de mane a conjun a. Des acando nue amen e el papel de los
di ec o es de es e T abajo de Fin de G ado, que ealiza on e isiones sucesi as del
documen o y, nos ayuda on a pode comple a lo de una mane a más co ec a.
52
Conclusiones
El p oyec o se p esen ó como el desa ollo y despliegue de una ed de nodos
sola es au ónomos, y as la esolución del p oyec o, podemos conclui que se ha
conseguido algún nodo au ónomo p epa ado pa a su despliegue en un en o no eal.
A lo la go de la ealización de es e abajo se p esen a on algunos p oblemas,
debido a los ecu sos limi ados de los que se dispone en el nodo sola .
El p oblema más impo an e al que nos en en amos ue la escasa can idad de
memo ia RAM de la que se dispone en la placa LoPy, as la ins alación de su i mwa e, y
cuya esolución ocupó g an pa e del iempo dedicado a es e p oyec o.
Una ez que es e p oblema quedó subsanado, descub imos que los en íos
pe iódicos de mues as no se ealizaban en las ecuencias de en ío deseadas. Pa a
conoce el o igen de dichos e asos se pasó a la ealización de un análisis de iempos de
ejecución pa a los p ocesos de ecogida de las dis in as mues as y de su pos e io en ío.
T as es o, llegamos a la conclusión de que el e aso se es aba p oduciendo en la c eación
y en ío de los paque es de da os de las mues as, lo que nos lle ó a ealiza modi icaciones
en la implemen ación de la ecogida y en ío de mues as.
Pa a ealiza el en ío de mues as desde los nodos sola es a un ga eway ce cano,
se u iliza conexión LoRa ya que nos o ece en ajas como un bajo consumo, conexión de
la go alcance y un uso público de mane a g a ui a sin susc ipción a un ope ado . En cambio,
LoRa o ece un bajo ancho de banda, quedando su uso limi ado po las agencias
egulado as de cada egión.
Una posible con inuación del p oyec o se pod ía encamina hacia el desa ollo de un
nue o se icio pa a la ges ión de la ba e ía, pudiendo egula el encendido o apagado de un
nodo en unción de la can idad de ba e ía disponible.
Además, se pod ía ealiza un es udio ene gé ico que pe mi iese ob ene una isión
más cla a de la in luencia del powe Pin en el consumo ene gé ico pa a cie o ango de
ecuencias de mues eo. Valo ando un diseño al e na i o pa a ob ene un mayo aho o de
ene gía.
Asimismo, cabe eco da que con el diseño de es e p oyec o queda habili ada la
posibilidad de pode comunica se con un nodo de mane a emo a desde el ex e io . Pa e
que pod ía implemen a se en un nue o abajo.
Po úl imo, con es e p oyec o ya se ob ienen las mues as necesa ias pa a el diseño
de un modelo p edic i o de adiación sola a co o plazo, lo que pe mi e la e olución del
p oyec o gene al.
53
Conclusions
The p ojec was p esen ed as he de elopmen and deploymen o a au onomous
sola nodes ne wo k, and a e he esolu ion o he p ojec , we can conclude ha an
au onomous sola node p epa ed o i s deploymen in a eal en i onmen has been
achie ed.
Th oughou he ealiza ion o his wo k some p oblems a ose, due o he limi ed
esou ces a ailable in he sola node.
The mos impo an p oblem we aced was he small amoun o RAM ha is a ailable
on he LoPy boa d, a e he ins alla ion o i s i mwa e, and whose esolu ion ook up a lo o
he ime dedica ed o his p ojec .
Once his p oblem was co ec ed, we disco e ed ha pe iodic sample shipmen s
we e no made a he desi ed deli e y equencies.
In o de o know he o igin o hese delays, an execu ion ime analysis was ca ied
ou o he collec ion p ocesses o he di e en samples and hei subsequen deli e y.
A e his we came o he conclusion ha he delay was occu ing in he c ea ion and
sending o he da a packages o he samples, which led us o make changes in he
implemen a ion o he collec ion and shipmen o samples.
To send samples om he sola nodes o a nea by ga eway, LoRa connec ion is
used as i o e s ad an ages such as low consump ion, long- ange connec ion and public
use o ee wi hou subsc ip ion o an ope a o . In con as , LoRa o e s low bandwid h, i s
use being limi ed by he egula o y agencies o each egion.
A possible con inua ion o he p ojec could be di ec ed owa ds he de elopmen o a
new se ice o he managemen o he ba e y, being able o egula e he u ning on o
u ning o o a node depending on he amoun o a ailable ba e y.
In addi ion, an ene gy s udy could be ca ied ou o ob ain a clea e ision o he
in luence o powe Pin on ene gy consump ion o a ce ain ange o sampling equencies.
Valuing an al e na i e design o ob ain g ea e ene gy sa ings.
Also, emembe ha wi h he design o his p ojec enables he possibili y o
communica e wi h a node emo ely om he ou side. Pa ha could be implemen ed in a
new job.
Finally, wi h his p ojec , he necessa y samples a e al eady ob ained o he design
o a sho - e m p edic i e sola adia ion model, which allows he e olu ion o he gene al
p ojec .
60