ESP32 LoRa for dummys - Meshtastic : nociones básicas
Esquema de funcionamiento de una red Meshtastic |
- Al usar LoRa no requiere ni permisos, ni autorizaciones por parte de la Administración.
- Meshtastic no es ni LoRaWAN (que es un protocolo de comunicaciones de alto nivel que usa LoRa) , ni Helium ( que es una red propietaria basada en LoRaWAN), ni TTN (TheThingsNetwork que es una red propietaria basada en LoraWan) es un red , es otra cosa
- Largo alcance (récord de 331 km por MartinR7 y alleg)
- No se requiere teléfono para la comunicación en red
- Comunicación descentralizada: no se requiere enrutador dedicado
- Comunicación cifrada. Si se trabaja con licencia de radioaficionado puede desactivarse esta característica.
- Bajo consumo
- Permite enviar y recibir mensajes de texto entre miembros de la red.
- Funciones opcionales de ubicación basadas en GPS
ESP32El chip ESP32 es más antiguo y consume más energía que el chip nRF52, pero está equipado con WiFi y Bluetooth. Los dispositivos ESP32 compatibles son:
- LILYGO® TTGO T-Beam (>V1.1 recommended)
- LILYGO® TTGO LoRa (>V2.1 recommended)
- Nano G1
- Station G1
- Heltec V3 and Wireless Stick Lite V3
- RAK11200 Core module for RAK WisBlock modular boards
nRF52
El chip nRF52 es mucho más eficiente energéticamente que el chip ESP32 y más fácil de actualizar, pero sólo está equipado con Bluetooth. Los dispositivos nRF52 compatibles son:
- RAK4631 Core module for RAK WisBlock modular boards
- LILYGO® TTGO T-Echo
RP2040El RP2040 es un chip ARM de doble núcleo desarrollado por Raspberry Pi. Los dispositivos RP2040 compatibles son:
- Raspberry Pi Pico + Waveshare LoRa Module (Note: Bluetooth on the Pico W is not yet supported by Meshtastic)
- RAK11310 Core module for RAK WisBlock modular boards
INSTALAR EL SOFWARE (FLASHING) EN ESP32
- Usar PlatformIO (En este momento paso de montarme otro entorno IDE además de Arduino IDE)
- Usar GitPod (Requiere conectarse con usuario a GitHub) + webflashing (ESP32)
Seleccione la placa (LiLygo T-Lora 2.1-1.6), la versión y despues flashee |
Su funcionamiento es muy sencillo y sin problemas |
Posibles erroresSi la carga se queda en Conecting ... pruebe a borrar previamente la memoria con ESPTOOL
CONSOLA DEL NODO MASHTASTIC
DESDE UN BROWSER
A través de la URL https://client.meshtastic.org/ a la que hay que indicar la forma de conexión (Se elige serie)
Pantalla principal del cliente browser |
DESDE UN PROGRAMA PYTHON
Desde la consola o terminal de su sistema operativo ejecute la instalación del programa de gestion de meshtastic mediante comandos
python3 -m pip install meshtastic
DESDE UNA APP DE ANDROID
A través de una app de ANDROID, para ello hay que descargar e instalar la app Meshtastic desde Google Play (Ver mas detalles), mas detalles sobre su uso (aqui).
Si ya tiene el ESP32 con Meshtastic cargado, abra la configuración del Androide y enpareje la conexión bluetooth incluyendo en Android el código facilitado por ESP32
Desde cualquiera de estas formas podrá configurara el nodo Meshtastic creado en la ESP32-LoRa (LAapp parece el mas sencillo y práctico)
La red una vez formada y si lo autorizan los participantes muestra la localización y distancia del resto de miembros del grupo.
Configuraciones mediante la app
- User Config: indica el identificador del nodo, su nombre largo y corto el hardware (TLORA_V2_1_aP6) y permite indicar si se tiene o no licencia de radioaficionado (importante por el cifrado)
- Channels: nombre, PSK, uplink enabled, downlink enabled, position enabled, preceise enabled
- Device config: role (client, client_mute, router, router_client, repeater, tracker, sensor, tak, client_hidden, lost_and_found, tak_tracker) serial output (enabled / disabled) , debug log (enabled/disabled), rebroadcasr mode (ALL, all_skip_decoding, local_only, know_only)), nodeinfo broadcastinterval (10800s) ... disabled LED heartbeat (Probado, OK)
- Position Config: position boadcast interval(900s), smart position (enabled/disabled), use fixed position, GPSmode (NOT_PRESENT), ...
- Power config: ahorro
- Network config: wifi , ethernet
- Display config: configura la pantalla de la placa
- LoRa: Region (EU_868)
- Bluetooth Config: enable/disable, modo de pareado (aleatorio/fijo)
- MQTT: este protocolo se puede usar para comnicarse a través Internet al que se puede acceder mediante WiFi o ethernet, para ello hay que emplear un router MQTT
- Serial: los parametros posibles son Enabled, Echo, Mode, Receive GPIO, Transmit GPIO, Baud Rate, Timeout, and Override Console Serial Port
- External Notification
- Store & Forware
- Range Test
- Telemetry
- Canned Message
- Audio
- Remote Hardware
- Neighbor info
- Ambient Lighting
- Detection Sensor
- Paxcounter
IMPORT/EXPORT
- Import configuration: (Abre una pantalla para seleccionar archivo del Android)
- Export configuration: (Abre combo para seleccionar que variables guardar, confirma nombre del archivo)
REINICIAR (Porbado, OK)
APAGAR
RESTABLECER LOS VALORES DE FABRICA
REINICIO NodeDB
No modifique ningun parametro por defecto si no sabe exactamente las implicaciones, tras la modificación deb "ENVIAR" para confirmar el cambio en la placa ESP32
PRIMERAS PRUEBAS
Para probar el funcionamiento de una red Meshtastic debe disponer de al menos dos placas ESP32 LoRa con el firmware de Meshtastic cargado, es decir dos nodos y estos deben ser configurados mediante la app.
Cada app/android se empareja con un nodo, por lo que necesitará de dos Android
Si todo va bien cuando escriba en una app el mensaje se enviará a través del nodo Meshtastic vía LoRa y cifrado al otro nodo de la red y se mostrará en la app/Android de dicho nodo
Pantalla de mensajería de la app Meshtastic en la que se muestran los mensajes enviados (en ingles) y los recibidos por el otro nodo "Mc" (en español).
Pantalla de inicio del ESP32 en la que aparece labanda utilizada (EU_868), la versión del firmware (2.4.2), el nombre corto (Prin) y el logo |
Pantalla del nodo cb8c cuando recibe un mensaje de Prin |
- Chips GNSS(GPS, NEO-6M, GNSS, NEO-M8M) LILYGO® TTGO T-Beam Placa de desarrollo ESP32 LoRa, 433MHz, 868MHz, 915MHz, 923MHz, SX1278, SX1262, SX1276 por 32 /42 € según cunfoguración
- Chips GNSS (L76K o U-blox MAX-M10S-00B) LILYGO® Meshtastic T-Beam SUPREME -Placa de desarrollo ESP32-S3, módulo LoRa SX1262, 433/868/915MHz, GPS, WiFi, Bluetooth, OLED de 1,3 pulgadas por 56€ / 86€ según configuración. Además incluye un portabaterias (battery holder) muy practico para su trabajo autónomo (también se puede comprar por separado)
Prohibida la reproducción parcial o total de este artículo sin permiso previo del autor
Comentarios
Publicar un comentario