Medición de datos meteorológicos a 32000 pies sobre África occidental utilizando la red Helium LoRaWAN
Partes usadas en este proyecto
Componentes de hardware
LILYGO®TTGO LoRa32 T3 V1.6.1 ×1
Milesight Iot UG67 ×1
LPS8 ×1
Sensor de temperatura, humedad y barómetro Seeed Studio (BME280) ×1
Aplicaciones de software y servicios en línea
Consola de helio
Cadena de bloques de Telos
Herramientas manuales y máquinas de fabricación
Impresora 3D (genérica)
Historia
Estamos presentando este proyecto al concurso «IoT en la naturaleza» bajo el Desafío 1: Crisis climática y mitigación con el tema de prevención/mitigación de desastres naturales
Mi misión
Durante dos años trabajé en el Centro de Vuelo Espacial Goddard de la NASA en el satélite meteorológico GOES-16, y luego dejé la NASA en 2019 para explorar las tecnologías blockchain e IoT de forma independiente. Inmediatamente reconocí el potencial de largo alcance y baja potencia de LoRaWAN para resolver uno de los esfuerzos de campo más complicados en la comunidad científica climática.
Los datos de nivel superior de las regiones de África occidental y central desempeñan un papel muy importante en la predicción del tiempo y el clima. Ayuda a los modelos numéricos a hacer mejores predicciones sobre inundaciones y sequías extremas. Más datos de estas regiones podrían ayudar a los pronósticos de lluvia para las poblaciones locales e incluso se pueden usar para mejorar el pronóstico de huracanes en el Atlántico en un período de 7 a 14 días. Sin embargo, la burocracia y la financiación gubernamental ineficaz en la región han llevado a la rápida degradación de las estaciones de globos meteorológicos en África occidental durante los últimos 20 años. En 2008, los científicos concluyeron que la mejor manera de revertir la tendencia sería establecer una red independiente de las agencias gubernamentales con pagos directos de contratación a individuos para preparar y lanzar los globos meteorológicos. Enlace
Este plan de acción ahora es posible.
Con microprocesadores de tamaño pequeño, bajo consumo y bajo costo, podemos unir comunidades y recopilar datos sin necesidad de equipos costosos. Además, con la disponibilidad de teléfonos inteligentes en África, nos resultó fácil analizar el proyecto y solucionar problemas técnicos en tiempo real. Con blockchain e IoT, podemos hacer que los datos sean accesibles para cualquier persona en cualquier lugar del mundo, mientras compensamos directamente a las comunidades locales por el proceso manual de lanzar un globo.
LoRaWAN y minería meteorológica
LoRaWAN es una tecnología de comunicación por radio de largo alcance y baja potencia que funciona mejor en situaciones de línea de visión. Es muy adecuado para sensores exteriores y monitores interiores que solo requieren enviar pequeñas cantidades de datos a la vez.
Un globo meteorológico ascendente maximiza esta propiedad de línea de visión de LoRaWAN, ya que cada vez hay menos obstáculos en el suelo que pueden reducir la intensidad de la señal. Efectivamente, el globo se vuelve cada vez más como un pequeño satélite con una huella enorme para comunicarse con decenas, si no cientos, de puertas de enlace (también llamadas «puntos de acceso» de helio) en tierra. Esta redundancia ayuda a compensar el alejamiento natural de los globos del lugar de lanzamiento debido al viento y los momentos en que las señales de radio del globo intentan atravesar las nubes o el clima lluvioso.
La parte superior de la troposfera generalmente se extiende a unos 35 000 pies, que está cerca del rango de 15 kilómetros de SF10 LoRaWAN. Esta también es la altura a la que nuestros globos de 30 gramos tienden a reventar debido a la baja presión atmosférica.
Ahora que entendemos por qué los globos funcionan bien con LoRaWAN, ahora podemos hablar sobre cómo el proyecto utiliza un concepto que denominé Weather «Minería».
Es un hecho científico que en todas las situaciones climáticas, excepto en las más extremas, la presión atmosférica disminuye a mayor altura, y aprovecho este hecho físico en mi contrato inteligente de blockchain. Por cada nivel de milibar alcanzado por el sensor de presión en el globo de la radiosonda, se envía una cantidad proporcional de moneda digital Telos al lanzador a través de la cadena de bloques. Esto incentiva los lanzamientos bien realizados que logran el máximo dentro del rango de la antena receptora LoRaWAN.
Aquí acuñé el término «minería meteorológica», como una analogía con la minería de bitcoin, en la que, en lugar de regirse por las leyes de probabilidad y criptografía, el mecanismo de pago se rige por la previsibilidad de la física atmosférica. A continuación se muestra una imagen de un micropago que se envía a Emmanuel Patrick en Uyo, Nigeria, mientras el contrato inteligente recibe datos del globo a una altura de 7075 metros. Estos pagos continúan cada 30 segundos hasta que el globo está fuera de alcance o revienta a gran altura.
Descripción del equipo
Cada hardware electrónico utilizado en el proyecto era relativamente simple y constaba de un sensor meteorológico Bosch BME280 de 5 V (disponible en Seeed Studio) conectado con cables de puente a un microcontrolador TTGO LoRa32 v2.1. Esto captura la temperatura, la humedad y la presión cada pocos segundos. La unidad TTGO viene con un módulo de radio OLED y LoRa 868MHz presoldado con montura SMA. Una pequeña carcasa impresa en 3D mantiene seca una batería LiPo de 350 mAh y 3,7 V de Adafruit durante el vuelo y ayuda a prevenir daños en caso de que se recupere la unidad.
Los pines Vin y GND del BME280 están conectados a los pines 3v3 y GND del LoRa32 respectivamente. El pin SDA se conecta al pin 21 y el pin SCL va al 22.
El recinto está impreso en 3D, lo que permite un proceso sencillo de impresión directamente en la universidad. Tomé prestados archivos de diseño STL de archivos públicos en TinkerCAD y los remezclé para incluir una bisagra móvil en el lado izquierdo del gabinete.
Pila de red
Debido a las mayores complejidades que conlleva trabajar en una región relativamente remota, confiamos en gran medida en marcos de computación en la nube como los servicios Azure de Microsoft para realizar la mayor parte del software y el manejo de blockchain. Sin embargo, los estudiantes aún lograron conectar las puertas de enlace LoRaWAN (también conocidas como puntos de acceso) a la LAN local de su universidad local, principalmente por su cuenta.
Tanto TheThingsNetwork Indoor Gateway de Seeed Studio como los reenviadores de paquetes Dragino LPS8 Helium se han instalado en varias universidades.
El firmware se escribió utilizando una combinación de bocetos de bibliotecas Arduino de código abierto. Los componentes principales del firmware son:
- Envío de paquetes meteorológicos cada 5 a 30 segundos a través de la red Helium. Aquí utilicé la biblioteca LMIC e implementé esta biblioteca de serialización lora para codificar y decodificar paquetes meteorológicos.
- Página web HTML personalizada con bibliotecas WiFi.h para ingresar el nombre de la cuenta de blockchain de Telos de los estudiantes y autenticar el lanzamiento. Se puede acceder a la página web a través de http://192.168.4.1 en el teléfono inteligente o mediante un código QR al inicio.
- Cálculo de elevación a bordo . Aquí puede usar algunos cálculos y hacer algunos cálculos de clima fresco en el poderoso ESP32. El firmware calcula continuamente la elevación en tiempo real mediante la integración de la ecuación hipsométrica en intervalos discretos de nivel de presión a medida que asciende el globo. Hacer esto requiere entradas muy precisas, e incluso fue necesario calcular la constante gravitacional en función de la latitud. Esto se debe a que la gravedad se siente entre un 0,5 y un 1,0 % menos en África Occidental debido a la proximidad al ecuador. Como referencia, aquí hay un fragmento del algoritmo:
/* Specific gas constant for dry air */
float R = 287.058;
/* Gravitational acceleration varies slightly by latitude and elevation */
float g = calc_gravity();
/* Approx average virtual temperature of layer */
float tv_avg = tv1 + (tv2 – tv1)/2.0;
/* Use hypsometric equation and natural logarithm
to compute elevation change since last datapoint */
float elevation = (R*tv_avg/g)*log(p1/p2) + z1;
A través de Helium Console, creé un nombre de dispositivo único basado en OTAA (Deveui, Appeui, Appkey) para cada ubicación geográfica y reutilicé las mismas credenciales de dispositivo para lanzamientos posteriores en cada ubicación. Luego agregué una integración MQTT a Helium Console y conecté los flujos.
A partir de ahí, ejecuto una instancia de Node-RED que escucha los paquetes de datos enviados por Helium a través de MQTT. El flujo enruta los mensajes según el número de puerto y finalmente envía los datos a la cadena de bloques de Telos utilizando un módulo de contribución de Node-RED personalizado que escribí. El módulo se publica aquí como un paquete NPM y es de código abierto como el resto del proyecto.
Finalmente, el contrato inteligente es responsable de manejar el clima y los datos de autenticación de lanzamiento. A medida que cada observación llega a la cadena de bloques, se realiza un pequeño micropago al estudiante lanzador por cada pocos metros que se eleva el globo. Esto suma alrededor de $10 en moneda digital por lanzamiento. Todos los datos meteorológicos se almacenan como recurso RAM en Telos, y los datos meteorológicos de todos nuestros lanzamientos anteriores se pueden ver directamente en la cadena de bloques aquí.
Proceso de lanzamiento
Antes del lanzamiento, el estudiante universitario «Weather Miners» sigue las instrucciones en la pantalla OLED para conectarse a un AP WiFi transmitido desde el ESP32. Los estudiantes ingresan el nombre de su cuenta de blockchain de Telos para recibir los pagos digitales que se realizan durante el lanzamiento. Cuando el usuario presiona «Enviar», se envía un mensaje LoRaWAN a través de 868 MHz a un punto de acceso cercano y la cuenta del minero se autentica en la cadena de bloques de Telos.
Los globos se llenan con un mínimo de 12 pies cúbicos de helio o gas hidrógeno para levantar las diminutas cargas útiles de 40 gramos. Más sobre eso más adelante. Otra bisagra impresa en 3D sujeta el cuello del globo y sujeta el dispositivo meteorológico principal mediante un clip a la parte inferior del globo. The Weather Miner es libre de soltar el globo.
Una vez que la presión atmosférica es unos milibares más baja que la presión del suelo, el dispositivo reconoce que el globo ha sido lanzado y entra en modo «vuelo». Cada 5 segundos, transmite temperatura, presión y humedad de regreso al receptor de tierra. Si el vuelo ocurre sobre una gran ciudad, otros puntos de acceso públicos en el área también pueden recoger paquetes del globo a medida que asciende, lo que hace que la solución sea más sólida.
El globo seguirá subiendo durante unos 90 minutos hasta que reviente a unos 35.000 pies. Juntos hemos descubierto que el gas adicional es útil para mantener el globo dentro del alcance el tiempo suficiente para medir los datos durante todo el vuelo.
Hidrógeno producido localmente
Después de algunos lanzamientos de prueba con los estudiantes, rápidamente aprendí que suministrar gas helio para los globos es una tarea muy costosa.
Para superar este problema, desarrollamos un método para inflar los globos con hidrógeno producido localmente en lugar de helio. El agua filtrada (H2O) se divide en hidrógeno y oxígeno mediante electrólisis de membrana electrolítica de polímero (PEM), donde el hidrógeno se almacena a una presión máxima de 120 psi en un tanque pequeño.
Mi invento necesita energía solar de 200 W para alimentar el PEM de 5 V a un máximo de 40 amperios y producir hidrógeno cuando brilla el sol. Para capturar el agua de lluvia, utilizamos la suavidad de los paneles solares de vidrio para permitir que el agua caiga en un depósito mediante una tubería de PVC. Una vez llena, el agua de lluvia pasa por 2 filtros de agua desionizante que no necesitan bomba externa. El PEM circula continuamente el agua durante el día y genera hidrógeno en el tanque de gas para el almacenamiento diario.
Ocho horas de luz solar son suficientes para obtener los 12 pies cúbicos de hidrógeno necesarios para hacer un lanzamiento con los pequeños globos meteorológicos rojos de 30 gramos. Por seguridad y para preservar la entrada de agua de lluvia, un interruptor de presión alterna el flujo de electricidad de los paneles para apagar la unidad PEM cuando se produce suficiente hidrógeno. Estimamos que más del 70% de la superficie de la Tierra recibe, en promedio, los 16 fl. oz de lluvia necesaria para hacer un lanzamiento de globo meteorológico por día.
Conclusión
Aunque arranqué casi en su totalidad con mis propios fondos, ayudé a completar 25 lanzamientos en total con estudiantes de 5 ubicaciones en los EE. UU. y África. Al proporcionar el equipo necesario y las guías de configuración, ayudé a establecer estaciones de generación de hidrógeno en las siguientes universidades:
- Universidad de Uyo en Uyo, Nigeria
- Universidad de la Ciudad Académica en Accra, Ghana
- Universidad de Douala en Douala, Camerún
También lideré algunos hackatones y eventos abiertos con Taikai Labs y Omdena, Inc. y descubrimos una nueva forma de usar los datos con el aprendizaje automático. Descubrimos que podemos hacer un modelo de pronóstico de lluvia de 12 horas entrenado en ML razonablemente preciso utilizando datos de globos existentes, especialmente cuando se compara con el rendimiento deficiente actual de los servicios tradicionales administrados por el gobierno. Estamos buscando cualquier oportunidad de financiamiento potencial para hacer un piloto de 9 meses en la Universidad de Douala para recopilar un conjunto de datos de capacitación de ML.
Eventualmente, con un conjunto de datos lo suficientemente grande sobre la región, hay potencialmente millones (si no miles de millones ) de dólares en ahorros de seguros a largo plazo mediante la mejora de los pronósticos de génesis de huracanes en el Atlántico este. Estos son conocidos como huracanes de Cabo Verde que se forman frente a la costa de África y eventualmente amenazan a los EE. UU. y el Caribe. Solo se necesitarían 20 estaciones bien mantenidas para reemplazar la red actual de globos meteorológicos en la región.
Todo el software y CAD utilizado en este proyecto es de código abierto. ¡Siéntase libre de utilizar componentes para lanzar su propio globo meteorológico o mejorar su propio proyecto!
Esquema
Código
https://github.com/Sesacash-Weather-Project/Eosio-blockchain-contract
Archivos
https://github.com/Sesacash-Weather-Project/payload_enclosure
Sé el primero en comentar