Comunicação Arduino+InfluxDB+Grafana Parte 1 | Daniel Ortega
Agricultura, máquinas, carros e tecnologia
Projetos Embarcados
Comunicação Arduino + InfluxDB + Grafana – Parte 1
Como havia antecipado num post passado (aqui) vou dar andamento ao meu projeto de monitoramento climático usando Arduino, InfluxDB e Grafana. Nesta primeira parte iremos configurar o ambiente e depois partiremos para a programação do Arduino.
Iniciei esse projeto com a idéia de gerir e monitorar o nosso viveiro de plantas, trazendo ele para a era IoT. Minha idéia inicial sempre foi usar o Arduino ou o Raspberry Pi, um banco de dados relacional padrão como o MySQL e desenvolver o dashboard em PHP com algum framework. Soava como bastante trabalho a ser feito e passei a procurar por opções e vi no Twitter alguém comentando do InfluxDB como um DB para séries temporais. Daí a encontrar o Grafana foi um tropeço.
Este é um artigo baseado no tutorial postado por Saeid Yazdani no site Embedonix (link original no final). Diferentemente do original que gera dados aleatórios irei aplicar à uma simples estação meteorológica monitorando apenas temperatura, umidade e dados relacionados (sensação térmica e ponto de orvalho).
Como sistema operacional para o ambiente escolhi utilizar o Ubuntu Server 17.04. Não vou cobrir os passos da instalação pois foge do escopo do artigo. Como sempre aparecem algumas pedras no caminho é interessante que você saiba um pouco de Linux e que não tenha medo de CLI.
As instalações são bem simples e em poucas etapas você terá o ambiente funcional. Para tanto é interessante ter o seguinte em mente:
Por padrão o InfluxDB utiliza as portas 8083, 8086, 8088. Caso não esteja conseguindo acessar verifique seu firewall. Estas portas podem ser editadas no arquivo de configuração;
O host deverá estar com o horário aferido através de um servidor NTP para evitar problemas com as entradas no DB de forma não acurada.
Adicione o repositório da InfluxData:
$curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add-source /etc/lsb-release
$echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
Então instale o serviço do InfluxDB:
$sudo apt-get update && sudo apt-get install influxdb
É preciso então gerar o arquivo de configuração:
Após rodar esse comando, você ira encontrar o arquivo de configuração 'influxdb.conf' dentro de '/etc/influxdb'. É necessário acesso root para editar esse comando. Os pontos importantes a verificar nesse arquivo é:
Verificar na seção [admin] se a linha 'enable=true' não está comentada, assim você pode acessar a página de administração do InfluxDB;
Como vamos usar HTTP para enviar os dados para o InfluxDB, verifique se está ativado na aba [http].
Então start o InfluxDB:
Pronto, o InfluxDB já está instalado e configurado!
Para acessar a página de administração acesse http://seu_ip:8083
O modo mais simples de instalar o Grafana é através do pacote deb disponibilizado. Segue abaixo os passos recomendados pelo desenvolvedor.
Após isso devemos dar um start no serviço:
E para ativá-lo no momento do boot:
Pronto! Para acessar o Grafana acesse http://seu_ip:3000
Por hoje é só! Na próxima parte vamos criar um banco de dados de teste e também conectá-lo ao Grafana.
Projetos Embarcados	/ Tags: Arduino, Embarcado, Estacão Meteorológica, Grafana, InfluxDB, Tecnologia	|
« Spoiler – Estação Meteorológica
Desatolando o MF 4275 »
Desatolando o MF 4275
Spoiler – Estação Meteorológica
Novo implemento – Distribuidor Centrífugo
Fotos da colheitadeira Uruguaia que me inspirou
4275 Arduino asfalto atolado azeite azeitonas Brasil colheitadeira disitrbuidor centrifugo Embarcado ESP-8266 espalhadeira Estacão Meteorológica Ethernet ferguson Grafana implemento InfluxDB interlagos massey mecanização mf Moisture oliveira olivopampa renault clio RS Santana do Livramento subsolador Tecnologia tecnologia no campo track day Uruguai velocidade