Haciendo IoT con LoRa: Capitulo 4.- Creando un prototipo

Sabas
5 min readOct 16, 2017

--

(Capítulo anterior: Capitulo 3.- Tipos de Gateways)
Importante: Si llegas acá por primera vez, empieza aquí. ¡No te adelantes!

Una vez que ya conocemos todas las parte de una red LoRaWAN es momento de mostrarles como crear un nodo, cuales son las principales herramientas que se utilizan para crearlo físicamente y en firmware, para este ejemplo utilizaremos la plataforma de desarrollo Arduino, pero varios de estos conceptos se pueden aplicar en otras plataformas como mbed, pic u otras similares.

Hardware

Chip LoRa

El principal chip que se usa en America para LoRa es el SX1272 que contiene el transceptor, al ser muy pequeño este chip regularmente lo vamos a encontrar en módulos más grandes que ya incluyen todos los componentes necesarios para que el chip trabaje correctamente. Quiero aclarar que puedes encontrar el chip en su forma más simple y así crear tu producto final, pero para iniciar yo recomiendo utilices las siguientes versiones:

RFM95

El RFM95 es un módulo chino creado RFHope con el cual tendrás todo lo necesario para conectar un SX1272 a un microcontrolador por medio de comunicación SPI

RFM95

Este es uno de los modulos mas económicos que podrás encontrar en el mercado, haciendo lo excelente para iniciar de una forma economica, una de las principales ventajas es que tienes acceso completo a los DIO de chip esto garantiza que puede ser cualquier tipo clase de nodo A, B o C. Tener en cuenta que este modulo trabaja a 3.3v y no es tolerable a 5v

Pinout RFM95

Algunas tarjetas que puedes encontrar en el mercado que cuentan con este chip es el adafruit feather que puede encontrar en versiones con Atmega32u4 o SAMD

Adafruit feather RFM95

Si lo tuyo es el arduino UNO y quieres encontrar una tarjeta mexicana, puedes encontrar el shield para Arduino “LoraCatShield” disponible en Tindie

LoRaCatShield para Arduino UNO

RN2903A

El RN2903A es un módulo creado por microchip que cuenta con certificación FCC y se controla por medio de comunicación serial, internamente tiene un PIC de la familia 18 y un Sx1272. Este chip tiene un costo un poco superior al RFM95 pero al tener una certificación FCC se garantiza el correcto funcionamiento en la frecuencia de los 915Mhz.

Este modulo lo puede encontrar tambien en algunas breakboard listo para conectar a un arduino o cualquier microcontrolador.

Incluso si lo tuyo es raspberry pi y quieres encontrar una tarjeta mexicana, puedes encontrar el hat para raspberry pi zero del buen Jose Navarro

Algo interesante de este chip es que recientemente microchip acaba de sacar el SDK de desarrollo para programar el PIC interno y no tener que utilizar un microcontrolador externo, esto es algo que estamos haciendo ya en Electronic Cats.

Firmware y bibliotecas

Como les comente al inicio en este punto hablare de como utilizar los modulos anteriormente mencionados con Arduino aunque estos mismo ejemplos pueden servir de base para comprender como configurar un sistema embebido en LoRaWAN.

LMIC + RFM95

Esta biblioteca originalmente fue creada por IBM y después fue portada para Arduino donde actualmente esta a cargo de matthijskoooijman (un gran contribuidor del repositorio de Arduino oficial) esta biblioteca se utiliza en conjunto con el modulo RFM95.

Puedes encontrar ejemplos de uso de esta biblioteca para trabajar en los 915Mhz y con la red Beelan en el siguiente repositorio de Electronic Cats.

Para cualquier duda sobre los ejemplos puedes abrir un issue y con gusto te responderan.

RN2903 o RN2483

Para el modulo RN2903 existen dos bibliotecas populares la oficial de TheThingsNetworks que esta especialmente creada para trabajar con su tarjeta oficial, pero están agregando características para hacerla universal.

Algo interesante de esta biblioteca es que incluye low power payload de Cayenne un “estándar” para enviar de manera optimizada informacion en redes de bajo consumo y largo alcance.

Otra biblioteca es la de jpmeijers que nos tambien controlar los chips RN2xx3, esta biblioteca tiene algunas diferencias en comparación a la de TTN ya que fue pensada para usos mas genericos, pero en general funcionan casi igual

Ademas de tener su repositorio en github cada una de esta bibliotecas puedes encontrarlas en el manager de bibliotecas de arduino directamente con sus respectivos ejemplos.

Ahora que ya tenemos el hardware que vamos a usar y sus bibliotecas es hora de unirnos a una red LoRaWAN y visualizar los datos, eso es lo que realizaremos en el ultimo capitulo de esta serie, nos vemos hasta la proxima.

Siguiente capítulo: 5.- Visualización de datos

--

--

Sabas

Co-fundador ElectronicCats hardware libre en México, Promotor del Movimiento Maker, Hardware Libre y DIY. Co-fundador @inventorshouse Hackerspace