priorizaci
´
on, de acuerdo a la prioridad definida por ISO-
BUS, para su adaptaci
´
on y retransmisi
´
on sobre la interfaz
inal
´
ambrica LoRa. La transferencia de datos entre la Unidad
a bordo y el Gateway se realiza mediante la transferencia de
datos crudos a fin de mantener una carga
´
util reducida, con
el objetivo de maximizar el rendimiento de la comunicaci
´
on.
II-B2. Gateway: El Gateway se encuentra alojado en
un lugar externo a la MA. Su posici
´
on debe ser elevada en
altura a fin de posibilitar una l
´
ınea de visi
´
on RF libre de
obst
´
aculos con la Unidad a bordo tanto como se pueda. El
Gateway act
´
ua como puerta de enlace entre la red LoRa y la
red backhaul TCP/IP. Para la implementaci
´
on del Gateway
se utiliz
´
o una plataforma Pi 3 Model B+ basada en el proce-
sador Cortex-A53 de 64 bits a 1.4 GHz, con 1 GB de RAM
y conectividad LAN inal
´
ambrica integrada. A la cual, se le
incorpor
´
o una interfaz de comunicaci
´
on LoRa [25] mediante
el protocolo SPI. El Gateway implementado trabaja sobre
un
´
unico canal de comunicaci
´
on en la frecuencia de 916.8
MHz, la cual puede ser modificada en el momento de la
configuraci
´
on del dispositivo.
Respecto a su funcionamiento, el Gateway, al inicializarse
configura los perif
´
ericos y protocolos asociados a ellos.
Luego se prepara para recibir los mensajes desde la interfaz
LoRa. Los mensajes recibidos son analizados sint
´
acticamen-
te y adaptados al formato JSON (JavaScript Object Notation)
[26], ampliamente utilizado para transmitir informaci
´
on en
aplicaciones web y sistemas IoT independientemente de la
plataforma y protocolo que se est
´
e usando. Posteriormente,
el mensaje JSON es transmitido a un servidor remoto donde
se aloja el Servicio mediante la interfaz TCP/IP. Para la
transmisi
´
on del mensaje JSON dos opciones de protocolos
de mensajes fueron implementadas. La primera opci
´
on con-
siste en la transmisi
´
on del mensaje JSON crudo utilizando
el protocolo de transporte UDP [27] basado en mensajes.
Mientras que, la segunda opci
´
on hace uso del protocolo de
mensajes de capa de aplicacci
´
on MQTT [28]. A diferencia
de la primera opci
´
on, la segunda opci
´
on hace uso del
protocolo de transporte TCP [29]. Para la implementaci
´
on
de la transmisi
´
on v
´
ıa UDP se utiliz
´
o la librer
´
ıa de c
´
odigo
abierto [30]. Para la implementaci
´
on de la transferencia de
mensajes v
´
ıa MQTT, sobre el Gateway se cre
´
o un cliente
MQTT utilizando [31], el cual publica mensajes con el
t
´
opico gateway/GatewayID/event/up sobre un MQTT
Broker [32], tambi
´
en creado sobre el Gateway.
II-B3. Servicio en la Nube: El Servicio en la nube
se encuentra alojado en un servidor remoto. La imple-
mentaci
´
on de la aplicaci
´
on del Servicio es dependiente
de los datos recolectados y los requerimientos del cliente.
Como caso de estudio en este trabajo se implement
´
o una
aplicaci
´
on que recolecta datos sobre la velocidad del tractor
y par
´
ametros asociados a la red de comunicaci
´
on LoRa a
fin de realizar un an
´
alisis de rendimiento sobre esta. Para
la implementaci
´
on del Servicio se utiliz
´
o una Notebook i7
a 2.7 GHz con 8 GB de memoria RAM. La programaci
´
on
del Servicio se realiz
´
o bajo el paradigma de programaci
´
on
basada en eventos utilizando la herramienta Node-Red [33].
Respecto a su funcionamiento, el Servicio, de acuerdo a
la configurac
´
on seleccionada puede conectarse v
´
ıa UDP o
MQTT al Gateway. En ambos casos, el Servicio escucha
de forma continua el puerto de comunicaci
´
on. Al recibir un
mensaje desde el puerto de comunicaci
´
on, el Servicio guarda
autom
´
aticamente el mensaje recibido en un archivo log. Casi
al mismo tiempo que el mensaje recibido es analizado y
particionado en base a una estructura “clave-valor” definida
en los mensajes. Posteriormente, los datos recibidos son
visualizados por los usuarios finales sobre una Interface de
visualizaci
´
on Web. El usuario final tambi
´
en puede descargar
el archivo log desde la Interface Web para su procesamiento
offline.
III. EVALUACI
´
ON Y RESULTADOS
Con el objetivo de verificar la arquitectura de comuni-
caci
´
on propuesta en t
´
erminos del tiempo de ida y vuelta
(RTT) de los mensajes. Y as
´
ı, evaluar su viabilidad en el
entorno de la MA, dos mediciones fueron realizadas. La
primera medici
´
on de RTT se realiz
´
o sobre el enlace LoRa
que interconecta los m
´
odulos Unidad a bordo y Gateway. La
segunda medici
´
on de RTT se realiz
´
o sobre el enlace TCP/IP
que interconecta los m
´
odulos Gateway y Servicio.
Las evaluaciones fueron realizadas en un entorno de
laboratorio configurado de la siguiente manera. Para la para-
metrizaci
´
on del protocolo LoRa se establecieron los valores:
SF = 7, BW = 125 kHz, CR = 4/5, PT= 14 dB y FREQ =
916.8 Mhz a fin de obtener la mayor tasa de transferencia
de datos [34] sin sobrecargar las unidades de procesamiento
y memoria sobre los dispositivos. Para la parametrizaci
´
on
del protocolo MQTT, a fin de evaluar su desempe
˜
no versus
el protocolo UDP, se establecieron los valores: Puerto TCP
= 1883, QoS = 0 sin ACK - los mensajes se env
´
ıan una vez
y el entorno operativo hace el mejor esfuerzo por entregarlo
-, adem
´
as durante esta primera prueba de concepto no se
utilizaron mecanismos de encriptaci
´
on y autenticaci
´
on de
la comunicaci
´
on. La distancia entre la Unidad a bordo
y el Gateway fue de 7 m. El Gateway se ubic
´
o a una
altura de 2,5 m. La Unidad a bordo inicia el proceso de
ensayo transmitiendo mensajes peri
´
odicos cada 1 segundo
al Gateway, quien los retransmitir
´
a al m
´
odulo Servicio. Los
ensayos se realizan con tama
˜
nos de mensaje (Payload) de
entre 8 Bytes y 48 Bytes a fin de evaluar los tiempos de
comunicaci
´
on, la carga sobre el bus y el desempe
˜
no de los
buffers de comunicaci
´
on. Para cada tama
˜
no de mensaje se
realizaron 3 ensayos de 1000 mensajes cada uno durante 3
d
´
ıas diferentes de prueba.
En particular, para la medici
´
on de RTT sobre el enlace
LoRa que interconecta los m
´
odulos Unidad a bordo y
Gateway, los mensajes enviados por la Unidad a bordo son
recibidos por el Gateway y retransmitidos nuevamente a la
Unidad a bordo. La Unidad a bordo se encarga de almacenar
los Timestamp de env
´
ıo y recepci
´
on de cada mensaje y
calcular el valor RTT en base a la diferencia de tiempo entre
ellos. Luego los registros de RTT medidos son extra
´
ıdos y
procesados con scripts desarrollados en Python.
Los resultados obtenidos de la medici
´
on de RTT son
resumidos en el Cuadro I. Los resultados obtenidos condicen
con los resultados esperados. Dado que en un enlace LoRa
el valor RTT puede ser estimado como 2T oA + T bs,
donde ToA refiere al Tiempo de Aire y Tbs al tiempo de
procesamiento (Fig. 3). Un an
´
alisis anal
´
ıtico [34] sobre el
Tiempo de Aire (ToA) para BW= 125 KHz y CR = 4/5
fue realizado. La Fig. 4 muestra como el ToA aumenta al
Revista elektron, Vol. 4, No. 2, pp. 93-99 (2020)
http://elektron.fi.uba.ar