O projeto do QuakeSense é um sistema de terremoto e monitoramento ambiental de código aberto que consiste em uma rede de baixo custo e baixo custo, feita de nós de sensores autônomos de energia que são alimentados por um sistema de colheita de energia e estão conectados a um gateway em uma topologia em estrela.
O projeto é baseado em duas tecnologias emergentes da IoT, MQTT e LORA, uma das tecnologias de redes de área de baixa área de baixa potência mais promissora (LPWAN) que fornecem um bom compromisso entre cobertura, consumo atual, comprimento da carga útil, largura de banda e taxa de dados.
Os dados coletados são oferecidos aos usuários, graças a uma interface baseada na Web dedicada, permitindo assim o monitoramento em tempo real de eventos sísmicos e parâmetros ambientais.
Os principais componentes do projeto QuakeSense são: um ou mais nós sensores, um gateway Lora de canal único e uma plataforma de nuvem de IoT.
Cada nó do sensor consiste nos seguintes componentes:
Por padrão, cada nó do sensor é executado no modo de baixa potência. Nesta configuração, o STM32 MCU é executado no modo de parada (o MCU é interrompido e os relógios são desligados, mas o conteúdo de SRAM e registros são mantidos), o módulo GPS está sempre localizado (um modo de economia de energia inteligente que permite que o módulo GPS seja ajustado e automaticamente ajuste o tempo, de acordo com as condições ambientais e de movimento), enquanto as condições de movimento, enquanto o Module de Module e Af à Module Ambiente.
Quando ocorre um evento sísmico, o acelerômetro gera uma interrupção associada ao evento de despertar e o nó começa a ser executado no modo de execução, o que resulta em acordar o MCU STM32 e o módulo GPS no modo completo, enquanto o módulo Lora é colocado no modo de transmissão. O evento de despertar ocorre se pelo menos um dos 3 componentes de aceleração exceder o limite de referência (50 mg para os componentes horizontais, 1120 mg para o vertical).
Uma vez no modo de execução, o nó do sensor começa a ler e gravar dados de aceleração para calcular a duração entre colchetes, definidos como o intervalo de tempo entre o primeiro e o último excedente do limite de aceleração e os 3 componentes do pico de aceleração do solo (PGA), definidos como a amplitude máxima de aceleração no valor absoluto. Os parâmetros de movimento forte calculado também são geo-referenciados graças ao módulo GPS, de modo que os parâmetros de latitude, longitude, altitude, data e hora são adicionados ao pacote Lora que finalmente é enviado ao gateway.
O comportamento da linha de base do nó prevê um monitoramento periódico (por padrão, a cada 15 minutos) dos parâmetros ambientais (temperatura, umidade relativa e pressão) através dos sensores LPS22HB e HTS221 MEMS.
O gateway Lora Lora de canal único consiste nos seguintes componentes:
O gateway é funcionalmente encarregado de receber pacotes enviados pelos nós do sensor, analisando os valores encapsulados e encaminhando -os para a plataforma Adafruit IO através do protocolo MQTT.
O gateway também lida com a integridade dos pacotes: toda vez que um novo pacote é recebido, o gateway calcula a soma de verificação e o compara com o da mensagem recebida. No caso de uma incompatibilidade, o pacote é descartado e uma mensagem de erro é enviada para a plataforma Adafruit IO.
A plataforma Adafruit IO é usada para coletar, processar e visualizar em dados ambientais em tempo real e parâmetros de movimento forte relacionados a eventos sísmicos.
A interface do usuário (UI) consiste em um painel, que inclui alguns widgets implementados por meio de gráficos de linha, medidores e outros blocos para mostrar o valor dos parâmetros ambientais e a tendência de tempo dos três componentes da aceleração do solo de pico.
As bibliotecas de software e estruturas usadas para implementar o projeto QuakeSense são:
Biagio Montaruli - [email protected]
Este software é licenciado nos termos do GNU GPLV3. Consulte o arquivo License.md para obter mais detalhes.
Este projeto foi desenvolvido para minha tese de graduação na Internet das Coisas na Universidade Politécnica de Bari (Poliba).
Desejo agradecer especial ao meu professor e supervisor Luigi Alfredo Grieco e a todos os pesquisadores e pessoas do laboratório da telemática (@telemática-Dev) que me ajudaram durante o desenvolvimento deste projeto.