ESP32 LoRa for dummys - Disaster Radio
disaster.radio es un proyecto cuyo objetivo es crear una red independiente de otras redes actuales (telefonía, datos, ...), descentralizada con topología de malla, en contraste con las topologías centralizadas y jerárquicas actuales, de cobertura global, cuyos nodos estén alimentados por energía solar y construida sobre software gratuito y de código abierto y hardware abierto y asequible.
Cada nodo disaster.radio intenta comunicarse con los nodos mas cercanos usando el protocolo LoRaLayer2, al conjunto de nodos así conectados se les denomina LoRa Mesh. El protocolo es "mesh-first"y "peer-to-peer" (Es una comunicacion entre iguales, y no sigue el modelo jerarquico de cliente-servdor).
Pantalla de un nodo disaster.radio en una placa ESP32 |
DISEÑO SOFTWARE
Bibliotecas de Arduino
El código está escrito en C/C++, el firmware actualmente utiliza las bibliotecas de Arduino para ESP32. Se eligió Arduino pues permite un rápido desarrollo y por que dispone de un soporte de calidad por parte de la comunidad.
Interfaz periférica serie (SPI)
El chip LoRa (SX1276) se comunica con el microcontrolador ESP32 a través de SPI. Este protocolo requiere solo cuatro pines de E/S de propósito general (GPIO), dejando el resto libre para agregar otros sensores o dispositivos.
Sockets web asincrónicos
El ESP32 actúa como un servidor web completo que sirve páginas web HTML con CSS y JavaScript integrados. También funciona como un servidor de sockets web que transfiere datos de forma asíncrona entre el microcontrolador y la página web del cliente.
Bluetooth de bajo consumo (BLE)
El ESP32 puede funcionar en modo de baja energía apagando su antena WiFi y usando BLE en su lugar. Luego se puede acceder a la radio de desastres a través de nuestra aplicación de código abierto para Android, Disaster Radio BLE Chatbox (No se localiza en Google play ¿?)
DISEÑO HARDWARE
Expressif ESP32
Expressif ESP32 es un microcontrolador de sistema en chip (SOC) con capacidades WiFi integradas. Esto proporciona acceso WiFi en las inmediaciones del nodo, lo que permite que la mayoría de los dispositivos modernos se conecten a la red de disaster.radio. Las placas de desarrollo ESP32 son baratas y fáciles de adquirir.
LoRa
Incorpora un transceptor de radio LoRa que proporciona un largo alcance y bajo ancho de banda, mediante el uso del chip LoRa SX1276.
Alimentación
Gracias a la alimentados mediante paneles solares y baterías, los nodos de disaster.radio son capaces de funcionar en la mayoría de los lugares moderadamente soleados.
Placa
Estamos en el proceso de diseñar un prototipo de PCB personalizado, los esquemas y el diseño son de código abierto y cualquier persona que tenga los conocimientos y los medios necesarios podría volver a imprimirlos.
Encapsulado
El encapsulado del nodo disaster.radio está diseñado para ser generado al vacío o impreso en 3D. Los STL del diseño del encapsulado se pueden encontrar en nuestro github.
Placas de desarrollo
El proyecto admite una serie de placas de desarrollo ESP32, disponibles en el mercado, para probar o construir su propio nodo.
Tambien puede comprar una placa preflasheada del fabricante de hardware LILYGO, TTGO Disaster-Radio LoRa32 V2.1. Un dólar de cada tabla LILYGO vendida se destina a apoyar nuestro desarrollo. No podemos ofrecer soporte para estos dispositivos más allá del firmware y no ofrecemos garantías sobre su idoneidad para ningún propósito en particular.Por último es posible construir un nodo de disaster.radio a partir de piezas.
CÓMO COMENZAR A MONTAR UN NODO DISASTER:RADIO
Para conseguir que un dispositivo ESP32 funcione con la aplicación Disaster Radio puede:
- Adquirir un ESP32 compatible con la aplicación (Ver la lista de placas compatibles en el wiki), descargar el fuente desde el Github Sudomesh Disaster Radio, compilarlo y cargarlo en el dispositivo.
- Adquirir un ESP con este firmware cargado como el LoRa32 V2.1_1.6 de LiLygo. En este caso 1$ del importe de venta se destina a sufragar el proyecto.
Comentarios
Publicar un comentario