DEV Community

Cover image for [IoT - Drones] Trabalhando com telemetria - Episódio 1
Alex Salgado
Alex Salgado

Posted on • Updated on

[IoT - Drones] Trabalhando com telemetria - Episódio 1

Você tem interesse em Drones ou trabalha com UAVs? Como você monitora as condições da sua aeronave? E se você tiver uma frota deles? Você ainda está criando programas do zero para todas essas tarefas e ainda não resolveu seu problema?

Este post trata de telemetria de Drones. Como receber os dados dos sensores em tempo real, transformá-los e armazená-los em um banco de dados de alta performance na nuvem. Tudo isso para criar uma visualização de toda a sua frota e conseguir gerenciá-la de forma otimizada, rápida e de qualquer lugar, pois as informações de seus Veículos Aéreos Não Tripulados (UAVs) estarão na nuvem.

Pré-requisitos

Tudo que precisamos é um drone, um meio de comunicação para leitura de dados dos sensores, um banco para armazenar essa telemetria e uma tela bonita para visualizar as informações.

O Drone

Para esse experimento, vamos usar um DJI Tello que além do custo e tamanho reduzido, pode ser usado dentro de casa e possui API para programação em Python.

Drone Elastic|500x500

O Protocolo de comunicação MQTT

Para que haja comunicação entre o drone e o servidor, vamos utilizar o protocolo MQTT que trata-se de um meio de comunicação muito utilizado em arquiteturas IoT. O MQTT atua na camada de TCP, baseia-se no padrão pub/sub e permite a transmissão dos dados dos sensores em alta velocidade. Hoje, o MQTT é usado em uma ampla variedade de indústrias, como automotiva, manufatura, telecomunicações, petróleo e gás, etc.

Vamos utilizar o Mosquitto como message broker para implementar essa transmissão via MQTT.

Ingestão dos dados

Para coletar os dados publicados no MQTT, vamos utilizar o Beat da Elastic chamado Filebeat. Esse beat possui uma implementação customizada para ler diretamente os dados via MQTT.

Após a ingestão dos dados, iremos transferir os mesmos para o Elasticsearch.

O Banco de dados

A indústria 4.0 vem gerando bilhões de informações com seus projetos de robótica, carros autônomos, IIoT, etc. Então precisamos de um banco de dados que comporte essa quantidade imensa de informações geradas pelos sensores. Estas mesmas informações precisam estar disponíveis rapidamente quando solicitadas.
O Elasticsearch encaixa-se perfeitamente nesse cenário. Dessa forma, os dados chegarão ao banco através do Filebeat, e internamente as informações necessárias serão extraídas através de um pipeline de ingestão o qual armazenará no índice apropriado.

A visualização

Toda essa informação processada em tempo-real, poderá ser visualizada e analisada através do Kibana. Neste caso em específico, vamos utilizar o Kibana Canvas.

Arquitetura IoT

A arquitetura proposta então seria como na figura abaixo

Arquitetura

Gostou? Gostaria de aprender a implementar esse sistema? Acompanhe o próximo Episódio ...

Abraços!

Este é o primeiro capítulo da série [IoT Drones]. Caso tenha perdido algum episódio anterior, não se preocupe, confira a lista abaixo para acompanhar a série completa.

  1. [IoT - Drones] Trabalhando com telemetria - Episódio 1
  2. [IoT - Drones] Configurando o MQTT Broker - Episódio 2
  3. [IoT - Drones] Preparando a ingestão de dados através do Filebeat- Episódio 3
  4. [IoT - Drones] Testando a Telemetria - Episódio 4
  5. [IoT - Drones] Visualizando os dados com o Kibana - Episódio FINAL

Top comments (0)