Sistema de retransmisión de datos agrícolas
En el recuerdo amoroso de Gay Holman, una mujer extraordinaria.
El sistema de retransmisión de datos agrícolas es una manera fácil de comunicarse con dispositivos de IoT remotos sin depender de la infraestructura WiFi o Lorawan. Establece una serie de puntos de acceso y repetidores económicos de baja potencia para proporcionar cobertura ESP-Now y Lora para dispositivos remotos. Los FDR se pueden usar para transportar lecturas de sensores y controlar mensajes en situaciones en las que sería demasiado engorroso para proporcionar una cobertura completa de WiFi/Lorawan. Si bien el sistema fue diseñado con la agricultura en mente, los FDR también podrían ser beneficiosos en un aula, hogar o entorno de investigación.
Los dispositivos se clasifican en dos tipos: puertas de enlace y nodos . Las puertas de enlace comprenden la infraestructura de la red, moviendo los datos a lo largo de las rutas previamente dirigidas y proporcionando cobertura a todos los dispositivos. Los nodos permiten al usuario intercambiar datos con una puerta de enlace. Cada puerta de enlace se identifica con una dirección hexadecimal física (MAC) de 8 bits, mientras que los nodos usan enteros de 16 bits para identificar puntos de datos a medida que se mueven a través del sistema.
Bibliotecas requeridas:
Incluido:
Para instalar FDRS:
Descargue o clone este repositorio y copie en su carpeta Arduino 'Bibliotecas' .
Después de instalar, edite el archivo 'src/fdrs_globals.h' con sus credenciales WiFi y otros parámetros globales.
El primer boceto que querrá probar es el ejemplo 1_uart_gateway.ino . Este dispositivo escuchará los paquetes ESP-Now entrantes, luego los enrutará al puerto serie (y viceversa). A continuación, flasheara el ejemplo ESPNOW_SENSOR.INO para ver cómo enviar datos a la puerta de enlace.
Para usar MQTT: conecte la segunda puerta de enlace a la primera a través de los pines RX y TX (cruzados), y flashearlo con el ejemplo 0_MQTT_Gateway.ino . Si sus configuraciones WiFi y MQTT son correctas, los datos se publicarán en el tema 'FDRS/Data'.
Para extender su rango, pruebe el 2_espnow_repeater.ino o 3_lora_repeater.ino . Simplemente cambie el GTWY_MAC de su sensor a la dirección de su nuevo repetidor.
Documentación del nodo
Los nodos pueden describirse como sensores, controladores o ambos :
Documentación de la puerta de enlace
Las puertas de enlace son dispositivos de microcontrolador modulares y configurables que pueden realizar una variedad de funciones útiles, incluidas la recopilación, distribución y transmisión de datos inalámbricos. Proporcionan una interfaz flexible y cohesiva entre varios protocolos cableados e inalámbricos, y generalmente están dispuestos en una topología de línea o estrella. Como regla general, la puerta de enlace que usa MQTT siempre tiene la dirección 0x00, y las puertas de enlace ESP-Now y Lora comienzan en 0x01.
En su uso más común, una puerta de enlace FDRS se implementa como un punto de acceso para nodos de usuario remotos de ESP-Now y Lora. Si recibe un paquete de una dirección desconocida ESP-Now o Lora, la puerta de enlace supone que son lecturas de sensores y las pasa río abajo hacia el front-end. La puerta de enlace también transmitirá paquetes provenientes de la parte delantera a cualquier nodo de controlador que esté registrado/escuchado.
Las puertas de enlace también se pueden configurar como repetidores simples; pasar datos de un vecino directamente a otro vecino o viceversa. Esto puede crear un agujero de gusano de datos que transportará paquetes aguas arriba o aguas abajo ad infinitum. Puede configurar sus puertas de enlace para compartir datos encabezados hacia arriba con sus pares conectados, proporcionándoles así los datos que se envían desde el front-end.
Si está buscando una solución simple, atraída y cerrada para su puerta de enlace MQTT/UART, personalmente recomiendo tanto el ThingPulse EspGateway como el Thingpulse EspGateway Ethernet :
El espgateway contiene dos módulos ESP32 Bover-IB en un tablero con antenas externas. Están vinculados juntos por los pines 14 y 15 para permitir la comunicación en serie entre ellos. Esta es la configuración perfecta para un enlace entre ESP-Now y WiFi.
El espgateway Ethernet contiene un módulo ESP32 Wover-IB con antena, junto con un conector Ethernet RJ45. Este es el hardware utilizado en el ejemplo de Ethernet Gateway.
El front-end es donde se ingresan o consumen todos los datos por otra aplicación. Esto podría ser cualquier cosa, desde un microcontrolador que se comunica a través de UART y mostrando datos en una pantalla en una plataforma de servidor/base de datos que registra los datos a través de MQTT.
Mi método recomendado para acceder a sus datos es usar una computadora, servidor o Raspberry Pi vinculado a un dispositivo de puerta de enlace FDRS a través de MQTT o UART. Node-Red es mi plataforma favorita para acceder/manipular datos en el front-end, y InfluxDB+Grafana es el equipo de ensueño para el almacenamiento y la visualización.
Los próximos objetivos para FDRS incluyen:
... ¡Mucho por revisar mi proyecto! Realmente aprecio a todos los que han contactado con contribuciones y asistencia, especialmente aquellos que aparecen en la sección "Colaboradores". Si tiene alguna pregunta, comentarios, problemas o sugerencias, no dude en ponerse en contacto conmigo en [email protected] o abrir una discusión aquí en GitHub.
Muchas gracias a la siempre instructiva Andreas Spiess . Su perspicacia e ideas llevaron este proyecto de una piedra más o menos tallada al "diamante" que ves hoy.
Gracias a Lilygo por enviarme nuevos módulos Lora32 cuando los míos estaban dañados. Gran parte de este proyecto se creó utilizando dispositivos TTGO, ¡y recomiendo sus productos!
¡Es un gran honor haber aparecido en Hackaday y Hackster.io!
Comencé este proyecto con instrucciones de tutoriales nerd aleatorios . Si eres un principiante e intenta aprender más sobre los microcontroladores, le recomiendo que comenzar allí.

