scieee Science in your language
[sp] (orig)

Exploración de las redes Mesh LoRa y sus servicios con LoRaMesher

Author: Calleja Álvarez, Marcel
Publisher: Universitat Politècnica de Catalunya
Year: 2025
Source: https://upcommons.upc.edu/bitstream/2117/428593/2/191953.pdf
id191953
EXPLORACIÓN DE LAS REDES MESH LORA YSUS SERVICIOS CON LORAMESHERMARCEL CALLEJA ÁLVAREZ
Di ec o /a
FELIX FREITAG(Depa amen ode A qui ec u ade Compu ado es)
Ti ulación
G ado en Ingenie ía In o má ica (Tecnologías de lain o mación)
Memo ia del abajo de in de g ado
Facul a d'In o mà ica de Ba celona (FIB)
Uni e si a Poli ècnica de Ca alunya (UPC) - Ba celonaTech
Resumen
El p oyec o i ulado Explo ación de las edes mesh LoRa y sus se icios
con LoRaMeshe iene como obje i o p incipal analiza y mejo a la uncionalidad
de la lib e ía LoRaMeshe , que pe mi e implemen a edes mesh basadas en ecnolo-
gía LoRa. Es as edes son ele an es po su bajo consumo de ene gía y la go alcance,
ideales pa a aplicaciones IoT en en o nos complejos. A a és de la c eación de una
he amien a de T ace ou e, el p oyec o busca u iliza es a he amien a pa a e alua
las mé icas de en u amien o, ayudando a diagnos ica y moni o iza la ges ión del
á ico en es as edes. Además, se abo dan aspec os écnicos como el diseño de pa-
que es, las ablas de en u amien o y las a eas de ges ión. El esul ado del abajo
es una he amien a T ace ou e de código abie o, que se in eg a en LoRaMeshe y
un es udio inicial sob e su uncionamien o.
2
Resum
El p ojec e i ula Explo ació de les xa xes mesh LoRa i els seus se eis
amb LoRaMeshe é com a objec iu p incipal anali za i millo a la uncionali-
a de la llib e ia LoRaMeshe , que pe me implemen a xa xes mesh basades en
ecnologia LoRa. Aques es xa xes són elle an s pel baix consum d’ene gia i lla g
abas , ideals pe a aplicacions IoT en en o ns complexos. A a és de la c eació
d’una eina de T ace ou e, el p ojec e ce ca u ili za aques a eina pe a alua les mè-
iques d’encaminamen , ajudan a diagnos ica i moni o i za la ges ió del ànsi
en aques es xa xes. A més, s’abo den aspec es ècnics com el disseny de paque s,
les aules d’encaminamen i les asques de ges ió. El esul a del eball és una eina
T ace ou e de codi obe , que s’in eg a a LoRaMeshe i un es udi inicial sob e el seu
uncionamen .
3
Abs ac
The main objec i e o he p ojec i led Explo ing LoRa mesh ne wo ks and
hei se ices wi h LoRaMeshe is o analyze and imp o e he unc ionali y o
he LoRaMeshe lib a y, which allows implemen ing mesh ne wo ks based on LoRa
echnology. These ne wo ks a e ele an due o hei low ene gy consump ion and
long ange, ideal o IoT applica ions in complex en i onmen s. Th ough he c ea ion
o a T ace ou e ool, he p ojec seeks o use his ool o e alua e ou ing me ics,
helping o diagnose and moni o a ic managemen in hese ne wo ks. Addi ionally,
echnical aspec s such as package design, ou ing ables, and managemen asks a e
co e ed. The esul o he wo k is an open sou ce T ace ou e ool, which is in eg a ed
in o LoRaMeshe and an ini ial s udy on i s ope a ion.
4
Tabla de Con enidos
1. In oducción 8
1.1. In oducción y Con ex o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1. Con ex ualización............................ 8
1.2. Jus i icación................................... 9
1.2.1. Rele ancia del p oyec o . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.2. Soluciones ya exis en es . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. Alcance ..................................... 10
1.3.1. Obje i os ................................ 10
1.3.2. Sub-obje i os .............................. 11
1.3.3. Reque imien os ............................. 11
1.4. Me odologíayMedios ............................. 11
1.4.1. Me odología............................... 11
1.4.2. Medios.................................. 11
2. Plani icación Tempo al 13
2.1. Ges ióndelp oyec o .............................. 13
2.2. In es igación .................................. 14
2.3. Desa ollo del P oyec o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4. Recu sos..................................... 16
3. Sos enibilidad y P esupues o 17
3.1. Sos enibilidad.................................. 17
3.1.1. Planosocial............................... 17
3.1.2. Planoambien al............................. 18
3.1.3. Planoeconómico ............................ 18
3.2. P esupues o................................... 18
3.2.1. Iden i icación y es imación de los cos es . . . . . . . . . . . . . . . . 18
3.2.2. Con oldeges ión ........................... 20
4. S ack Tecnológico 21
4.1. En o nodep uebas............................... 21
4.2. PlacasT-BEAM ................................ 21
4.3. LoRaCha amewo k.............................. 22
4.4. Lib e íaLoRaMeshe .............................. 22
4.5. EMQXB oke .................................. 23
5. C eación de una app con LoRaCha 24
5.1. Es uc u a básica pa a c ea una aplicación . . . . . . . . . . . . . . . . . 24
5.2. Con igu ación e in eg ación . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.3. Comunicación de LoRaCha con el ex e io . . . . . . . . . . . . . . . . . . 25
5.3.1. Flujo de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3.2. Bene icios del en oque . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.4. Comunicación en e LoRaCha y LoRaMeshe . . . . . . . . . . . . . . . . 28
5.4.1. P incipales unciones de LoRaMeshSe ice . . . . . . . . . . . . . . 28
5.4.2. In eg ación con LoRaCha . . . . . . . . . . . . . . . . . . . . . . . 28
5.4.3. Ven ajas................................. 29
5

6. Análisis de LoRaMeshe 30
6.1. Tecnologias de comunicación en LoRa . . . . . . . . . . . . . . . . . . . . . 30
6.1.1. LoRaWAN................................ 30
6.1.2. LoRaMesh ............................... 31
6.2. Es uc u a de los paque es . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.2.1. Tiposdepaque es............................ 33
6.2.2. Segmen ación de da os g andes . . . . . . . . . . . . . . . . . . . . 34
6.3. Colasdepaque es................................ 35
6.3.1. Es uc u a gene al de las colas . . . . . . . . . . . . . . . . . . . . . 36
6.3.2. Tiposdecolas.............................. 36
6.4. Ta easdeLoRaMeshe ............................. 37
6.4.1. Relación en e las a eas y las colas . . . . . . . . . . . . . . . . . . 39
7. In oducción de la he amien a T ace ou e 40
7.1. DiseñodelT ace ou e.............................. 41
8. Desa ollo del T ace ou e 43
8.1. Aplicación de LoRaCha . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.1.1. Es uc u a de los mensajes . . . . . . . . . . . . . . . . . . . . . . . 44
8.1.2. Comandos de la aplicación . . . . . . . . . . . . . . . . . . . . . . . 45
8.2. Implemen ación en LoRaMeshe . . . . . . . . . . . . . . . . . . . . . . . . 46
8.2.1. Paque es T ace ou e . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.2.2. Llamada de T ace ou e . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.2.3. P ocesado de paque es T ace ou e . . . . . . . . . . . . . . . . . . . 50
9. E aluación de edes con T ace ou e 53
9.1. He amien as necesa ias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.2. E aluación con la mé ica Fi s -Hop . . . . . . . . . . . . . . . . . . . . . . 55
9.2.1. Expe imen o con dos nodos . . . . . . . . . . . . . . . . . . . . . . 57
9.2.2. Expe imen o con es nodos . . . . . . . . . . . . . . . . . . . . . . 58
9.2.3. Expe imen o de es nodos . . . . . . . . . . . . . . . . . . . . . . . 59
9.3. Conclusiones de la e aluación . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.3.1. Re lexión y pe spec i as u u as . . . . . . . . . . . . . . . . . . . . 63
10.Conclusiones y Re lexiones 64
10.1.Log osconseguidos ............................... 64
10.2. Di icul ades encon adas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.2.1. Di icul ades en el desa ollo de T ace ou e . . . . . . . . . . . . . . 65
10.2.2. Di icul ades en la e aluación . . . . . . . . . . . . . . . . . . . . . . 66
10.3.Di ecciones u u as ............................... 66
10.4.Re lexiones inales................................ 67
11.In o me de sos enibilidad 68
11.1.Planoambien al................................. 68
11.2.Planoeconómico ................................ 68
11.3.Planosocial................................... 68
12.Té minos y Concep os 70
6
Lis a de Figu as
1. Diag amadeGan ............................... 15
2. PlacasLoRaT-BEAM ............................. 22
3. A qui ec u a del b oke EMQX. Fuen e . . . . . . . . . . . . . . . . . . . . 23
4. Mensaje de espues a de la aplicación de empe a u a . . . . . . . . . . . . 26
5. Mensaje pa a encende un led en el nodo 1234 . . . . . . . . . . . . . . . . 27
6. A qui ec u a LoRaWAN. Fuen e . . . . . . . . . . . . . . . . . . . . . . . . 31
7. Ejemplo de ed LoRa mesh. Fuen e . . . . . . . . . . . . . . . . . . . . . . 31
8. Es uc u a del paque e LoRa y LoRaMeshe . Fuen e . . . . . . . . . . . . . 32
9. Es uc u a del paque e de da os g ande. Fuen e . . . . . . . . . . . . . . . 34
10. Diag ama de la a ea de en ío. Fuen e . . . . . . . . . . . . . . . . . . . . 38
11. Ejemplo de T ace ou e en edes con encionales donde se indica la di ección
de un nodo des ino y se ob iene los nodos po los que pasa has a llega al
des ino. ..................................... 40
12. Mé odo pa a inicia el T ace ou e desde la aplicación de LoRaCha . . . . 43
13. Es uc u a del mensaje JSON de en ío . . . . . . . . . . . . . . . . . . . . 44
14. Es uc u a del mensaje JSON de espues a . . . . . . . . . . . . . . . . . . 45
15. Mé odo que con iene los comandos que se pueden ealiza en la aplicación
deT ace ou e .................................. 45
16. Tipos de paque es en LoRaMeshe . . . . . . . . . . . . . . . . . . . . . . 46
17. Paque e de con ol en LoRaMeshe . . . . . . . . . . . . . . . . . . . . . . 46
18. Paque edeT ace ou e ............................. 47
19. Mé odo pa a c ea un paque e de T ace ou e . . . . . . . . . . . . . . . . . 47
20. C eación y en ío del p ime paque e . . . . . . . . . . . . . . . . . . . . . . 48
21. Ges ión de paque es de T ace ou e po el nodo o igen . . . . . . . . . . . . 49
22. Caso donde el paque e ha eg esado al nodo o igen . . . . . . . . . . . . . 51
23. Caso donde el paque e ha llegado a un nue o nodo . . . . . . . . . . . . . 51
24. Caso donde el paque e ha llegado a un nue o nodo . . . . . . . . . . . . . 52
25. Mé odo pa a c ea opologías po código . . . . . . . . . . . . . . . . . . . 54
26. Mé odo pa a publica el mensaje de T ace ou e . . . . . . . . . . . . . . . 55
27. Mé odo que ecibe el esul ado del T ace ou e . . . . . . . . . . . . . . . . 55
28. Diag ama del expe imen o de dos nodos . . . . . . . . . . . . . . . . . . . 57
29. Mé odo pa a c ea la opología del segundo expe imen o . . . . . . . . . . 58
30. Diag ama del expe imen o de dos nodos . . . . . . . . . . . . . . . . . . . 59
31. Ejecución allida de T ace ou e . . . . . . . . . . . . . . . . . . . . . . . . 59
32. Logs del nodo A, co espondien es a los dos p ime os paque es . . . . . . . 60
33. Logs de los nodos 0x79C8 y 0x7B8C, paque e inespe ado . . . . . . . . . . 61
34. E o po una excepción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Lis a de Tablas
1. Sala iosmedios ................................. 19
2. Cos esdelP oyec o............................... 19
3. Desc ipción de lags de paque es . . . . . . . . . . . . . . . . . . . . . . . . 33
4. Ven ajas y des en ajas de cada es a egia. . . . . . . . . . . . . . . . . . . 42
7
1. In oducción
1.1. In oducción y Con ex o
En el ámbi o de las elecomunicaciones, las edes de la go alcance y bajo consumo ene -
gé ico han adqui ido una impo ancia cada ez mayo , especialmen e en aplicaciones e-
lacionadas con el In e ne o Things (IoT). Den o de es e ma co, LoRa (Long Range) es
una ecnología de modulación inalámb ica que ha ganado popula idad po su capacidad
pa a ansmi i da os a la gas dis ancias con un consumo de ene gía ela i amen e bajo,
lo que la con ie e en una opción ideal pa a disposi i os IoT que equie en conec i idad
en á eas emo as o con limi aciones ene gé icas.
LoRa se ca ac e iza po su capacidad pa a cub i g andes á eas geog á icas con bajos
cos os de implemen ación y man enimien o. Es o ha impulsado su adopción en múl iples
sec o es, como la ag icul u a, las ciudades in eligen es y la moni o ización ambien al, don-
de los disposi i os deben comunica se a la gas dis ancias con una in aes uc u a mínima.
Sin emba go, LoRa, en su implemen ación más adicional llamada LoRaWAN (Low Po-
we Wide A ea Ne wo k), es á limi ado po una a qui ec u a basada en edes de ipo
á bol, donde los disposi i os inales se comunican di ec amen e con una es ación base o
ga eway. Es e en oque puede gene a ine iciencias cuando se a a de edes más g andes
o dis ibuidas en á eas complejas geog á icamen e, ya que la comunicación depende en e-
amen e de la disponibilidad del ga eway.
Pa a supe a es as limi aciones, han su gido soluciones como LoRa Mesh, que pe mi e
la c eación de edes malladas o dis ibuidas, donde los disposi i os pueden ac ua an o
como nodos inales como in e medios, ex endiendo el ango de comunicación y p opo cio-
nando edundancia.
Es e abajo iene como obje i o analiza en p o undidad la solución de edes mesh LoRa
implemen ada en la lib e ía LoRaMeshe , iden i icando sus ca ac e ís icas, limi aciones
y posibles mejo as a a és de la c eación de nue as he amien as de e aluación y simu-
lación. Además, se explo a án y compa a án di e en es mé icas de en u amien o pa a
e alua el endimien o de las edes mesh LoRa.
1.1.1. Con ex ualización
Es e es el p oyec o inal del G ado de Ingenie ía In o má ica de la Facul ad de In o má ica
pe enecien e a la Uni e sidad Poli écnica de Ca aluña.
Es e p oyec o especializado en Tecnologías de la In o mación busca abo da un conjun o
de compe encias écnicas elacionadas con la especialidad. En e las cuales se encuen an
8
concep os de ecnologías de edes de compu ado es, e aluación de endimien o de dis in-
as ecnologías de comunicación y concep os de sis emas ope a i os.
Es e p oyec o se ealiza ue a de los ma cos de una emp esa, sin emba go se ealiza en el
con ex o de un equipo de in es igación de la UPC en ocado en la implemen ación de una
lib e ía que implemen e una ed Mesh en LoRa, cuyos in eg an es son el di ec o de es e
p oyec o, Felix F ei ag, y Joan Miquel Solé, el desa ollado de LoRaMeshe .
1.2. Jus i icación
1.2.1. Rele ancia del p oyec o
Es e p oyec o iene una ele ancia signi ica i a al abo da la mejo a y e aluación de p o-
ocolos de en u amien o en edes mesh LoRa. Las edes de baja po encia y la go alcance,
como LoRa, son undamen ales en el desa ollo de soluciones IoT en á eas u ales o de
di ícil acceso. La op imización de LoRaMeshe a a és de nue as he amien as, como la
inco po ación de T ace ou e, pe mi i á ealiza un análisis más de allado del endimien o
y mejo a la ges ión del en u amien o en es as edes. Es as mejo as no solo con ibui án
al aumen o de la e iciencia y la capacidad de la ed, sino ambién a la acele ación del
desa ollo de nue as aplicaciones basadas en es a ecnología.
1.2.2. Soluciones ya exis en es
En la ac ualidad, no exis e una compa ación exhaus i a en e los p o ocolos de en u a-
mien o en edes mesh adap adas a la ecnología LoRa. Si bien exis en soluciones mesh
como Zigbee, Z-Wa e, Th ead, Blue oo h Mesh y Wi-Fi Mesh, odas ellas es án diseñadas
pa a aplicaciones especí icas con di e en es en oques ecnológicos y limi aciones, en pa -
icula en cuan o a consumo ene gé ico, cobe u a y capacidad de ansmisión de da os.
Po ejemplo, Zigbee y Z-Wa e, aunque muy e icaces en edes de au oma ización del ho-
ga , p esen an limi aciones en é minos de alcance en compa ación con LoRa. Asimismo,
ecnologías como Th ead y Blue oo h Mesh, a pesa de se e icien es ene gé icamen e, no
es án op imizadas pa a escena ios de la go alcance y baja po encia como los que cub e
LoRa.
LoRaMeshe , po su pa e, se especializa en edes de la go alcance con un en oque en
IoT u al o indus ial, donde o as ecnologías mesh no esul an iables debido a sus
ca ac e ís icas. Además, no se ha encon ado has a la echa una solución de e aluación
del endimien o basada en una he amien a de T ace ou e en edes mesh LoRa, lo que
e ue za la necesidad de es e p oyec o. La inclusión de es a uncionalidad en LoRaMeshe
pe mi i á ealiza análisis más p o undos sob e la la encia y la e iciencia del en u amien o,
aspec os c í icos en aplicaciones IoT que equie en un con ol igu oso del á ico de da os
en g andes á eas geog á icas.
9
2.4. Recu sos
Los ecu sos humanos que dispone es e p oyec o son muy limi ados y po esa azón la
mayo ía de oles del p oyec o se án omados po la misma pe sona, su au o , en e los
cuales se encuen a el de je e de p oyec o, in es igado y e aluado del p oyec o. También
se iene en cuen a el ol de di ec o de p oyec o que lo ealiza á Felix F ei ag.
En cuan o a los ecu sos ma e iales que se usa án en el p oyec o, se encuen an las he-
amien as pa a la o ganización y ges ión: Google Mee , Google calenda , Google D i e
y lib e as pa a oma apun es. Admás ambién se incluyen las he amien as usadas pa a
el desa ollo en e las cuales se encuen an las de p og amación: pla o mio y edi o de
ex o, y inalmen e las placas TTGO pa a ejecu a Lo aMeshe .
16

3. Sos enibilidad y P esupues o
3.1. Sos enibilidad
En elación a la encues a del p oyec o EDINSOST2-ODS se ha llegado a cie as conclu-
siones sob e los conocimien os en elación con la sos enibilidad en los planos económico,
ambien al y social, que a ec an en el campo de la in o má ica.
Como esumen, hay que ene en cuen a cie as conside aciones y conclusiones que nos
ha dejado la encues a. P ime amen e cabe des aca que en el plano social, ya sea desde la
educación de la uni e sidad como en la educación más cul u al, conside o que exis e cie a
concienciación sob e los alo es é icos y que sí se ha hecho hincapié en la impo ancia de
los p oduc os in o má icos é icos y accesibles. A su ez en el plano ambien al, a pesa
de que conside o es a concienciado de la impo ancia del impac o ambien al, ambién
conside a que le al an he amien as pa a sabe cuan i ica lo y e alua lo en un p oyec o
eal.
Po o a pa e, conside o que cuen a con la p epa ación adecuada pa a pode medi el
plano económico, an o una es imación de los cos es del p oyec o como un p esupues o
del mismo.
En gene al conside o, en el momen o de hace la encues a, que se ienen conocimien-
os su icien es en elación a las p oblemá icas de sos enibilidad, pe o al a el conocimien o
de he amien as e indicado es, al menos en más de alle, pa a pode hace un es udio en
de alle sob e cie os aspec os de la sos enibilidad como el ambien al.
3.1.1. Plano social
A ni el pe sonal c eo que puedo ob ene p ime o de odo conocimien os sob e una nue a
ecnología que no he abajado nunca como es LoRa mesh, y más en de alle sob e cómo
uncionan los p o ocolos de en u amien o en su o ma más básica, en su implemen a-
ción. Además c eo que puedo ob ene mucha expe iencia an o en pa icipa en p oyec os
donde el ni el de abs acción es muy bajo, como en la e aluación de algo i mos o mé icas.
En cuan o a las soluciones que c eo que apo a á es e p oyec o, son p ime amen e apo -
a en un p oyec o que es inno ado , ya que no exis en p oduc os de so wa e lib e que
p opo cionen las mismas soluciones, y además c eo que las apo aciones se án esenciales
pa a la e aluación del endimien o del p oduc o. En gene al c eo que el hecho de apo a
a un p oyec o de so wa e lib e una solución que ayude a mejo a su endimien o, es el
alo eal que iene es e p oyec o.
17
3.1.2. Plano ambien al
En cuan o al impac o ambien al de es e p oyec o, es e se cen a p incipalmen e en la pa e
de la e aluación de las mé icas de en u amien o, donde se necesi a á hace simulaciones
del so wa e pa a pode compa a los algo i mos. Po lo an o el impac o ambien al que
end á es e p oyec o se á básicamen e el gas o de ene gía eléc ica que end án los nodos
de Lo a o placas TTGO.
En ese aspec o se end á en cuen a el gas o de ene gía que equie en las simulaciones y de-
bido a ello se in en a á educi su núme o, asegu ándose p ime amen e ene un p oduc o
de so wa e pulido. Además ambién se iene en cuen a el uso de p oduc os in o má icos
como las placas Lo a, y po ello hemos op ado po u iliza placas ya comp adas en años
an e io es y usadas en p oyec os an e io es.
3.1.3. Plano económico
En é minos económicos, el p oyec o iene un en oque o ien ado a la op imización de ecu -
sos ya disponibles, lo que implica un bajo cos o de implemen ación. Los gas os p incipales
es a án asociados a el ha dwa e necesa io y la ene gía. Sin emba go, pa a mi iga cos os,
se ecu i á a la eu ilización de componen es, como las placas Lo a/TTGO, adqui idas
en años an e io es pa a o os p oyec os.
Los cos os de ene gía eléc ica gene ados po las simulaciones ambién son una pa e
ele an e en el p esupues o. No obs an e, se ha planeado minimiza el núme o de simu-
laciones median e una ase de p uebas p elimina es que pe mi an a ina el so wa e y
asegu a se de su uncionalidad an es de ealiza simulaciones a g an escala. Finalmen e
el úl imo aspec o económico a conside a es el iempo de abajo in e ido po los miem-
b os del equipo de desa ollo. Aunque no se p e é la con a ación de pe sonal ex e no, se
alo a á el iempo dedicado a cada una de las ases del p oyec o pa a una ges ión e icien e.
3.2. P esupues o
3.2.1. Iden i icación y es imación de los cos es
En es a sección se iden i ica án odos los elemen os den o de la es imación de un p esu-
pues o. En e es os elemen os pod emos e dis in os g upos en e los que se encuen an:
cos es de pe sonal po ac i idad (CPA), cos es gene ales (CG), las con ingencias, y los
imp e is os.
Con el obje i o de pode calcula los cos es de pe sonal po ac i idad, debemos an es
e los p ecios de los sala ios po ho a de cada uno de los ipos de pe sonal. Pa a ello
18
nos cen a emos en los sala ios medios de cada uno de los oles en la egión de Ba celona
según el si io web Glassdoo .
Rol Cos e (€/h)
Je e de P oyec o 17,7
Desa ollado C junio 12,5
Cuad o 1: Sala ios medios
Además como ya se ha mencionado enemos que añadi el cos e de las con ingencias pa a
cub i a iaciones en las es imaciones y si uaciones no imp e is as. Al se un cos e gené-
ico se calcula como un po cen aje del cos e o al del p oyec o. Pond emos un 15 % como
alo ípico de con ingencia en un p oyec o in o má ico.
Ac i idad Cos e(€) Obse aciones
GP1 (Ges ión de p oyec o) 354 Je e de p oyec o 20 ho as
GP2 (Con ex ualización y alcance) 177 Je e de p oyec o 10 ho as
GP3 (Plani icación empo al) 177 Je e de p oyec o 10 ho as
GP4 (En ega inal) 177 Je e de p oyec o 10 ho as
GP5 (Reuniones con el di ec o ) 354 Je e de p oyec o 20 ho as
GP6 (Redacción de la memo ia) 1062 Je e de p oyec o 60 ho as
GP7 (P epa ación de la de ensa) 354 Je e de p oyec o 20 ho as
I1 (In es igación en ono de abajo) 500 Desa ollado en C 40 ho as
I2 (In es igación e aluación) 625 Desa ollado en C 50 ho as
DP1 (Ins alación SW y HW) 187.5 Desa ollado en C 15 ho as
DP2 (Desa ollo de la he amien a) 1000 Desa ollado en C 80 ho as
DP3 (Desa ollo de la e aluación) 1125 Desa ollado en C 90 ho as
To al CPA 6092.5
Placas TTGO x4 174 43.50€x 4 placas
Po á il 600 Po a il pe sonal
So wa e pa a p og ama - G a ui o
He amien as de so wa e de p oyec-
o
- G a ui as
In e ne 150 + Es imación basada en una
conexión de 300 Mbps
Elec icidad 49 + Es imación supe icial
To al CG 974
Con ingencias 1059.9 Má gen de con ingencia del
15 %
TOTAL 8126.5
Cuad o 2: Cos es del P oyec o
19
3.2.2. Con ol de ges ión
A lo la go del p oyec o, se implemen a án mecanismos de moni o eo y e aluación pe ió-
dica que pe mi i án iden i ica cualquie des iación de las expec a i as iniciales y oma
acciones co ec i as de mane a opo una. El seguimien o se ealiza á semanalmen e a a-
és de euniones de con ol, donde se e alua án los a ances del p oyec o y se analiza án
los indicado es cla e. Cada ase del p oyec o se á e isada al conclui , pa a e i ica el uso
de los ecu sos y el cumplimien o de los plazos.
Indicado es de Con ol:
1. Des iación de ho as del p oyec o: Es e indicado mide la di e encia en e las
echas p og amadas pa a cada ase o a ea y las echas eales de inalización. Pe mi e
de ec a e asos y oma medidas co ec i as.
Des iación de iempo = Fecha es imada de inalización - Fecha eal de inalización
2. Des iación de cos os del p oyec o: Es e indicado mide la compa ación en e
el p esupues o es imado pa a el p oyec o y los cos os eales incu idos has a el
momen o. Ayuda a iden i ica sob ecos es o aho os inespe ados.
Des iación de ho as de abajo = Ho as es imadas - Ho as eales abajadas
3. Des iación en el uso de pe sonal: E alúa el uso eal de ho as de abajo en
compa ación con las ho as es imadas pa a cada a ea. Pe mi e con ola la e iciencia
del pe sonal y ajus a los ecu sos si es necesa io.
Des iación de ho as de abajo = Ho as es imadas - Ho as eales abajadas
4. Con ol de p oduc i idad: Relación en e el a ance en la ejecución de a eas y
el uso de ecu sos (cos os y iempo). Es e indicado e alúa la e iciencia del equipo
y del p oceso de abajo.
P oduc i idad = (Ta eas comple adas / Ta eas plani icadas) ∗100
20
4. S ack Tecnológico
La siguien e sección se cen a á en desc ibi las ecnologías an o so wa e como ha dwa e,
de las cuales ha á uso el p oyec o. Sin emba go en ez de cen a nos en las he amien as
que se u iliza án pa a lle a a cabo el desa ollo, de las cuales ya hemos hablado, nos
cen a emos en las he amien as que o man pa e del p oyec o y le dan o ma, el s ack
ecnológico. Además en es a sección se jus i ica á el uso de cada una de ellas den o del
p opio s ack.
4.1. En o no de p uebas
An es de en a a desc ibi cada una de las ecnologías especí icamen e, cabe p ime a-
men e explica el en o no donde se lle a án a cabo las simulaciones y p uebas, y donde
pa icipa án cada una de las ecnologías que desc ibi emos en los siguien es pun os. Como
elemen os ha dwa e end emos las placas T-BEAM en es e caso es, ya que son las que
enemos disponibles, y se án los nodos que o ma án nues a ed mesh. A su ez, cada una
de es as placas debe á ene ca gado el código de LoRaMeshe (a a és de la amewo k
LoRaCha o po si solo) pa a pode o ma pa e de una ed como nodo. Además, en
el caso de se el nodo ga eway de la ed, una de es as placas es a á conec ada a in e ne
a a és del b oke EMQX, de es a o ma, si que emos p oba el T ace ou e ue a de las
placas, se ha á a a és del b oke MQTT.
4.2. Placas T-BEAM
Como ya hemos mencionado an e io men e en la sección 5, las placas que usa emos en el
p oyec o se án las Lilygo T-BEAM 1.1. Es as placas con ienen a ios módulos impo -
an es en una misma unidad. Los p incipales componen es incluyen:
Módulo LoRa de 868 MHz: Es e módulo pe mi e la comunicación inalámb ica
de la go alcance en e nodos, una ca ac e ís ica esencial pa a nues a ed mesh.
ESP32 con WiFi y Blue oo h: El p ocesado ESP32 pe mi e an o la p og ama-
ción de las uncionalidades de ed como la in e acción median e Blue oo h o WiFi,
o eciendo lexibilidad pa a p uebas y con igu aciones adicionales.
Pan alla OLED: La pan alla in eg ada acili a la isualización en iempo eal de
in o mación c í ica, como el es ado de las ablas de en u amien o, los mensajes
ansmi idos y el es ado del nodo.
Es as placas han sido seleccionadas debido a su capacidad pa a in eg a los módulos men-
cionados en un diseño compac o, lo que las hace ideales pa a p oyec os de IoT y edes
de malla. Además, su bajo cos o y acilidad de p og amación aumen an su con eniencia
pa a es e ipo de aplicaciones.
21

Figu a 2: Placas LoRa T-BEAM
4.3. LoRaCha amewo k
LoRaCha es un amewo k u ilizado pa a c ea aplicaciones que usen LoRaMeshe desde
la capa de aplicación, sin ene conocimien o de las capas in e io es. Es e amewo k hace
uso de de la lib e ía LoRaMeshe pa a ob ene in o mación de los nodos de la ed LoRa.
En el con ex o de nues o p oyec o es e amewo k nos pe mi i á c ea una aplicación
de T ace ou e, que nos si a de abs acción de la uncionalidad de T ace ou e y de es a
mane a nos pe mi a hace p uebas.
En el con ex o de nues o p oyec o, LoRaCha pe mi i á:
C ea una aplicación de T ace ou e: Es a aplicación abs ae á la uncionalidad de
T ace ou e, pe mi iendo ejecu a p uebas de conec i idad en e nodos sin necesidad
de in e acciona di ec amen e con el código base de LoRaMeshe .
Simpli ica las p uebas: G acias a LoRaCha , el iempo de desa ollo y depu ación
se educi á, ya que nos p opo ciona he amien as lis as pa a usa que in e ac úan
con la ed.
En la siguien e sección, se analiza á con mayo p o undidad cómo LoRaCha acili a la
c eación de aplicaciones y sus bene icios especí icos pa a es e p oyec o.
4.4. Lib e ía LoRaMeshe
La lib e ía LoRaMeshe acili a la c eación de edes mesh con disposi i os LoRa, ges-
ionando au omá icamen e el en u amien o en e nodos sin necesidad de in aes uc u a
adicional. En es e p oyec o, LoRaMeshe pe mi i á que los nodos T-BEAM se comuniquen
e icazmen e, o mando una ed de malla cuyos links es a án de e minados po cie as mé-
icas, que más adelan e e alua emos su co ec o uncionamien o median e el desa ollo
22
de nues a he amien a de T ace ou e den o de la lib e ía. En las p óximas secciones ha-
emos una análisis más p o undo sob e la lib e ía de LoRaMeshe y de cómo añadi emos
la he amien a de T ace ou e.
En es e p oyec o, LoRaMeshe desempeña á las siguien es unciones cla e:
Ges ión del en u amien o: Au oma iza á la comunicación en e nodos, asegu ando
que los da os lleguen a su des ino median e la mejo u a disponible.
Fo mación de la ed de malla: Los nodos T-BEAM se comunica án en e sí u ilizando
enlaces de e minados po mé icas con igu ables, como ue za de la señal o la encia.
Implemen ación de T ace ou e: Se desa olla á una he amien a den o de la lib e ía
pa a e alua el co ec o uncionamien o de la ed, pe mi iendo isualiza la ayec-
o ia de los paque es y de ec a posibles p oblemas.
En las p óximas secciones, explo a emos cómo se in eg a á T ace ou e den o de LoRa-
Meshe y las mejo as que se ealiza án en la lib e ía pa a adap a la a los obje i os del
p oyec o.
4.5. EMQX B oke
EMQX es un b oke MQTT al amen e escalable y con iable diseñado pa a acili a la
ansmisión de mensajes en e disposi i os en iempo eal. Es compa ible con el p o ocolo
MQTT en su o alidad, lo que lo hace ideal pa a aplicaciones de IoT. Den o del con ex o
de es e p oyec o, el b oke EMQX ac úa como el nodo cen al que conec a la ed con el
mundo ex e io , pe mi iendo que los mensajes gene ados en la ed de nodos T-BEAM
puedan se en iados y ecibidos desde In e ne .
En la Figu a 3, podemos obse a cómo EMQX ges iona la comunicación en e publishe s
(los nodos que en ían da os) y subsc ibe s (los nodos o aplicaciones que eciben da os),
c eando un en o no e icien e pa a la ansmisión de in o mación.
Figu a 3: A qui ec u a del b oke EMQX. Fuen e
23
5. C eación de una app con LoRaCha
Como ya hemos comen ado LoRaCha es una amewo k que hace uso de LoRaMeshe
pa a pode c ea aplicaciones que hagan uso de una ed mesh LoRa de o ma más ácil,
abs ayendo las capas in e io es pa a cen a se únicamen e en la capa de aplicación.
5.1. Es uc u a básica pa a c ea una aplicación
Pa a pode c ea una aplicación en LoRaCha se necesi a segui una "plan illa"que ma ca
el amewo k. Es a plan illa consis e en 4 a chi os cada uno con un p opósi o:
app.cpp y app.h Es os a chi os con end án po un lado la lógica de la aplicación, y
po o o los mé odos gené icos que llama á LoRaCha cuyos obje i os son: encende
y apaga la aplicación, ob ene el mensaje pe sonalizado que gene a á la app (del
que se habla á más adelan e) y p ocesa un mensaje ecibido.
appCommandSe ice.cpp y appCommandSe ice.h Es os a chi os se án los
enca gados de añadi las u as que pod emos u iliza pa a ejecu a nues a aplica-
ción, a a és de un MQTT subsc ibe .
appMessage.h Es e a chi o con end á los mé odos pa a se ializa y dese ializa
el mensaje pe sonalizado de nues a app, y pode así en ia lo y ecibi lo a a és de
MQTT.
5.2. Con igu ación e in eg ación
Una ez c eados los a chi os mencionados, los siguien es pasos son necesa ios pa a in e-
g a la aplicación con el sis ema LoRaCha :
1. Ac i ación en con ig.h:La aplicación debe se habili ada explíci amen e en el
a chi o con ig.h del p oyec o. Es o asegu a que el amewo k conside e la aplicación
du an e el p oceso de compilación y ejecución. Como en ejemplo de a con inuación
donde se de ine la ac i ación de la aplicación de LED.
1#de ine LED_ENABLED
2. Ins anciación en main.cpp:En el a chi o p incipal del p oyec o, es necesa io
ins ancia la clase co espondien e a la aplicación, llama al mé odo gené ico que la
inicia y asegu a se de que se egis e en los se icios de LoRaCha . A con inuación
se mues a un ejemplo con la aplicación de WIFI.
24
1#p agma egion WiFi
2WiFiSe e Se ice&wiFiSe ice =WiFiSe e Se ice::ge Ins ance();
3
4 oid ini WiFi() {
5wiFiSe ice.ini WiFi();
6}
7#p agma end egion
8--------------------------------------------------------------------------
9manage .addMessageSe ice(&wiFiSe ice);
10 ESP_LOGV(TAG,"WiFi se ice added o manage ");
3. De inición de pue os en da aMessage.h:Cada aplicación en LoRaCha ope a
a a és de un pue o especí ico, de inido en es e a chi o. Es o pe mi e iden i ica
de mane a única las aplicaciones den o del sis ema y asigna les la u a adecuada
pa a la comunicación de mensajes.
La es uc u a modula y basada en plan illas de LoRaCha p esen a a ias en ajas a la
ho a de desa olla una aplicación que haga uso de edes mesh LoRa:
Abs acción: Los desa ollado es pueden cen a se únicamen e en la lógica de su
aplicación, sin p eocupa se po los de alles complejos de la ed mesh.
Escalabilidad: La sepa ación po módulos pe mi e ag ega nue as aplicaciones o
modi ica las exis en es sin a ec a o as pa es del sis ema.
5.3. Comunicación de LoRaCha con el ex e io
La comunicación en e LoRaCha , que se ejecu a en las placas haciendo uso de LoRa-
Meshe , y sis emas ex e nos se ealiza a a és de MQTT, que ac úa como un puen e pa a
conec a el mundo de los disposi i os LoRa, con se icios más con encionales en la nube o
aplicaciones ex e nas. Es e mecanismo ap o echa las ca ac e ís icas obus as y e icien es
de MQTT pa a ga an iza un lujo de da os con iable en e los nodos LoRa y el ex e io . A
con inuación se desc ibi á el lujo de comunicación en e los nodos ga eway y los se icios
ex e io es que demandan in o mación sob e la ed.
5.3.1. Flujo de comunicación
1. Gene ación y ecepción de mensajes en la ed LoRa
LoRaCha , usando LoRaMeshe , in e cambia mensajes en e nodos de una ed
mesh. Cada nodo puede en ia y ecibi da os den o de la ed, donde LoRa-
Meshe se enca ga del en u amien o y la en ega de mensajes en un esquema
mesh.
25
Las p incipales en ajas de es e p o ocolo son la con iabilidad de la ed, ya que los nodos
pueden ene dis in as o mas de llega a su des ino, y po lo an o exis e más edundan-
cia al no es a an cen alizado. O a g an en aja es que podemos aho a ga eways ya
que cualquie nodo puede ac ua como ga eway. Po o o lado al con a io que una ed
WAN, es e ipo de edes no cub en una g an á ea ya que los nodos ienen que es a in e -
conec ados, pa a pode ene disponibilidad al nodo ga eway de la ed, o a des en aja
pod ía se que los nodos LoRa ienen más complejidad ya que cada nodo iene que ene
la in o mación de en u amien o, pa a pode edi igi los paque es que ecibe, aunque la
pa e buena es que se e i an se ido es cen alizados de en u amien o.
T as analiza las p incipales ecnologías de comunicación en LoRa, es e iden e que las
edes mesh des acan po su capacidad de c ea es uc u as descen alizadas y esilien es.
Es as ca ac e ís icas son esenciales en aplicaciones donde la dependencia de ga eways o
se ido es cen alizados esul a in iable, como en á eas emo as o en o nos dinámicos.
En es e con ex o, LoRaMeshe su ge como una he amien a cla e pa a implemen a
edes mesh de o ma e icien e y como hemos mencionado, pa a abs ae la complejidad
del en u amien o y e ansmisión de paque es, pe mi iendo a los desa ollado es cen a se
en las aplicaciones de al o ni el sin p eocupa se po los de alles del p o ocolo.
A con inuación p o undiza emos en el uncionamien o in e no de LoRaMeshe , desglo-
sando cómo ges iona las ablas de en u amien o, los dis in os o ma os de paque es, los
algo i mos de en u amien o, e c.
6.2. Es uc u a de los paque es
Con el obje i o de es uc u a el p o ocolo sob e la capa de LoRa, el paque e p incipal
de LoRaMeshe es á encapsulado en el payload del paque e de LoRa. En ese paque e es
donde LoRaMeshe incluye un heade , en el que se desc ibe un des ino y un o igen (2
By es cada campo), amaño del payload y el ipo de paque e de LoRaMeshe en el que
a con inuación p o undiza emos (1 By e cada campo), y po o o lado el payload donde
cada ipo de paque e añadi á su in o mación necesa ia.
Figu a 8: Es uc u a del paque e LoRa y LoRaMeshe . Fuen e
32

6.2.1. Tipos de paque es
Con el obje i o de di e encia los ipos de paque es den o de LoRaMeshe , el p o ocolo
hace uso de 1 by e en el heade del paque e, que usa como másca a pa a de ini las cua-
lidades de los paque es, es e campo puede oma los siguien es alo es:
Flag del paque e Uso de la lag
HELLO_P Iden i ica un paque e de en u amien o.
DATA_P Iden i ica un paque e de da os es ánda .
XL_DATA_P Iden i ica a un paque e que en ía un agmen o de da os
g andes.
ACK_P Iden i ica a un paque e de con i mación de un agmen o
de da os g andes.
LOST_P Iden i ica a un paque e de no con i mación con o me el
des ino no ha ecibido el paque e.
NEED_ACK_P Iden i ica a un paque e que en ia á un paque e de ACK
cuando sea ecibido.
SYNC_P Iden i ica a un paque e que no i ica el comienzo de ans-
misión de da os g andes.
Cuad o 3: Desc ipción de lags de paque es
LoRaMeshe ges iona a a és de el uso de es as lags, a g andes asgos es ipos de
paque es, los paque es de en u amien o,los paque es de da os ylos paque es de
con ol. Es o es debido a que el p o ocolo que implemen a es p oac i o, eso signi ica que
cada nodo a a de man ene in o mación sob e el en u amien o de oda la ed.
Paque es de en u amien o. Los paque es de en u amien o en LoRaMeshe desempeñan
un papel undamen al en la cons ucción y man enimien o de las ablas de en u amien o
den o de la ed. Es os paque es son en iados pe iódicamen e po odos los nodos de la
ed, con el p opósi o de ac ualiza la in o mación sob e las u as disponibles en cada no-
do. Pa a ello, los paque es de en u amien o u ilizan una di ección de des ino especial, la
di ección de b oadcas 0xFF, que ga an iza que odos los nodos ecinos eciban es os
mensajes y puedan p ocesa los adecuadamen e.
Cada paque e de en u amien o con iene una o a ias en adas de la abla de en u amien o
del nodo emiso . Al ecibi un paque e de es e ipo, el ecep o ealiza los siguien es pasos:
1. Iden i icación del ipo de paque e: El nodo de e mina que se a a de un
paque e de en u amien o g acias al alo en el campo de ipo del encabezado.
2. Ve i icación del nodo emiso : El nodo ecep o comp ueba si la di ección del
emiso ya es á egis ada en su abla de en u amien o. Si la en ada exis e, se ac ua-
lizan los alo es con la in o mación más ecien e. Si no, el nodo emiso es añadido a
la abla de en u amien o del ecep o .
33
3. P ocesamien o de las en adas ecibidas: El nodo ecep o e isa odas las
en adas con enidas en la abla de en u amien o del emiso , añadiendo nue as en-
adas o ac ualizando las exis en es en su p opia abla. Es e p oceso pe mi e que la
in o mación de en u amien o se p opague e icien emen e a a és de la ed, alcan-
zando incluso nodos que no es án di ec amen e conec ados.
Además, los paque es de en u amien o incluyen un campo de ol que pe mi e iden i ica
ca ac e ís icas especiales de los nodos, como la capacidad de ac ua como ga eway. Es a
uncionalidad acili a la selección de u as especí icas hacia nodos con unciones especia-
lizadas, op imizando el uso de los ecu sos de ed.
Paque es de da os. Po o o lado los paque es de da os con ienen la in o mación de la
capa de aplicación po encima de LoRaMeshe . Es os paque es pueden di idi se en dos
ca ego ias:
Da os es ánda d: Es e ipo de paque e si e pa a asmi i in o mación común
que puede se ansmi ida en un solo paque e po amaño.
Da os g andes: Es e ipo de paque e es á diseñado pa a ges iona ansmisiones
más g andes que equie en segmen ación además de mecanismos de con ol pa a
ga an iza que la in o mación llegue a su des ino. Es e paque e además del mensaje
(has a 211 by es), iene que con ene el núme o de paque es de la secuéncia (2
by es), el iden i icado den o de la secuéncia (1 by e) y un campo que indique el
siguien e sal o del paque e (2 by es).
Figu a 9: Es uc u a del paque e de da os g ande. Fuen e
6.2.2. Segmen ación de da os g andes
Cuando se ansmi en da os g andes, es os se di iden en agmen os más pequeños que
caben en los paque es de LoRa, espe ando un limi e máximo de 222 by es po paque e.
Con el obje i o de que el ecep o eciba la in o mación con iabilidad, de o ma o denada
y sin e o es, p ime amen e se nume a cada agmen o y se espe a un paque e de con i -
mación po pa e del ecep o pa a con i ma su en ega. Si un agmen o no se ecibe
co ec amen e, el ecep o en ía un paque e de no con i mación con o me el paque e no
ha sido ecibido (se ha pe dido), solici ando su e ansmisión. Además an es de inicia
la ans e encia, se es ablece una conexión median e un p o ocolo de handshake de dos
pasos. P ime amen e se en ia un paque e con el SYNC_P lag y el núme o de paque es
que con iene la ansmisión, una ez ecibido el des ino en ia un paque e de con i mación.
34
Es e p oceso ga an iza que el ecep o es á p epa ado pa a ecibi los da os y asegu a que
la ans e encia puede se ges ionada co ec amen e.
Paque es de con ol. Los paque es de con ol ges ionan la sinc onización y el es ado
de las conexiones du an e la ansmisión de da os g andes.
Como ya hemos mencionado, exis en paque es de sinc onización pa a indica el inicio
de una an e encia de da os g ande, el paque e de con i mación, que con i ma la e-
cepción exi osa de un agmen o de da os, el paque e de no con i mación (LOST_P)
que no i ica la pé dida de un agmen o y inalmen e el paque e de solici ación de
con i mación.
Además con el obje i o de asegu a la in eg idad y iabilidad de los da os ansmi idos se
añaden las siguien es ca ac e ís icas a los paque es de con ol:
Tempo izado es dinámicos: Basados en el cálculo de RTT (Round T ip Time),
ajus an los iempos de espe a pa a ecibi ACKs.
Máximo de ein en os: Con igu able (po de ec o, 10 ein en os) an es de consi-
de a allida una conexión.
Timeou s adap a i os: Pe mi en compensa e asos en edes conges ionadas o
con múl iples sal os.
En el desa ollo p oduc i o de es e p oyec o nos cen a emos en añadi un nue o ipo de
paque e de con ol des inado a iden i ica a los paque es que lle en a cabo nues o T ace
Rou e.
6.3. Colas de paque es
Como ya hemos is o, LoRaMeshe iene a ios ipos de paque es, cada uno usado pa a
di e en es si uaciones, ya sea con ol de la ed, en u amien o o simplemen e como medio
pa a ansmi i da os, cada uno de es os paque es una ez el nodo los ecibe, es os pueden
ene dis in os obje i os, al ez ol e a se en u ados, o bien han llegado a su des inación
y deben comunica alguna in o mación de con ol, o al ez deben se en egados a la
capa de aplicación. Es e p ocesamien o de paque es con dis in as p obabilidades, c ea
la necesidad de ene es uc u as locales donde almacena es os paque es. LoRaMeshe
implemen a pa a es a inalidad, un conjun o de colas pa a paque es. Es as colas pe mi en
que los paque es sean almacenados empo almen e mien as espe an se p ocesados o
e ansmi idos, asegu ando que cada a ea pueda accede a los da os de mane a o denada
y e icien e.
35
6.3.1. Es uc u a gene al de las colas
Cada cola en LoRaMeshe es á compues a po elemen os denominados Packe Queue Ele-
men s. Es os elemen os con ienen:
Un núme o de p io idad, que de e mina el o den en el que se án p ocesados.
La di ección de memo ia del paque e, que apun a a los da os conc e os alma-
cenados.
Un enlace al siguien e elemen o, man eniendo una es uc u a de lis a enlazada
pa a agiliza el acceso.
Cuando un paque e es añadido a una cola, se inse a en la p ime a posición si su p io idad
es más al a que la de los elemen os exis en es. Es e mecanismo ga an iza que los paque es
más u gen es sean p ocesados p ime o.
6.3.2. Tipos de colas
1. Cola de paque es ecibidos (Q_RP) La cola Q_RP se enca ga de almace-
na los paque es ecibidos desde la in e az de adio LoRa. Su p incipal obje i o
es man ene los paque es accesibles pa a se p ocesados localmen e po las a eas
co espondien es.
¿Cómo unciona? Cuando un paque e llega, una a ea especializada lo ecoge
y lo añade a es a cola. Pos e io men e, o a a ea se enca ga de p ocesa cada pa-
que e, ya sea pa a ac ualiza ablas de en u amien o, een ia el paque e o pasa lo
a la capa de aplicación si es necesa io.
2. Cola de paque es a en ia (Q_SP) La cola Q_SP almacena los paque es que
es án lis os pa a se ansmi idos a a és de la adio LoRa.
¿Cómo unciona? Las a eas oman los paque es almacenados en es a cola, uno
po uno, y los en ían según el o den en que ue on añadidos. Es o asegu a que los
paque es se ansmi en siguiendo el lujo de inido po la aplicación o el p o ocolo.
3. Cola de paque es ecibidos po el usua io (Q_URP) La cola Q_URP es á
diseñada especí icamen e pa a ges iona los paque es des inados a la capa de apli-
cación en el nodo ecep o .
¿Cómo unciona? Cuando un paque e es á di igido al p opio nodo (y no a se
een iado), se añade a es a cola. Luego, una a ea no i ica a la aplicación que un
nue o paque e ha llegado y es á disponible pa a su p ocesamien o.
36
4. Cola de espe a pa a en ío (Q_WSP) Es a cola adminis a los paque es g an-
des que deben se di ididos en agmen os más pequeños an es de su en ío.
¿Cómo unciona? Cuando se es ablece una conexión, se c ea un obje o con in o -
mación sob e el es ado de la ansmisión, como un Iden i icado de secuencia pa a
iden i ica la ansmisión, Di ecciones de o igen y des ino,Núme o o al de paque es
pa a sabe cuán os agmen os deben en ia se, Úl ima con i mación ecibida pa a
segui el p oceso y Tempo izado es pa a ges iona e ansmisiones en caso de allos.
5. Cola de espe a pa a ecepción (Q_WRP) Es a cola es á des inada a ges iona
los agmen os ecibidos en ansmisiones de da os g andes.
¿Cómo unciona? Los paque es ecibidos se almacenan empo almen e en es a
cola has a que se han ecibido odos los agmen os. T as ecibi cada agmen o,
se en ía un paque e de con i mación (ACK) al emi en e. Si al a un agmen o, se
gene a una no i icación (LOST) pa a solici a su e ansmisión.
6.4. Ta eas de LoRaMeshe
Debido a la na u aleza asínc ona y o ien ada a e en os de LoRaMeshe debido a los e-
cu sos limi ados de los nodos LoRa, LoRaMeshe u iliza a eas pa a el p ocesamien os de
los paque es y o os ecu sos como las ablas de en u amien os.
LoRaMeshe u iliza un o al de 6 a eas, donde cada una hace uso de las colas que ya
hemos mencionado pa a ope a con los paque es, añadiendo nue os paque es, modi ican-
dolos y eliminando paque es de las p ópias colas, que suponen una comunicación indi ec a
en e las a eas.
1. Ta ea de ecepción La a ea de ecepción es la p incipal a ea de LoRaMeshe ,
es po ello que iene la p io idad más al a den o del plani icado de F eeRTOS.
Su unción p incipal es cap u a los paque es en an es de la adio LoRa, median e
un mecanismo de in e upción, ex ae el payload y ans o ma lo en un paque e
LoRaMeshe (como indica la Figu a 3 is a an e io men e), c ea un nue o elemen o
en la cola de paque es ecibidos y inalmen e no i ica a la a ea de p ocesamien o
pa a que ges ione el paque e.
2. Ta ea de en ío La a ea de en ío es la enca gada de en ia los paque es almace-
nados en la cola de en íos. Es a es la segunda a ea con más p io idad.
37

Figu a 10: Diag ama de la a ea de en ío. Fuen e
Como podemos e en la igu a es a a ea ob iene el paque e de la cola de en ío
e i ica si la di ección de des ino es á en la abla de en amien o y ac ualiza el
siguien e sal o del paqu e. Una ez ac ulaizado implemen a un mecanismo llamado
Ca ie sense mul iple access wi h collision a oidance pa a e i a colisiones en el
canal. Finalmen e en ía el paque e haciendo uso de un ime on ai pa a educi las
posibilidades de colisiones.
3. Ta ea de en u amien o La a ea del p o ocolo de en u amien o iene como obje-
i o ac ualiza pe iódicamen e la abla de en u amien o de cada nodo. Es o se log a
c eando mensajes de en u amien o que con ienen las u as conocidas po el nodo
ac ual, incluyendo las di ecciones de o os nodos y el núme o de sal os necesa ios
pa a alcanza los. Es os mensajes son en iados a los nodos ecinos pa a que puedan
ac ualiza sus p opias ablas de en u amien o. Es a a ea iene una p io idad meno
que la a ea de en ío, pe o mayo que la de p ocesamien o.
4. Ta ea de p ocesamien o La a ea de p ocesamien o ac úa como in e media ia
en e la ecepción de paque es y su des ino inal, ya sea pa a een ia los, en ega los
a la capa de aplicación, o ac ualiza las ablas de en u amien o. T as se no i icada
po la a ea de ecepción, es a a ea clasi ica los paque es de la cola de paque es
ecibidos según si es un mensaje de en u amien o, en cuyo caso se analiza y se
ac ualiza la abla de en u amien o local, o si es un mensaje de da os, que po o o
lado se e i ica si el paque e es á di igido al nodo ac ual (se añaden a la cola de
paque es ecibidos po el usua io) o necesi a se een iado (se añaden a la cola de
en íos).
5. Ta ea de usua io pa a en ío Diseñada pa a la capa de aplicación, es a a ea
pe mi e a los usua ios en ia mensajes de da os u ilizando LoRaMeshe . Es a a ea
asegu a que los paque es c eados po la aplicación se in eg en co ec amen e en la
cola de en íos.
6. Ta ea de usua io pa a ecepción Es a a ea se ocupa de ges iona los paque es
di igidos a la aplicación del nodo. Cada ez que un paque e es añadido a la cola de
paque es ecibidos po el usua io, la a ea es no i icada, pe mi iendo a la aplicación
accede al paque e y p ocesa lo según sus necesidades. Además, la aplicación debe
elimina los paque es p ocesados pa a ges iona adecuadamen e la memo ia del dis-
posi i o.
38
6.4.1. Relación en e las a eas y las colas
Como ya hemos podido obse a , las colas en LoRaMeshe ac úan como in e media ias
pa a compa i da os en e las a eas, pe mi iendo una comunicación indi ec a y o gani-
zada. En la siguien e igu a se mues a un ejemplo de es a elación:
1. La a ea de ecepción ag ega paque es a la cola Q_RP después de cap u a los
de la adio LoRa.
2. La a ea de p ocesamien o e i a los paque es de Q_RP y, según su ipo, los
coloca en Q_URP (si son pa a la aplicación) o Q_SP (si equie en een ío).
3. La a ea de en ío ex ae paque es de Q_SP pa a ansmi i los.
4. Las a eas de usua io in e ac úan con Q_URP pa a p ocesa paque es ecibidos
o con Q_SP pa a en ia mensajes.
39
7. In oducción de la he amien a T ace ou e
Aho a que ya hemos podido analiza en p o undidad la lib e ía de LoRaMeshe , como
abaja, como es uc u a los paque es, como se comunican las a eas, e c. Aho a podemos
aden a nos a desa olla una he amien a p opia que cons i uya el p opósi o del p o-
yec o. Pa a ello, como hemos comen ado an e io men e, es e p oyec o se cen a á en el
desa ollo de una he amien a de T ace ou e. Pe o pa a qué si e un T ace ou e y pa a
qué lo que emos en LoRaMeshe .
Un T ace ou e es una he amien a de diagnós ico u ilizada en edes de comunicaciones
pa a as ea la u a que sigue un paque e desde un o igen has a su des ino. Su p incipal
unción es iden i ica los sal os in e medios po los que pasa el paque e a lo la go de la
ed, p opo cionando in o mación de allada, si se equie e, sob e cada uno de es os nodos.
Es a he amien a esul a especialmen e ú il pa a diagnos ica p oblemas de conec i idad,
analiza el endimien o de la ed y de ec a posibles allos en las u as.
Figu a 11: Ejemplo de T ace ou e en edes con encionales donde se indica la di ección de
un nodo des ino y se ob iene los nodos po los que pasa has a llega al des ino.
En el con ex o de LoRaMeshe , donde los nodos o man una ed en malla y la comunica-
ción puede eque i múl iples sal os pa a llega al des ino, un T ace ou e puede se una
he amien a muy ú il pa a el con inuo desa ollo de la lib e ía:
1. Diagnós ico de p oblemas de en u amien o En una ed de malla, los paque es
pueden alla al llega a su des ino po di e sas azones, como ablas de en u amien o
desac ualizadas, nodos in e medios ue a de se icio o p oblemas de in e e encias
en el canal de adio. Con un T ace ou e, podemos iden i ica en qué pun o exac o
del eco ido es á ocu iendo el allo.
40
2. Ve i icación de las opologías o madas Aunque el p o ocolo p oac i o de Lo-
RaMeshe in en a man ene las u as ac ualizadas, los cambios en la ed, como el
mo imien o o la desconexión de nodos, pueden a ec a la in o mación almacenada en
las ablas. Además, el desa ollo de nue as mé icas como el ya mencionado BMX,
p o ocan opologías dis in as que necesi an se e i icadas. Un T ace ou e puede
comp oba si las u as es ablecidas coinciden con las u as espe adas.
3. Op imización de la ed Al iden i ica u as más la gas o ine icien es, es a he a-
mien a pe mi i á ajus a los pa áme os del p o ocolo, como la pe iodicidad de los
mensajes de en u amien o o el amaño de los paque es, pa a op imiza el uso del
canal de comunicación.
7.1. Diseño del T ace ou e
Aunque T ace ou e es una he amien a ya u ilizada en edes como las con encionales,
exis en dis in as soluciones de ace ou e, cada una con dis in os diseños. Po ejmplo en
edes con encionales exis en dos soluciones muy comunes, po un lado las que u ilizan
p o ocolos sin es ado como ICMP (en el caso del que u iliza Windows) o UDP, donde
exis en las en ajas de usa p o ocolos áciles de u iliza , muy lige os y de diagnós ico á-
pido, pe o po o o lado ienen muchas limi aciones po pa e de los co a uegos o ienen
limi ación de capacidad de in o mación debido p ecisamen e a la lige eza de los p o o-
colos. Po o o lado los T ace ou e basados en TCP p opo cionan mayo p écision pa a
á ico eal ya que ienen en cuen a ecu sos TCP o pa áme os de QoS que incluye TCP,
pe o ienen las des en aja de se más complejos y consumi más ecu sos.
En el caso de LoRaMeshe debido a la capa sob e la que se abaja (po encima de la
capa ísica de LoRa), se ha decidido hace una implemen ación más pa ecida a la de ICM-
P/UDP donde no se man iene ningún es ado. Sin emba go exis en dis in as cues iones de
diseño que hay que esol e , y en es e p oyec o se han plan eado dos ipos de diseño de
la he amien a:
Es a egia de descub imien o inc emen al. Es e en oque se basa en el uso de un
TTL (Time- o-Li e) que comienza en 1 y se inc emen a p og esi amen e pa a descub i
los nodos sal o po sal o.
Se en ían múl iples paque es, cada uno con un TTL mayo que el an e io .
Cada nodo in e medio de uel e inmedia amen e un paque e con su di ección al nodo
o igen, p opo cionando la in o mación ecogida en cada sal o.
El p oceso con inúa has a que se alcanza el nodo des ino.
41
8.2.2. Llamada de T ace ou e
Aho a que ya enemos los ecu sos necesa ios pa a implemen a el T ace ou e, es deci
paque es pa a lle a lo a cabo y una o ma de c ea los, ya podemos e la llamada p incipal
que inicia á el T ace ou e.
Es e mé odo llamado aceRou e se encuen a en el a chi o p incipal de la lib e ía, el
Lo aMeshe .cpp y es el que llama el mé odo de aceRou eOn de LoRaCha cuando se
no i ica con el comando median e MQTT. Es o quie e deci que es e mé odo solamen e
se á llamado en el nodo donde se inicia el T ace ou e, po lo an o necesi a emos sabe
cuándo un paque e es á en es e nodo que o igina el T ace ou e, pe o eso lo e emos más
adelan e. De momen o nos cen a emos en es á unción que desempeña á el papel del nodo
que hace la llamada.
1in 8_ l = 1;
2
3// C ea y en ia el paque e inicial de as eo de u a
4Con olPacke * aceRou ePacke =Packe Se ice::c ea eT aceRou ePacke (ds ,
ge LocalAdd ess(), l, 0);,→
5ESP_LOGI(LM_TAG, "Ras eo de u a. P ime paque e o igen %X, des ino %X, amaño =
%d", aceRou ePacke ->s c, aceRou ePacke ->ds ,
aceRou ePacke ->packe Size);
,→
,→
6
7au o*qp =Packe QueueSe ice::c ea eQueuePacke ( aceRou ePacke ,
DEFAULT_PRIORITY, 1);,→
8addToSendO de edAndNo i y( ein e p e _cas <QueuePacke <Packe <uin 8_ >> *>(qp));
Figu a 20: C eación y en ío del p ime paque e
Pa a hace un T ace ou e el p ime nodo debe á p ime amen e en ia un paque e en hacia
el des ino del T ace ou e, y una ez en íe ese p ime paque e, debe á i espe ando demás
paque es con las di ecciones. En la igu a an e io podemos e cómo se hace la c eación
del paque e y su pos e io en ío, median e la unción addToSendO de edAndNo i y que
añadi á el paque e a la cola de en íos y luego se á la a ea de en íos la que lle a á a cabo
el en ío. Pe o cómo sab á el nodo cuando haya llegado un nue o paque e con una nue a
di ección que añadi al T ace ou e? En LoRaMeshe exis en o as si uaciones simila es
donde al ecibi un paque e, se necesi a no i ica po ejemplo al usua io, en es e caso se
hace uso de la a ea de usua io de en ío, que pe mi e no i ica al usua io pa a que haga
alguna acción. Sin emba go es e a ea es á solamen e pensada pa a paque es de aplicación
que puedan ene da os ele an es pa a el usua io. Pa a pode no i ica al nodo de la lle-
gada de un paque e de con ol como los de T ace ou e, eque i emos de algún mé odo que
sea in e no de la uncionalidad de T ace ou e. Pa a ello se ha decidido usa una cola pa a
paque es de T ace ou e que solamen e se usa á pa a hace p ecisamen e es a no i icación.
La cola usada es una cola de F eeRTOS global, llamada aceRou eQueue y que solamen e
es a á inicializada en el nodo que inicia el T ace ou e.
48

Pa a pode ealiza la espe a de los paque es se emplea á un bucle pa a pode ges iona
odos los paque es que se eciban y una llamada bloquean e que pueda lee el con enido
de la cola y desbloquee la a ea cada ez que se añada un paque e a la cola. En la siguien e
igu a podemos e el bloque que con iene la lógica p incipal del nodo en el T ace ou e.
1Con olPacke * ecei edPacke =nullp ;
2while ( ue) {
3 ecei edPacke =(Con olPacke *)p Po Malloc(sizeo (Con olPacke ) +
sizeo (T aceRou ePayload));,→
4// Espe a pa a ecibi un paque e con iempo de espe a
5i (xQueueRecei e( aceRou eQueue, ecei edPacke ,
pdMS_TO_TICKS(TRACE_ROUTE_TIMEOUT)) == pdPASS) {,→
6noFixes = 0;// Reinicia el con ado de espues as pe didas
7au o* acePayload =
ein e p e _cas <T aceRou ePayload*>( ecei edPacke ->payload);,→
8// Añadi el nue o sal o a la lis a de di ecciones si no es un duplicado
9i ( aceRou eAdd esses.emp y() || aceRou eAdd esses.back() !=
acePayload->newhop) {,→
10 aceRou eAdd esses.push_back( acePayload->newhop);
11 }else {
12 // Ras eo de u a misma di ección que el úl imo sal o
13 }
14 // Comp oba si se ha alcanzado el des ino
15 i ( acePayload->newhop == ds ) {
16 // Ras eo de u a e minado. Des ino alcanzado.
17 ee( ecei edPacke );
18 b eak;
19 }else {
20 // C ea y en ia el siguien e paque e con TTL inc emen ado
21 l += 1;
22 aceRou ePacke =Packe Se ice::c ea eT aceRou ePacke (ds ,
ge LocalAdd ess(), l, acePayload->id + 1);,→
23 qp =Packe QueueSe ice::c ea eQueuePacke ( aceRou ePacke ,
DEFAULT_PRIORITY, 1);,→
24
addToSendO de edAndNo i y( ein e p e _cas <QueuePacke <Packe <uin 8_ >>
*>(qp));
,→
,→
25 }
26 }else {
27 ++noFixes;
28 i (noFixes >= TRACE_ROUTE_NUMBER_FIXES) { // De ene después de
TRACE_ROUTE_NUMBER_FIXES iempos de espe a consecu i os,→
29 ee( ecei edPacke );
30 b eak;
31 }
32 // Reen ia el úl imo paque e
33 addToSendO de edAndNo i y( ein e p e _cas <QueuePacke <Packe <uin 8_ >>
*>(qp));,→
34 }
35 ee( ecei edPacke );
36 }
Figu a 21: Ges ión de paque es de T ace ou e po el nodo o igen
49
Como podemos e , cada ez que se ecibe un paque e de T ace ou e (se de ec a que se
ha añadido en la cola) además de egis a su di ección descubie a, se comp ueba si es a
di ección es la di ección des ino sob e la cual se ha hecho el T ace ou e, en cuyo caso
inaliza el T ace ou e, o en el caso de que no lo sea, se c ea y se en ía un nue o paque e
al des ino del T ace ou e, pe o con un TTL de una unidad más al o, pa a que es a ez el
paque e llegue un sal o más lejos y pueda descub i un nue o nodo.
Además como podemos e , ambién se han añadido dos mé odos pa a asegu a que el
T ace ou e se ealiza de o ma co ec a, la p ime a consis e en desca a di ecciones e-
pe idas, po si po alguna azón se ecibe un paque e no deseado o se analiza mal debido
a una colisión, y la segunda consis e en hace e-in en os de segu idad (de inidos po una
cons an e) de en ío de paque es po si no se llega a ecibi algún paque e que se ha pe dido
o ha enido algún p oblema, después del imeou es ipulado po o a cons an e.
8.2.3. P ocesado de paque es T ace ou e
Finalmen e, una ez hemos implemen ado la es uc u a y c eación de los paque es, hemos
hecho la llamada p incipal de T ace ou e, que ges iona á la lógica del nodo que o igina el
T ace ou e, nos al a ges iona la lógica de los demás nodos pa a que sepan qué ienen que
hace con cada paque e de T ace ou e que eciben en cada momen o. En el momen o de
ecibi un paque e, como hemos is o an e io men e en el análisis, la a ea de p ocesado
de paque es es la que se enca ga de lee el ipo de paque e y según uno u o o se deciden
hace dis in os p ocesos. P ecisamen e es a a ea se enca ga á de ejecu a nues a a ea
de p ocesado de paque es de T ace ou e llamada p ocessT aceRou ePacke . Una ez se
llame a es e mé odo, se le pasa á po a gumen o el paque e de T ace ou e a p ocesa .
Pa a en ende la lógica que end á que segui el paque e en es e mé odo podemos di e-
encia dis in os casos, sin emba go an es de con empla cualquie caso, se e i ica que el
payload del paque e no sea nulo, en cuyo caso se desca a el paque e, y en segundo luga ,
es en es e momen o donde se dec emen a una unidad al TTL del paque e, lo cual indica
que ha llegado a un nue o nodo. En cuan o a los casos ya mencionados, se encuen an los
siguien es:
1. TTL in álido - Es e caso de p oduce cuando el TTL una ez dec emen ado, se
encuen a po debajo de 0. Es e caso es in álido y no debe ía ocu i , po lo an o
se decide desca a el paque e.
2. Nodo o igen - Es e caso se da cuando el TTL es igual a 0 y además enemos
en el nodo donde se es á ejecu ando el código, nues a cola de T ace ou e de inida,
en es e caso se in uye que como el TTL es igual a 0, es e paque e a llegado a su
des ino (bien un nodo nue o que ha descubie o, o bien el nodo o igen al que ha
eg esado), además que la cola de T ace ou e es é de inida nos da la in o mación de
que es amos en el nodo que inició el T ace ou e. En es e caso, podemos sabe que
el paque e de T ace ou e ha e minado y po lo an o enemos que hace uso de
la cola que hemos explicado an e io men e y añadi el paque e pa a que el mé odo
p incipal de aceRou e pueda ges iona el paque e.
50
1// 1. El paque e ha llegado al nodo o igen (no i ica u a de as eo)
2i ( acePayload-> l ==0&& aceRou eQueue) {
3ESP_LOGV(LM_TAG, "Paque e T ace Rou e e minado en el nodo %X.",
ge LocalAdd ess());,→
4xQueueSend( aceRou eQueue, packe , 0); // Encola el paque e pa a
p ocesa lo,→
5 e u n;
6}
Figu a 22: Caso donde el paque e ha eg esado al nodo o igen
3. Nue o nodo - Po o o lado, cuando no es á de inida la cola y además el TTL ha
llegado a 0, signi ica que hemos llegado a un nue o nodo (nues o des ino). En es e
caso se busca añadi la in o mación del nue o nodo al paque e, y de ol e el paque-
e al nodo o igen pa a egis a la in o mación. En la siguien e igu a se mues a el
bloque de código que la ges iona:
1// 2. El paque e ha encon ado un nue o nodo en el T ace ou e
2i ( acePayload-> l == 0) {
3
4// Ac ualiza los campos del paque e pa a eg esa al nodo o igen
5packe ->ds =packe ->s c;
6packe ->s c =ge LocalAdd ess();
7nex Hop =Rou ingTableSe ice::ge Nex Hop(packe ->ds );
8
9// Ve i ica si exis e el siguien e sal o
10 i (nex Hop == 0) {
11 ESP_LOGE(LM_TAG, "T ace Rou e. No se encon ó el siguien e sal o
desde %X, des ino %X", packe ->s c, packe ->ds );,→
12 ee(packe );
13 e u n;
14 }
15
16 packe -> ia =nex Hop;
17 acePayload-> l =Rou ingTableSe ice::ge Numbe O Hops(packe ->ds );
18 acePayload->newhop =ge LocalAdd ess();
19 acePayload->id += 1;
20
21 ESP_LOGV(LM_TAG, "De ol iendo paque e desde %X a %X ía %X con l
%X.", packe ->s c, packe ->ds , packe -> ia, acePayload-> l);,→
22
addToSendO de edAndNo i y( ein e p e _cas <QueuePacke <Packe <uin 8_ >>*>(qp));,→
23 e u n;
24 }
Figu a 23: Caso donde el paque e ha llegado a un nue o nodo
51
Como podemos e en la igu a pa a pode de ol e el paque e al nodo o igen,
debe emos modi ica las di ecciones de des ino (con la di ección del nodo o igen)
y o igen (con el nodo ac ual), y ob ene el siguien e sal o pa a llega median e el
nex Hop de la abla de encaminamien o. Además ambién enemos que calcula el
nue o TTL del paque e según el núme o de sal os que que emos que haga has a
llega a su des ino, pa a ello u iliza emos un mé odo de la abla de encaminamien o
ambién. Finalmen e debemos añadi po supues o, la di ección del nue o nodo al
campo de newhop.
4. Reen ia paque e - El úl imo caso a a la si uación donde el TTL del paque e
oda ía es mayo que 0, lo que signi ica que aún no ha llegado a su des ino, po lo
an o lo único ele an e que hay que ac ualiza es el ía del paque e el cual hay que
ac ualiza con el nex hop de la abla de encaminamien o.
1// 3. Reen ia el paque e al siguien e sal o
2nex Hop =Rou ingTableSe ice::ge Nex Hop(packe ->ds );
3
4i (nex Hop == 0) {
5ESP_LOGE(LM_TAG, "No se encon ó el siguien e sal o desde %X, des ino
%X", packe ->s c, packe ->ds );,→
6 ee(packe );
7 e u n;
8}
9
10 packe -> ia =nex Hop;
11 acePayload->id += 1;
12
13 ESP_LOGV(LM_TAG, "Reen iando paque e desde %X a %X ía %X.", packe ->s c,
packe ->ds , packe -> ia);,→
14
addToSendO de edAndNo i y( ein e p e _cas <QueuePacke <Packe <uin 8_ >>*>(qp));,→
Figu a 24: Caso donde el paque e ha llegado a un nue o nodo
Aho a que hemos is o el mé odo de p ocesado de paque es, ya podemos en ende la isión
gene al del T ace ou e jun o a la unción de T ace ou e p incipal y podemos empeza a
hace T ace ou es pa a e alua edes de LoRaMeshe .
52
9. E aluación de edes con T ace ou e
En es a sección se p esen a la e aluación de las edes malla c eadas po LoRaMeshe ha-
ciendo uso de la he amien a desa ollada, T ace ou e, como pa e de es e p oyec o. Es a
he amien a ha sido diseñada pa a p opo ciona in o mación sob e las u as seguidas po
los paque es en la ed, acili ando así la alidación de las opologías, c eadas po los dis-
in os p o ocolos de en u amien o que se p oponen en LoRaMeshe .
Po o o lado ambién se busca explo a el desempeñó de T ace ou e como mecanismo
de diagnós ico pa a edes de dis in a o ma, y con ca ac e ís icas di e en es, y pode así
ob ene in o mación aliosa pa a la mejo a de la he amien a.
Es a e aluación consis i á en dis in os expe imen os ealizados sob e dis in os ipos de
edes, cada una con igu ada de dis in a o ma, donde se e alua á p incipalmen e el p o-
ocolo de en u amien o:
Fi s -Hop (núme o de sal os): Es e p o ocolo u iliza la mé ica de núme o de
sal os pa a de e mina la u a más co a en e el o igen y el des ino. Su simplicidad
lo hace e icien e en edes pequeñas y de baja complejidad, pe o puede mos a limi-
aciones en con igu aciones más g andes o dinámicas.
Se diseña án dis in os escena ios pa a p oba cómo se compo a el p o ocolo de Fi s -Hop
en edes pequeñas así como en edes más ex ensas. Con es as p uebas pod emos comp o-
ba los pa ones de compo amien o del p o ocolo, así como sus posibles limi aciones, que
nos acaba án abocando al segundo p o ocolo de en u amien o, el BMX.
9.1. He amien as necesa ias
Con el obje i o de pode ealiza es os expe imen os, necesi a emos una mezcla de he-
amien as an o pa a pode lle a a cabo el T ace ou e, como pa a pode simula los
en o nos, opologías y ca ac e ís icas que end án las edes donde hagamos las p uebas.
Po un lado, po supues o necesi a emos los nodos conec ados a la co ien e median e
un cable Mic o-USB, po o o lado necesi a emos además alguna o ma pa a c ea las
opologías que que amos p oba , ya que debido a que la ecnología LoRa (Long ange)
iene angos de conexión muy al os, las edes de p ueba como las que usamos noso os, al
es a odos los nodos localizados en el mismo si io, a no se que es os es én muy alejados
con condiciones ísicas muy conc e as, odos los nodos, al se una ed malla, ienden a
ene conexión en e ellos. Pa a ello ha emos uso de una uncionalidad de es ing que
iene LoRaMeshe pa a c ea opologías po código. En la siguien e igu a podemos e
la unción que lo hace posible:
53

1#i de LM_TESTING
2bool Lo aMeshe ::canRecei ePacke (uin 16_ sou ce) {
3uin 16_ local_add =ge LocalAdd ess();
4
5i (local_add == 0x7AF0) {
6i (sou ce == 0x79C8) e u n ue;
7}else i (local_add == 0x7B8C) {
8i (sou ce == 0x79C8) e u n ue;
9}
10
11 e u n alse;
12 }
13 #endi
Figu a 25: Mé odo pa a c ea opologías po código
Median e es e mé odo podemos con ola si un nodo puede ecibi un paque e que iene
como o igen o o nodo, de es a o ma si un nodo ecibe un paque e de un nodo que es a
unción no pe mi e, el paque e se á desca ado, p o ocando que la abla de encaminamien-
o, median e los paque es que anuncian las u as, se adap en y ac ualicen sus mé icas
según la opología buscada.
La segunda he amien a que necesi a emos se á simplemen e pa a acili a el abajo al
hace un T ace ou e. Aho a mismo pa a hace un T ace ou e, como ya se ha mencionado
en capí ulos an e io es, una ez es án los nodos iniciados, necesi amos po un lado un pu-
blishe MQTT pa a pode ejecu a la acción del T ace ou e y un subsc ibe MQTT pa a
ecibi el esul ado del T ace ou e. Pa a no ene que c ea mensajes JSON especí icos
cada ez, hemos c eado un p og ama de e minal pa a pode hace T ace ou es de mane a
ápida y e icaz.
Las siguien es igu as mues an las p incipales unciones del p og ama de py hon u ilizado
pa a au oma iza el T ace ou e. Po un lado enemos la unción publish_ ace_ ou e
publica un mensaje en el ópico om-se e del ga eway, en unción del o igen y el des ino
del T ace ou e. Po o o lado enemos el mé odo on_message que se ejecu a en segundo
plano, una ez es amos susc i os al ópico o-se e del ga eway, y que ecibe los mensajes
esul an es del T ace ou e ob eniendo en el campo aceRou eAdd esses las di ecciones
esul an es.
54
1de publish_ ace_ ou e(clien , o igin, des ina ion, ga eway):
2 opic = " om-se e /{ga eway}"
3message ={
4"da a": {
5"appPo Ds ":18,
6"appPo S c":18,
7"add Ds ":in (o igin),
8" aceRou eCommand":0,
9" aceRou eDs ":in (des ina ion)
10 }
11 }
12
13 clien .publish( opic, json.dumps(message))
Figu a 26: Mé odo pa a publica el mensaje de T ace ou e
1de on_message(clien , use da a, msg):
2global ace_ ou e_ esul , ace_ ou e_add esses
3
4# P ocesa el mensaje ecibido
5payload =json.loads(msg.payload.decode())
6da a =payload.ge ("da a", {})
7
8i " aceRou eResul " in da a:
9 ace_ ou e_ esul =da a[" aceRou eResul "]
10 ace_ ou e_add esses =da a.ge (" aceRou eAdd esses", [])
11 p in ("Respues a ecibida del ace ou e:")
12 p in (json.dumps(da a, inden =2))
Figu a 27: Mé odo que ecibe el esul ado del T ace ou e
9.2. E aluación con la mé ica Fi s -Hop
Es a sección la dedica emos a desc ibi los expe imen os pensados pa a p oba las edes
c eadas con la mé ica de Fi s -Hop. Los expe imen os consis i án en p oba el T ace ou e
p ime o en una ed con dos nodos, donde el in e cambio de paque es es muy sencillo y a
con inuación añadi emos el e ce nodo que enemos disponible pa a es e p oyec o, hecho
que añadi á complejidad al T ace ou e.
An es de ealiza los expe imen os debe emos ene cada nodo con la e sión que se ha
mejo ado de LoRaCha , que además haga uso de la e sión de LoRaMeshe que incluye
el T ace ou e. Pa a pode compila y subi el códiigo a las placas ha emos uso de Pla -
o mio, conc e amen e el siguien e comando co espondien e a Linux:
55
1pio un -- a ge upload -- a ge moni o --en i onmen go- -beam
--upload-po /de / yACM0 --moni o -po /de / yACM0
Donde /de / yACMx co esponde al pue o donde engamos conec ada la placa, y que
nos se i á an o pa a subi LoRaCha a las placas como pa a moni o iza el pue o se ial
de la misma.
O a cosa que enemos que ene en cuen a, es que debe emos subi dis in as e siones
del código dependiendo de los nodos ga eway y los nodos que no lo sean, en es e caso al
se edes an pequeñas, únicamen e enemos un ga eway, po lo an o debe emos ene en
cuen a las siguien es con igu aciones en el a chi o con ig.h de LoRaCha :
Pa a los nodos ga eway deben es a con igu ados las c edenciales de una ed Wi i
pa a pode en ia los mensajes MQTT.
1#de ine WIFI_SSID "*************"
2#de ine WIFI_PASSWORD "***************"
Pa a los nodos ga eway, además debe emos con igu a con qué b oke MQTT que-
emos que comunique nues a ed, además de los ópicos que u iliza á.
1// MQTT con igu a ion
2#de ine MQTT_SERVER "192.168.1.143"
3#de ine MQTT_PORT 1883
4#de ine MQTT_USERNAME "admin"
5#de ine MQTT_PASSWORD "public"
6#de ine MQTT_TOPIC_SUB " om-se e /"
7#de ine MQTT_TOPIC_OUT " o-se e /"
Finalmen e pa a los nodos que no sean ga eway podemos po un lado pone alo es
sin sen ido a las con igu aciones de MQTT y WIFI que ya hemos is o, o po o o
lado, ambién enemos la opción de deshabili a los se icios de MQTT y WIFI
como se mues a a con inuación:
1#de ine WIFI_ENABLED
2#de ine MQTT_ENABLED
Una ez hemos hecho las con igu aciones pe inen es ya pod emos hace la compilación y
lasheo de las pe inen es e siones en las co espondien es placas.
56
9.2.1. Expe imen o con dos nodos
El p ime expe imen o como ya hemos dicho solamen e iene dos nodos y ambos es án en
una misma habi ación. Po un lado enemos un nodo ga eway con la di ección: 0x7AF0
y po o o lado un nodo con la di ección 0x79C8. Ambos es án conec ados y su mé ica
es 1 según la abla de encaminamien o, lo que a ni el p ác ico signi ica que los nodos
es án a un hop de dis ancia. El expe imen o empieza en onces indicando en el p og ama
de e minal que hemos mencionado una di ección de ga eway y de nodo que o igina el
T ace ou e, con alo 0x7AF0, y un nodo des ino con di ección 0x79C8.
Figu a 28: Diag ama del expe imen o de dos nodos
En la igu a an e io se mues a el lujo de paque es del T ace ou e en el expe imen o.
P ime amen e el nodo 0x7AF0 en ía un paque e con el TTL igual a 1, pa a descub i el
p ime nodo de la u a, y una ez el nodo 0x79C8 ecibe el paque e, es e le añade su di ec-
ción y ac ualiza el TTL. Como podemos e el lujo es el co ec o ya que los TTLs son los
co ec os y el segundo nodo añade co ec amen e su di ección al newhop. Cabe menciona
que el paque e que en ía el nodo 0x79C8, iene un TTL de 1 ya que el paque e necesi a
un sal o pa a llega a su des ino, de es a o ma el paque e puede llega sin se desca ado,
de es a o ma el nodo 0x79C8 ha debido ol e a pone el TTL a uno, ya que una ez
ecibió el paque e es e dec emen ó el TTL en uno, dando un TTL igual a 0 como esul ado.
57
10. Conclusiones y Re lexiones
El p incipal obje i o de es e p oyec o e a explo a las edes mesh LoRa con la lib e ía
LoRaMeshe , además de se capaz de apo a a una lib e ía de edes como es a y se capaz
de hace una e aluación sob e sus p o ocolos de en u amien o. Es e capí ulo a a á de
desc ibi los log os de es e p oyec o, los p oblemas con los que ha enido que lidia , los
e os que han quedado po esol e , y en gene al unas conclusiones inales.
A medida que se a anzó en la plani icación de es e p oyec o, se ue on escla eciendo los
obje i os gene ales, concen ándolos cada ez más, has a da con el obje i o de desa olla
una he amien a de T ace ou e pa a LoRaMeshe . Es a he amien a e a una ca ac e ís ica
que se necesi aba desde hacía iempo pa a la lib e ía, y que además pe mi i ía al p oyec o
usa la pa a la e aluación de los p o ocolos de en u amien o que necesi an se some idos
a p uebas. A con inuación se de alla án los log os conseguidos en las di e en es pa es de
es e p oyec o, an o en el análisis de la lib e ía, como en el desa ollo de la he amien a y
la pos e io e aluación.
10.1. Log os conseguidos
1. Consegui un análisis muy de allado de la lib e ía LoRaMeshe , no solo de las un-
cionalidades básicas que ya habían sido desc i as como la abla de en u amien o o
las a eas básicas de manejo de paque es, si no que además se ha log ado de alla
nue as uncionalidades como los paque es de con payloads g andes.
2. Desa olla una he amien a de diagnós ico de edes como T ace ou e que puede se
u ilizada pa a ob ene u as o opologías de una ed LoRa o mada con LoRaMeshe .
3. Desa olla una capa de aplicación o mada con he amien as como LoRaCha o
el p og ama de e minal, pa a que un usua io sea capaz de in e ac ua con la he-
amien a de T ace ou e desde una capa de aplicación. A con inuación se mues a
el eposi o io con las e siones de LoRaCha y LoRaMeshe desa olladas en es e
p oyec o.
1h ps://gi hub.com/ma celca02/LoRaMeshe _P o ocol_E alua ion
4. Hace uso de la he amien a de T ace ou e pa a hace una e aluación del p o ocolo
de Fi s -Hop usado en LoRaMeshe .
Es os log os que se han lis ado son los log os p incipales y más impo an es que se han
conseguido en es e p oyec o. En cada uno de es os log os ha habido una la ga lis a de
pequeñas me as que se han desc i o a lo la go de es e p oyec o y que ambién pod íamos
conside a como log os.
64

Desc i os en onces los log os p incipales, podemos conclui que se han podido consegui
los p incipales obje i os de es e p oyec o, que como hemos mencionado, e an po un lado
un análisis o explo ación de una ecnología como LoRaMeshe , y po o o el desa ollo de
una he amien a de diagnós ico como T ace ou e, y una e aluación de los p o ocolos de
en u amien o de la lib e ía. Sin emba go a pesa de que el balance gene al de los obje i os
de es e p oyec o ha sido posi i o, se debe menciona la exis encia de cie os aspec os en
el p oyec o que no se han podido cumpli o que no han podido se comple ados.
10.2. Di icul ades encon adas
Aunque en el apa ado del análisis, se han podido alcanza comple amen e los obje i os
que se enían, ya que se ha podido documen a an o la lib e ía de LoRaMeshe , como
el amewo k de LoRaCha y su lujo de comunicación a a és de mensajes ansmi idos
median e MQTTQ, podemos encon a cie os aspec os que no se han podido cumpli ,
o al menos en su o alidad en los apa ados del desa ollo del T ace ou e y la pos e io
e aluación. Echemos un is azo p ime amen e a las di icul ades que nos hemos encon ado
en el desa ollo del T ace ou e.
10.2.1. Di icul ades en el desa ollo de T ace ou e
El desa ollo de la he amien a de T ace ou e, den o de LoRaMeshe , ha p esen ado nu-
me osos desa íos que han di icul ado el cumplimen o de los obje i os o incluso han impedi-
do que algunos puedan ealiza se. En e los p incipales p oblemas, des acan los siguien es:
Fugas de memo ia: Du an e la implemen ación, se iden i icó un memo y leak que,
a pesa de los es ue zos ealizados, no ha podido se solucionado comple amen e.
Aunque su impac o es limi ado en p uebas de co a du ación, es e p oblema suele
comp ome e la es abilidad en escena ios más complejos o p olongados como se ha
podido comp oba en el apa ado de e aluación donde se han ealizado dis in os
expe imen os.
Complejidad de depu ación: El p oceso de iden i ica y co egi e o es elacio-
nados con la lógica del T ace ou e y el en u amien o de los paque es de T ace ou e
esul ó se un e o. Es o se debe, en pa e, al en o no de p uebas limi ado desc i o
en el capí ulo de e aluación, que di icul a el moni o eo de allado de los paque es.
Tiempo limi ado pa a soluciona p oblemas complejos: La es icción más
impo an e ue el iempo limi ado pa a abo da p oblemas complejos, como las ugas
de memo ia y la depu ación de la lógica del T ace ou e. Es o se debió p incipalmen-
e a los imp e is os que se iban encon ando, a ando de encon a los p oblemas
base en la lógica del T ace ou e.
65
Las di icul ades mencionadas exigie on un en oque i e a i o en el desa ollo del p oyec o.
Aunque la esolución de nume osos p oblemas implicó ajus es cons an es y e aluaciones
que alen iza on el a ance, es os ambién impulsa on impo an es p og esos que bene i-
cia on signi ica i amen e al p oyec o.
10.2.2. Di icul ades en la e aluación
Tal y como ha sucedido con las di icul ades encon adas en el desa ollo del T ace ou e,
ambién se han p oducido di icul ades en la ase de e aluación p incipalmen e elaciona-
das con imp e is os:
Imp e is os: Como se ha mencionado los imp e is os que suele habe cuando se
abaja con un código expe imen al como es LoRaMeshe , eduje on el iempo dispo-
nible pa a ealiza e aluaciones exhaus i as de T ace ou e, limi ando la e aluación
a una pa e de los expe imen os planeados.
Es ado del p o ocolo BMX: Po o a pa e el obje i o de e alua el p o ocolo
BMX no pudo cumpli se, debido a ac o es ex e nos al p oyec o, ya que el desa o-
llo de dicho p o ocolo aún se encuen a en una e apa emp ana. Su uncionalidad
ac ual p esen a allos que lo hacen incompa ible con las p uebas plani icadas u ili-
zando T ace ou e.
10.3. Di ecciones u u as
A pesa de los dis in os desa íos que se han en en ado du an e el desa ollo y la e alua-
ción, el p oyec o ab e una pue a a di e sas opo unidades pa a su mejo a y e olución.
Aunque las limi aciones ac uales han condicionado los esul ados ob enidos, es as mismas
di icul ades si en como pun o de pa ida pa a es ablece nue as me as que amplíen el al-
cance del p oyec o. A con inuación, se desc iben algunas lineas de abajo que pe mi i án
po encia el impac o y asegu a su u ilidad, además de mejo a el p oceso de e aluación.
En e las dis in as di ecciones que puede oma el p oyec o, se des acan las siguien es:
1. Resolución de los p oblemas exis en es: Resol e los p oblemas iden i icados
du an e el desa ollo se ía una p io idad pa a ga an iza el uncionamien o del sis-
ema. Es o incluye:
Co egi los memo y leaks pa a asegu a que el sis ema pueda ejecu a se sin
in e upciones p olongadas o allos inespe ados.
Op imiza la lógica de en u amien o y depu ación pa a mejo a la e icacia del
T ace ou e en condiciones eales.
66
2. Análisis y e aluación del p o ocolo BMX: Dado que el p o ocolo BMX es á
en desa ollo, una ez es e a ance, pod íamos ene las siguien es posibilidades:
Re oma su e aluación y asegu a se de que las opologías c eadas son co ec as
median e el T ace ou e.
Compa a su endimien o con el p o ocolo ac ual basado en el hop coun pa a
iden i ica á eas de mejo a.
3. Ex ensión de la he amien a de T ace ou e: Se pod ía ap o echa la in aes-
uc u a c eada an o en LoRaMeshe como en LoRaCha , pa a añadi más posibi-
lidades al T ace ou e:
Añadi in o mación ele an e a los paque es de T ace ou e, como po ejemplo
la la encia de los paque es pa a llega a cada nodo.
Añadi con igu aciones o pa áme os al hace un T ace ou e, como po ejemplo
el núme o de ein en os, iempo de espe a o núme o máximo de sal os.
Desa olla el o o diseño de T ace ou e mencionado en el capí ulo 7.1.
10.4. Re lexiones inales
Pa a inaliza , cabe deci que es e p oyec o ha sido al amen e sa is ac o io al demos a
el po encial de las edes mesh LoRa y la he amien a T ace ou e como una base sólida
pa a el análisis y la op imización de es e ipo de edes. Los desa íos encon ados, aunque
signi ica i os, ue on en su mayo ía esuel os, y con ibuye on a ene un mayo conoci-
mien o del ema.
Mi expe iencia en es e p oyec o ha sido muy en iquecedo a. He enido la opo unidad de
aden a me en el mundo de las edes dis ibuidas y abaja di ec amen e con ecnologías
basadas en LoRa, algo que ha ampliado mis conocimien os y habilidades en es e campo.
El p oceso de desa olla la he amien a de T ace ou e me pe mi ió en en a desa íos
eales an o de implemen ación como diseño y po o o lado la e aluación me ha pe mi-
ido en ende mejo el uncionamien o de las edes mesh desde un pun o de is a muy
ce cano.
En de ini i a, es e abajo pone de mani ies o la impo ancia de inicia i as como es a
pa a el desa ollo de ecnologías IoT en en o nos complejos. Con una con inuación de es e
p oyec o, las he amien as y conocimien os gene ados, pueden e oluciona y se u ilizados
pa a muchos o os desa íos.
67
11. In o me de sos enibilidad
11.1. Plano ambien al
El impac o ambien al se ha cen ado en el consumo ene gé ico de simulaciones y ha dwa e.
Pa a educi lo, se eu iliza on placas TTGO y se limi a on simulaciones a las necesa ias
as p uebas p elimina es. Aunque no se cuan i icó la educción exac a, el aho o en ma-
e iales y ene gía ue ele an e.
De epe i se el p oyec o, es e pod ía op imiza se aún más el aspec o del consumo ene gé-
ico con más he amien as de simulación, en ez de hace an o uso de las placas.
El p oyec o educe el uso de o os ecu sos al op imiza edes IoT en en o nos emo os,
disminuyendo in aes uc u as más g andes. Globalmen e, mejo a la huella ecológica me-
dian e un bajo consumo y la eu ilización de ha dwa e.
Un posible escena io que pod ía aumen a la huella ecológica del p oyec o se ía la necesi-
dad de eemplaza placas o disposi i os dañados, inc emen ando el consumo de ecu sos
ma e iales. Asimismo, el uso ex ensi o del p oyec o en g andes edes pod ía gene a un
mayo consumo ene gé ico, aunque es e impac o se ía meno en compa ación con al e -
na i as ecnológicas más demandan es en é minos de ene gía.
11.2. Plano económico
El cos e no se cuan i icó en é minos humanos, pe o los cos os ma e iales no a ia on
espec o a lo p e is o. Se eu iliza on placas TTGO, man eniendo con olados los gas os.
No se han cuan i icado cambios pe cep ibles en los gas os, espec o a la plani icación.
Riesgos económicos incluyen ac ualizaciones ecuen es de i mwa e, allos de ha dwa e o
mayo consumo en edes más g andes, aunque son poco p obables a co o plazo.
11.3. Plano social
El p oyec o pe mi ió explo a ecnologías como LoRa mesh, o aleciendo habilidades
écnicas y e lexionando sob e la sos enibilidad. Des acó la impo ancia de soluciones ac-
cesibles y é icas en el so wa e lib e.
68
Los p incipales bene icia ios del p oyec o son desa ollado es e in es igado es IoT. Al se
un p oyec o abie o, bene icia a aplicaciones de dis in os sec o es como la ag icul u a o el
medio ambien e. Además, no se iden i ica ningún colec i o que pueda e se di ec amen e
pe judicado po el uso del p oyec o.
El p oyec o abo da e icazmen e el p oblema plan eado inicialmen e, o eciendo una so-
lución pa a e alua y op imiza edes mesh basadas en LoRa. Ha pe mi ido mejo a la
ges ión del en u amien o y p opo ciona he amien as de diagnós ico que e an inexis en-
es en la lib e ía de LoRaMeshe , cumpliendo con los obje i os plan eados.
Los iesgos sociales que se incluyen son usos no é icos, como moni o eo sin consen imien o,
pe o es os dependen del con ex o y no del diseño. No gene a dependencia en usua ios al
usa ecnología accesible y abie a.
69

12. Té minos y Concep os
Lo aMeshe
Lo aMeshe es una lib e ía de código abie o u ilizada pa a c ea edes malladas que pue-
dan comunica dis in os nodos a a és de la ecnología LoRa. El p incipal obje i o de es e
ipo de opologías de ed es habili a la comunicación mul i-sal o en e disposi i os, de
modo que los paque es de da os puedan iaja a a és de a ios nodos in e medios has a
alcanza su des ino, ex endiendo signi ica i amen e el ango de cobe u a sin necesidad
de que odos los disposi i os es én den o del alcance di ec o de un ga eway o es ación
base.
Es a lib e ía incluye p incipalmen e el p o ocolo de en u amien o de ipo Dis ance-Vec o
llamado i s -hop basado en el con eo de sal os (hop coun ), que ayuda a de e mina el
camino más co o pa a ansmi i los da os en e nodos. Además, ambién incluye o o
p o ocolo que es á en p oceso de implemen ación llamado BMX (Be e Me ic eXpe i-
men ), que iene en cuen a la calidad de los links en e cada nodo pa a decidi el en u ado.
P o ocolo de en u amien o
El p o ocolo de en u amien o es el conjun o de eglas y algo i mos que de e minan cómo
se ans ie en los da os en e los nodos de una ed. En el caso de LoRaMeshe , el p o o-
colo de en u amien o se enca ga de de ini las u as que los mensajes deben segui pa a
iaja de un nodo a o o en una ed mallada. Los p o ocolos de en u amien o pueden
es a basados en a ias mé icas, como la can idad de sal os (hop coun ) en e nodos, la
calidad de la señal o la la encia de la ed. Es os p o ocolos son esenciales pa a la e iciencia
y iabilidad de las comunicaciones en edes dis ibuidas, ya que op imizan el uso de los
ecu sos de la ed y e i an la conges ión.
Red mallada
Una ed mallada (mesh ne wo k) es un ipo de a qui ec u a de ed donde los nodos es-
án in e conec ados de mane a descen alizada, o mando una malla o ed en la que cada
nodo puede comunica se con a ios o os nodos di ec amen e o a a és de nodos in e -
media ios. En luga de depende de un único pun o cen al, como un ou e o ga eway
en las edes adicionales, los nodos en una ed mallada pueden ac ua an o como ans-
miso es como epe ido es de da os, lo que les pe mi e een ia mensajes de un nodo a o o.
Ga eway
Un ga eway o pue a de enlace es el nodo o disposi i o en una ed de compu ado es que
ac úa como puen e o in e az de conexión en e nodos, y que pe mi e comunica y com-
pa i ecu sos en e ellos.
70
Hop Coun
El Hop Coun consis e en una mé ica habi ual en los p o ocolos de en u amien o que
cuen a el núme o de sal os que ealiza un paque e en una opología de ed, has a llega a
su des ino. Es a mé ica suele se comúnmen e u ilizada pa a de e mina el camino más
co o en e dos nodos, es deci , el camino con menos sal os en e nodos.
Nodo
Un nodo es un disposi i o o unidad den o de una ed de comunicación que iene la
capacidad de en ia , ecibi y, en el caso de edes malladas como LoRaMesh, een ia
da os hacia o os nodos. Los nodos pueden ac ua como pun os de inicio, in e medios o
de des ino en una ed, y su unción especí ica depende de la opología y el p o ocolo de
en u amien o implemen ado.
ESP32
El ESP32 es un mic ocon olado de bajo cos o y al o endimien o desa ollado po Es-
p essi Sys ems. Es ampliamen e u ilizado en aplicaciones IoT g acias a su in eg ación
de módulos WiFi y Blue oo h, lo que lo con ie e en una opción e sá il pa a p oyec os
que equie en conec i idad. Además, cuen a con una a qui ec u a de doble núcleo y una
a iedad de in e aces pa a senso es y disposi i os ex e nos.
T-BEAM
La T-BEAM es una placa de desa ollo basada en el mic ocon olado ESP32 que incluye
un módulo LoRa y uncionalidades adicionales como GPS y una pan alla OLED in eg a-
da. Diseñada pa a p oyec os de edes LoRa, es a placa pe mi e implemen a soluciones
de comunicación de la go alcance y bajo consumo ene gé ico. Es ideal pa a p uebas y
despliegues en en o nos IoT.
B oke MQTT
Un b oke MQTT es un in e media io en el modelo de comunicación publish/subsc ibe del
p o ocolo MQTT. Su unción p incipal es ecibi mensajes de los publishe s y dis ibui los
a los subsc ibe s que es én in e esados en los ópicos co espondien es. Es e componen e
es cla e pa a ges iona la comunicación en iempo eal en e disposi i os conec ados, ga-
an izando e iciencia y escalabilidad.
BMX (Be e Me ic eXpe imen )
El BMX es un p o ocolo de en u amien o basado en mé icas a anzadas que e alúan la
calidad de los enlaces en e nodos en luga de limi a se al con eo de sal os. Es e en o-
que pe mi e selecciona u as más óp imas en é minos de endimien o gene al de la ed,
conside ando ac o es como la in ensidad de la señal, la la encia y la es abilidad de las
conexiones.
71
Tabla de en u amien o
Una abla de en u amien o es una es uc u a de da os man enida po cada nodo en una
ed de comunicación que almacena in o mación sob e las u as disponibles pa a alcan-
za o os nodos. Incluye de alles como la di ección del nodo des ino, el núme o de sal os
necesa ios y el siguien e nodo en la u a. Es as ablas son undamen ales pa a el uncio-
namien o e icien e de p o ocolos de en u amien o en edes dis ibuidas.
F agmen ación de da os
La agmen ación de da os es el p oceso de di idi una unidad de da os g ande en pa es
más pequeñas pa a acili a su ansmisión a a és de una ed. Es e en oque es especial-
men e impo an e en edes como LoRa, donde las limi aciones del amaño de los paque es
exigen que los da os se ansmi an en agmen os secuenciales que pos e io men e se e-
ensamblan en el des ino.
Handshake
El handshake es un p oceso de negociación en e dos nodos an es de es ablece una co-
nexión o ans e encia de da os. Consis e en una se ie de mensajes de sinc onización que
con i man que ambos nodos es án lis os pa a comunica se y que las condiciones necesa ias
pa a la ansmisión de da os es án asegu adas. Es e p ocedimien o ga an iza una comu-
nicación iable y coo dinada.
72
Re e encias
[1] Solé, J. M., Cen elles, R. P., F ei ag, F., & Mesegue , R. (2022). Im-
plemen a ion o a LoRa Mesh Lib a y. IEEE Access,10, 113158-113171.
h ps://doi.o g/10.1109/ACCESS.2022.3217215
[2] Red inalámb ica mallada. (s. .). En Wikipedia, la enciclopedia lib e. Recupe ado el
26 de sep iemb e de 2024, de h ps://es.wikipedia.o g/wiki/Redinalmb icamallada
[3] Asana, T. (2024, 19 eb e o). Las 12 me odologías más popula es pa a la ges ión
de p oyec os [2024]. Asana. h ps://asana.com/es/ esou ces/p ojec -managemen -
me hodologies
[4] Wikipedia con ibu o s. (2024, 27 agos o). LoRa. Wikipedia.
h ps://en.wikipedia.o g/wiki/LoRa
[5] Wikipedia con ibu o s. (2024a, ma zo 16). Dis ance- ec o ou ing p o ocol. Wiki-
pedia. h ps://en.wikipedia.o g/wiki/Dis ance- ec o ou ingp o ocol
[6] Wikipedia con ibu o s. (2024c, oc ub e 14). Rou ing p o ocol. Wikipedia.
h ps://en.wikipedia.o g/wiki/Rou ingp o ocol
[7] Wigmo e, I. (2019, 1 ma zo). Con ingency budge (cos con ingency). Wha Is.
h ps://www. ech a ge .com/wha is/de ini ion/con ingency
[8] TTGO T-Beam ESP32 WiFi GPS NEO-6M LORA 900 MHz B icoGeek | B i-
coGeek.com. (s. .). h ps:// ienda.b icogeek.com/lo a/1502- go- -beam-esp32-wi i-
gps-neo-6m-lo a-900-mhz.h ml
[9] T eball de i de g au. (s. .). Facul a D’In o mà ica de Ba celona.
h ps://www. ib.upc.edu/ca/es udis/g aus/g au-en-enginye ia-in o ma ica/ eball-
de- i-de-g au
[10] Digi In e na ional. (2024, 18 julio). Zigbee Wi eless S anda d. Digi.
h ps://es.digi.com/solu ions/by- echnology/zigbee-wi eless-s anda d
[11] De Luis, E. R. (2019, 5 ma zo). Zigbee y Z-Wa e: qué son, en qué
se di e encian y qué ma cas de domó ica son compa ibles. Xa aka.
h ps://www.xa aka.com/seleccion/zigbee-z-wa e-que-que-se-di e encian-que-
ma cas-domo ica-compa ibles
[12] colabo ado es de Wikipedia. (2024b, junio 26). LoRaWAN. Wikipedia, la Enciclopedia
Lib e. h ps://es.wikipedia.o g/wiki/LoRaWAN
73