[IoT - Drones] Trabalhando com telemetria - Episódio 1
Tags: elasticsearch, iot, drone, telemetry
Published: 2023-01-16 13:30:58

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](https://dl-cdn.ryzerobotics.com/downloads/Tello/Tello%20SDK%202.0%20User%20Guide.pdf) 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n9lejp01lwbkx7kvdbiq.jpg)


***O Protocolo de comunicação MQTT***

Para que haja comunicação entre o drone e o servidor, vamos utilizar o protocolo [MQTT](https://mqtt.org/) 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](https://mosquitto.org/) 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](https://www.elastic.co/pt/beats/) da Elastic chamado [Filebeat](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-mqtt.html). 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](https://www.elastic.co/pt/what-is/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](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html) 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5llt3ylicxa4rrc85y54.png)

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](https://dev.to/salgado/iiot-trabalhando-com-telemetria-de-drones-episodio-1-38mb)
2. [[IoT - Drones] Configurando o MQTT Broker - Episódio 2](https://dev.to/salgado/iot-drones-configurando-o-mqtt-broker-episodio-2-28l4)
3. [[IoT - Drones] Preparando a ingestão de dados através do Filebeat- Episódio 3](https://dev.to/salgado/iot-drones-preparando-a-ingestao-de-dados-atraves-do-filebeat-episodio-3-40ok)
4. [[IoT - Drones] Testando a Telemetria - Episódio 4](https://dev.to/salgado/iot-drones-testando-a-telemetria-episodio-4-3j9e)
5. [[IoT - Drones] Visualizando os dados com o Kibana - Episódio FINAL](https://dev.to/salgado/iot-drones-visualizando-os-dados-com-o-kibana-episodio-final-265c)