Una de las tecnologías mas nombradas para ser implementadas para el Internet de las cosas, la cual tiene características muy llamativas comunicación a larga distancia y baja potencia reflejada en su bajo consumo, LoRa «Lo ng – Ra nge», este tipo de modulación se ha vuelto muy popular en proyectos de envió y recepción de datos, existen algunas librerías ya implementadas para las plataformas ESP8266, Arduino, Raspberry pi y ESP32.
Documentación de ESP-LoRa mas abajo.
En esta oportunidad realizaremos una prueba muy sencilla con ESP8266 y RFM95 LoRa.
Hace un tiempo me llegaron 2 modulos/radios LoRa referencia RFM95 de HopeRF , a una frecuencia de 915.0 MHz, a continuación un tutorial recomendado Introducción LoRa y la revisión rápida al modulo RFM95:
Introduccion LoRa & Modulo RFM95 Hoperf
Tutorial :Iniciando en LoRaWAN
Pruebas Realizadas
Utilizaremos 2 modulos ESP8266 NodeMCU, los cuales se comunicaran a través del bus SPI con los modulos RFM95 utilizando la libreria RH_RF95.h de RadioHead, esta prueba sera muy sencilla, el envió de una mensaje mas un contador desde un modulo hacia otro a 915MHz, demarcado de fabrica en la parte trasera del PCB.
En este tutorial se utilizara la modulacion LoRa, no implementaremos LoRaWAN no confundir.
En detalle para esta prueba solo se utiliza la modulación LoRa, no se esta implementando LoRaWAN en esta caso, pendiente para próximas pruebas.
Cabe aclarar que ya venden modulos ESP8266 y ESP32 con modulos LoRa un modulo/pcb pero considero mejor realizar una prueba con módulos independientes para que la prueba sea mas asequible al momento de comprar componentes y tener en cuenta la banda/frecuencia del modulo según su zona/area o región y reglamentaciones, información completa sobre usos legales LoRa.
Una ventaja, el diseño/pinout de el Radio RFM95 es compatible con las PCB’s blancas Adaptadoras para ESP8266, facilitando el montaje en protoboard.
IMPORTANTE: quitar las 3 resistencias y reguladores de voltaje a las PCB adaptadoras Blancas, para soldar los RFM95.
Materiales MUY Baratos!!
- 2 ESP8266 NodeMCU
- 2 Radio RFM95 , en este caso 915.0 MHz
- 2 Adaptadores PCB blancos para ESP8266 12E/F
- 2 Protoboard
- Antena de alambre, cable UTP, calcular longitud mas abajo
Codigo Arduino IDE
En esta oportunidad utilizaremos la libreria RH_RF95.h de RadioHead, muy utilizada en ejemplos de Adafruit para la prueba de sus PCB y modulos, tecnicamente el modulo ESP8266 configura los parámetros del RFM95 a traves del protocolo bus SPI.
Nota: Enlaces de descarga y/o github mas abajo.
Dado que es una prueba muy sencilla solo se configuraran los siguientes parametros en ambos modulos:
- Potencia de transmision : 23 dBm = rf95.setTxPower(23, false)
- Frecuencia/Banda: 915MHz = #define RF95_FREQ 915.0
Importante la correcta configuración de Pines para ESP8266:
- RFM95_CS = CS (Selector de Chip o Selector de esclavo ).
- RFM95_RST = Reset Radio al inicializar.
- RFM95_INT = Interrupcion desde salida DIO0.
Ejemplo de Transmisión Modulo #1
Se realizara en envió del mensaje «PDAControl – » y el valor de un contador de mensajes/paquetes enviados.
Nota: Enlaces de descarga y/o github mas abajo.
- Terminal Serial … Transmitiendo Mensaje.
Ejemplo de Recepción Modulo #2
El modulo esta en modo recepción.
Nota: Enlaces de descarga y/o github mas abajo.
- Terminal Serial … Recibiendo, Mensaje y RSSI
Fabricación de Antena
Para esta prueba se ha fabricado la antena con Cable UTP (Unshielded Twisted Pair) o Par trenzado no apantallado, se tomo uno hilo/alambre de 7.8 cm, agradecimientos a Automatizanos.com por la informacion, para calcular la longitud de la antena, solo he modificado el parámetro mas importante Frecuencia, en el caso de mi modulo es a 915.0.
Video: Communication LoRa ESP8266 & Radio RFM95 # 1
Conexiones
Nota: Los GPIO’s del Radio RFM95 funciona a 3.3v, voltajes superiores los quemaran!!.
ESP8266 – RFM95/96
- Gpio15/D8 – NSS
- Gpio13/D7 – MOSI
- Gpio12/D6 – MISO
- Gpio14/D5 – SCK
- Gpio05/D1 – DIO0
- Gpio02/D4 – DIO1
- Gpio16/D0 – RST
- VCC – 3.3V
- GND – GND
Conclusiones
Como indique anteriormente en esta prueba no se esta implementando LoRaWAN, solamente se esta utilizando la tencologia LoRa es decir solo la modulacion y comunicacion de los radios.
Aplicaciones de esta clase de proyectos, creación de Gateway LoRa-Wifi, para el envió de datos de sensores remotos a aplicaciones en internet.
Crear sensores para envio a larga distancia bajo consumo de bateria y es libre, A diferencia de GSM y 4G.
Me atrevería a decir que que LoRa es la tecnología perfecta para el Internet de las Cosas.
En este caso no se utilizara el Wifi de los ESP8266 12E.
En proximos tutoriales mediremos la maxima distancia con esta clase de antena y este modulo, supongo que dado que es un modulo muy economico y adsequible dudo un poco de lo 10 o 20Km en campo abierto y probaremos a ver .
Actualización Prototipo ESP-LoRa
Para avanzar en este proyecto luego muchas pruebas en protoboard, he creado una PCB para esp8266 12e y los modulos/radio RFM95 o LORA1276-C1, Permitiendo la posibilidad de Configurar como modulo LoRa y LoRaWAN – GATEWAY & LoRaWAN – NODE para posibles conexiones con TTN o «The Things Network» plataforma IoT basada en redes LPWAN Low-Power Wide-Area Network.
En el siguiente tutorial indicare como diseñar 10 prototipos PCB con la empresa Seeedstudio con ayuda de KICAD.
Recomendado: 10 PCB’s Profesionales con Seeed Studio Fusion – Prototipos ESP-LoRa
10 PCB’s Profesionales con Seeed Studio Fusion – Prototipos ESP-LoRa
Communication ESP-LoRa V1.0 ESP8266 & Radio RFM95 #LoRa
Tutoriales Recomendados
Internet de las cosas: LoRa, larga distancia, baja potencia por Automatizanos.com
Referencias
Descargas/Github