El proyecto Quakesense es un sistema de monitoreo de terremotos de código abierto y monitoreo ambiental que consiste en una red IoT de baja potencia y bajo costo hecha de nodos de sensores autónomos de energía que se alimentan a través de un sistema de recolección de energía y están conectados a una puerta de enlace en una topología de estrella.
El proyecto se basa en dos tecnologías emergentes de IoT, MQTT y Lora, una de las tecnologías de redes de área de baja potencia de baja potencia (LPWAN) que proporciona un buen compromiso entre la cobertura, el consumo actual, la longitud de carga útil, el ancho de banda y la velocidad de datos.
Los datos recopilados se ofrecen a los usuarios gracias a una interfaz dedicada basada en la web, lo que permite el monitoreo en tiempo real de eventos sísmicos y parámetros ambientales.
Los componentes principales del proyecto Quakesense son: uno o más nodos de sensores, una puerta de enlace Lora de un solo canal y una plataforma de nube IoT.
Cada nodo del sensor consta de los siguientes componentes:
Por defecto, cada nodo del sensor se ejecuta en modo de baja potencia. En esta configuración, el STM32 MCU se ejecuta en modo de parada (el MCU se detiene y los relojes se apagan, pero el contenido de SRAM y los registros se mantiene), el módulo GPS está en modo siempre rellenado (un modo de ahorro de alimentación inteligente que permite que el módulo GPS se ajuste de forma adaptativa y automáticamente el tiempo completo de acuerdo con las condiciones de movimiento y el movimiento del lora en el modo LORA en el modo en espera de la lora en el modo de almacenamiento de máximo para el máximo de energía máximo.
Cuando se produce un evento sísmico, el acelerómetro genera una interrupción asociada al evento de activación y el nodo comienza a ejecutarse en modo Ejecutar, lo que da como resultado que se despierte el MCU STM32 y el módulo GPS en modo completo, mientras que el módulo Lora se coloca en modo de transmisión. El evento de despertar ocurre si al menos uno de los 3 componentes de aceleración excede el umbral de referencia (50 mg para los componentes horizontales, 1120 mg para el vertical).
Una vez en el modo de ejecución, el nodo del sensor comienza a leer y registrar datos de aceleración para calcular la duración entre paréntesis, definido como el intervalo de tiempo entre el primero y el último superior del umbral de aceleración, y los 3 componentes de la aceleración de tierra máxima (PGA) definida como la amplitud máxima de la aceleración en el valor absoluto. Los parámetros de movimiento fuerte calculados también se referen georrefidentes gracias al módulo GPS, de modo que los parámetros de latitud, longitud, altitud, fecha y hora se agregan al paquete Lora que finalmente se envía a la puerta de enlace.
El comportamiento basal del nodo prevé un monitoreo periódico (por defecto, cada 15 minutos) de los parámetros ambientales (temperatura, humedad relativa y presión) a través de los sensores MEMS LPS22HB y HTS221.
La puerta de enlace Lora de un solo canal consta de los siguientes componentes:
La puerta de enlace está funcionalmente a cargo de recibir paquetes enviados por nodos sensores, analizar los valores encapsulados y reenviarlos a la plataforma AdaFruit IO a través del protocolo MQTT.
La puerta de enlace también se ocupa de la integridad de los paquetes: cada vez que se recibe un nuevo paquete, la puerta de enlace calcula la suma de verificación y la compara con la del mensaje recibido. En el caso de un desajuste, el paquete se cae y se envía un mensaje de error a la plataforma AdaFruit IO.
La plataforma Adafruit IO se utiliza para recopilar, procesar y visualizar datos ambientales en tiempo real y parámetros de movimiento fuerte relacionados con eventos sísmicos.
La interfaz de usuario (UI) consiste en un tablero, que incluye algunos widgets implementados a través de gráficos de línea, medidores y otros bloques para mostrar el valor de los parámetros ambientales y la tendencia de tiempo de los tres componentes de la aceleración del suelo máximo.
Las bibliotecas y marcos de software utilizados para implementar el proyecto Quakesense son:
Biagio montaruli - [email protected]
Este software tiene licencia bajo los términos del GNU GPLV3. Consulte el archivo License.md para obtener más detalles.
Este proyecto ha sido desarrollado para mi tesis de pregrado en Internet de las cosas en la Universidad Politécnica de Bari (Poliba).
Deseo agradecer especial a mi profesor y supervisor Luigi Alfredo Grieco, y a todos los investigadores y personas del Laboratorio de Telemática (@Telematics-Dev) que me ayudaron durante el desarrollo de este proyecto.