Introduction: Arduino Internet De Las Cosas: Usando NiceRf LoRa1276

About: Proyectos, articulos, y opiniones tecnologicas para el hogar y la industria

LPWAN y LORA

El internet de las cosas (IoT en Ingles) ha ido ganando terreno, de forma tal que cada vez es mas barato, mas pequeño y consume menos energia comunicar "cosas" que antes eran impensables. En la actualidad tecnologias como GSM y WiFi son las mas utilizadas, estas tienen su desventajas:

* This article is also available in English.

GSM, 3G, LTE: Alto costo: Requiere pago de un plan de datos para realizar la comunicacion, Alto consumo de energia

WiFi, BLUETOOTH : Bajo radio de cobertura ( algunos cuantos metros dentro de edificaciones) Alto consumo de energia!

Para mitigar las falencias que tienen las tecnologias anteriores se ha propuesto el esquema LPWAN cuyas siglas en Ingles significan Redes de Area Amplia de Baja Potencia. para lo cual se deben cumplir ciertos requerimientos:

* Orientado a dispositivos que se comunican con poca frecuencia y volumenes de datos relativamente pequeños

* Bajo consumo de potencia, para que aparatos alimentados con baterias puedan funcionar por varios años

* Area amplia de cubrimiento, que un dispositivo pueda enviar y recibir datos sin problemas aun cuando se encuentre dentro de una vivienda, gabinete industrial, etc

En la actualidad para cubrir esta demanda se estan desarrollando varias tecnologias como LoRa, LTE-MTC, RPMA, UNB, Weightless entre otros.

La alianza LoRa de la cual hacen parte empresas como CISCO, IBM, SEMTECH, MICROCHIP y otras busca crear estandares de comunicacion inalambrica para dispositivos que funcionen con baterias y coberturas regional, nacional o global. La principal ventaja de LoRa es que trabaja en bandas no licenciadas ISM (Industrial, Scientific and Medical), por lo cual cualquier persona podria crear su propia red LPWAN sin tener que pagar derechos por el espectro, siempre y cuando este dentro de las reglamentaciones propias de cada pais con respecto a esta banda.

Para mas informacion, visita: Automatizanos.com

Step 1: ​NiceRF LoRa1276

En la actualidad existen multiples fabricantes que producen modulos compatibles con LoRa. Todos ellos hacen uso de los chips producidos por SEMTECH, lo que garantiza una buena interoperabilidad entre modulos de diversos fabricantes. El modulo utilizado es el LoRa 1276, fabricado por NiceRF. Estos modulos cuestan alrededor de 20 dolares el par ( con envio incluido practicamente a cualquier parte del mundo ) e incorporan el chip SX1276. El fabricante indica que pueden tener un alcance maximo de 10 Km en linea de vista, y de 1Km, en ambientes urbanos, con una potencia maxima de transmision de 120 mW. Estos modulos vienen en un empaque muy poco amigable para la experimentacion, pues la distancia entre los pines (1.27 mm), no es compatible con un protoboard estandar (2.54 mm) , sin embargo con un poco de creatividad se puede hacer una adaptacion.

El chip que incorpora el modulo (SX1276) esta en la capacidad de operar en un rango de frecuencias de 100 a 1050 mhz. Sin embargo este chip requiere algunos componentes externos entre la salida y entrada de radio frecuencia y la antena, para minimizar la complejidad del diseño y por lo tanto costos, el fabricante del modulo pone algunos componentes como condensadores y bobinas en una red de impedancias acopladas con la antena, con lo que el modulo solo transmitira y recibira eficazmente en un rango de frecuencia determinado. Este modulo se comercializa en diferentes modelos para trabajar en diferentes bandas ISM (a,b,c,d). se debera tener muy en cuenta la normativa del pais especifico en donde se trabaje, pues no todos los paises permiten utilizar las mismas bandas ISM. En este caso se usara la version de 915 Mhz.

Step 2: ​Lora 1276 Y Arduino

La comunicacion con el modulo se hace por medio de SPI, en este caso se utilizo un (Clon!) Arduino nano para su configuracion. Ademas de los pines tradicionales del SPI, este modulo requiere el manejo de otras señales adicionales que seran cableadas a pines del arduino. Puesto que el modulo trabaja a 3.3V y el arduino nano trabaja a 5V, se requiere de algun tipo de conversion de nivel entre el arduino y el SX1276. Si no se tiene a la mano dicho integrado se pueden hacer unos divisores de voltaje y trabajar el reloj del SPI en baja velocidad!.

El modulo puede funcionar como transmisor y como receptor, pero no simultaneamente. El codigo es basado en el ejemplo provisto por el fabricante. Este modulo tiene varios multiples configuraciones posibles:

Tipo de modulacion: OOK, FSK y LoRa

Correccion y deteccion de errores: FEC y Cheksum

Consumo de energia: Modos de baja potencia para operacion por baterias y modos potencia total.

Supresion de interferencia: Modos de ensanchamiento de espectro y diferentes factores de frecuencia modulada

pulsada En el ejemplo presentado se utilizo la mayor potencia posible, y los parametros de configuracion que dan la mejor sensibilidad. El ejemplo aqui presentado funciona de la siguiente forma:

El transmisor envia un mensaje cada determinado intervalo de tiempo. En cada envio se conmutara el estado de un led, para poder visualizar cuando se transmite.

El receptor esta atento al mensaje. si este es recibido sin errores, se conmutara el estado de un led. Si se recibe el mensaje, pero tiene algun error, se conmutara el estado de otro led.

De esta forma es muy facil probar el alcance de los dispositivos. se deja el transmisor en un sitio fijo y se va desplazando el receptor hasta cuando dejen de recibirse mensajes en buen estado o cuando no llegue absolutamente ningun mensaje en el intervalo de tiempo que deberia hacerse.

Este software es una pequeña muestra, pero es la base para construir un sistema mas robusto

Step 3: ​CONCLUSIONES

* En el ejemplo se utilizo como antena un alambre cortado a 1/4 de longitud de onda de la señal de transmision (915 Mhz). Con una antena de mejores prestaciones y una ubicacion alta, como en una torre, o en la azotea de un edificio alto, es probable tener coberturas mayores dentro de la ciudad

* Puesto que los modulos solo proporcionan las capas inferiores del modelo OSI, se esta en la libertad de escoger una pila de protocolos de comunicacion ya existente o desarrollar uno propio amoldado a las necesidades

* Para probar el maximo de sensibilidad del receptor ( y por lo tanto la maxima distancia de transmision ) se requiere de un Oscilador de Cristal Compensado en Temperatura (TCXO) , pues el modulo incorpora un cristal de cuarzo simple

* El circuito aqui presentado no comunica un dispositivo propiamente con internet, sin embargo agregar un modulo Ethernet Arduino al receptor es relativamente simple.

Para mas informacion, visita: Automatizanos.com