Índice:

Conecte seu Magicbit ao Thingsboard: 3 etapas
Conecte seu Magicbit ao Thingsboard: 3 etapas

Vídeo: Conecte seu Magicbit ao Thingsboard: 3 etapas

Vídeo: Conecte seu Magicbit ao Thingsboard: 3 etapas
Vídeo: ESP32 Send Temperature and Humidity Data to localhost XAMPP for Absolute Beginners Step by Step 2024, Junho
Anonim
Conecte seu Magicbit ao Thingsboard
Conecte seu Magicbit ao Thingsboard

Neste projeto, vamos enviar dados de sensores conectados ao magicbit que podemos exibir visualmente no thingsboard.

Suprimentos:

  • Magicbit
  • Sensor DHT11 de Temperatura e Umidade (4 pinos)

Etapa 1: História

História
História
História
História
História
História
História
História

Introdução

ThingsBoard é uma plataforma do lado do servidor de código aberto que permite monitorar e controlar dispositivos IoT. É gratuito para uso pessoal e comercial e você pode implantá-lo em qualquer lugar. Se esta é sua primeira experiência com a plataforma, recomendamos revisar a página what-is-thingsboard e o guia de primeiros passos.

Este aplicativo de amostra permitirá que você exiba dados de umidade / temperatura do sensor DHT11 usando seu dispositivo magicbit e a interface de usuário da Web ThingsBoard.

O aplicativo que está rodando no dispositivo Magicbit é escrito usando ThingsBoard Arduino SDK, que é bastante simples e fácil de entender.

Depois de concluir este exemplo / tutorial, você verá os dados do sensor no painel a seguir.

Visite a página oficial do Thingsboard Demo e inscreva-se.

Após fazer o login, na barra lateral esquerda, você verá Dispositivos. Clique em dispositivos e adicione um novo dispositivo.

Na guia credenciais, marque a guia Adicionar credenciais e escolha Token de acesso na caixa suspensa. Você pode adicionar seu próprio token de acesso ou deixar em branco para gerar o token automaticamente.

Defina o dispositivo como magicbit no alias. Vá para a guia do painel e importe o painel.

Siga as etapas a seguir em imagens para importar o painel. Encontre o arquivo JSON de demonstração chamado "magicbit_temperature_humidity_demo_dashboard.json" nos anexos.

Conecte seu bit mágico com o módulo DHT11 como segue para o pino 33.

No IDE do Arduino, baixe as bibliotecas acima.

A seguir está o código do Arduino que você usará.

Nota Você precisa editar as seguintes constantes e variáveis no esboço:

  • WIFI_AP - nome do seu ponto de acesso
  • WIFI_PASSWORD - senha do ponto de acesso
  • TOKEN - o $ ACCESS_TOKEN da etapa de configuração do ThingsBoard.
  • THINGSBOARD_SERVER - ThingsBoard HOST / endereço IP que pode ser acessado em sua rede wi-fi. Especifique demo.thingsboard.io se estiver usando um servidor de demonstração ao vivo.

Etapa 2: Código Arduino

#include // DHT para biblioteca de biblioteca # include // controle WiFi para ESP32 # include // ThingsBoard SDK # define DHTPIN 33 // a qual pino digital estamos conectados # define DHTTYPE DHT11 // DHT 11DHT dht (DHTPIN, DHTTYPE); // Macro auxiliar para calcular o tamanho do array # define COUNT_OF (x) ((sizeof (x) / sizeof (0 [x])) / ((size_t) (! (Sizeof (x)% sizeof (0 [x]))))) // Ponto de acesso WiFi # define WIFI_AP_NAME "4G" // "WIFI_AP" // Senha WiFi # define WIFI_PASSWORD "nevergiveup" // "WIFI_PASSWORD" // Veja https://thingsboard.io/docs/getting- started-Guides / helloworld /// para entender como obter um token de acesso # define TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN" // Instância do servidor ThingsBoard. # define THINGSBOARD_SERVER "demo.thingsboard.io" // Taxa de transmissão para serial de depuração #define SERIAL_DEBUG_BAUD 115200 // Inicializar ThingsBoard clientWiFiClient espClient; // Inicializar ThingsBoard instanceThingsBoard tb (espClient); // status do rádio Wifi int status = WL_IDLE_STATUS; // Período de envio de dados de temperatura / umidade.int send_delay = 2000; unsigned long millis_counter; void InitWiFi () {Serial.println ("Conectando ao AP…"); // tentativa de conexão à rede WiFi WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } Serial.println ("Conectado ao AP");} void reconnect () {// Loop até que estejamos reconectados status = WiFi.status (); if (status! = WL_CONNECTED) {WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } Serial.println ("Conectado ao AP"); }} // Configurar um applicationvoid setup () {// Inicializar serial para depuração Serial.begin (SERIAL_DEBUG_BAUD); WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi (); // Inicializar o sensor de temperatura dht.begin ();} // Loopvoid do aplicativo principal () {// Reconectar ao WiFi, se necessário if (WiFi.status ()! = WL_CONNECTED) {reconnect (); Retorna; } // Reconecte-se ao ThingsBoard, se necessário if (! Tb.connected ()) {// Conecte-se ao ThingsBoard Serial.print ("Conectando-se a:"); Serial.print (THINGSBOARD_SERVER); Serial.print ("com token"); Serial.println (TOKEN); if (! tb.connect (THINGSBOARD_SERVER, TOKEN)) {Serial.println ("Falha ao conectar"); Retorna; }} // Verifique se é hora de enviar temperatura e umidade DHT11 if (millis () - millis_counter> send_delay) {Serial.println ("Enviando dados…"); // Carrega nova telemetria para ThingsBoard usando MQTT. // Veja https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // para mais detalhes float h = dht.readHumidity (); // Lê a temperatura como Celsius (o padrão) float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Falha ao ler do sensor DHT!"); } else {Serial.print ("Temperatura:"); Serial.print (t); Serial.print ("Umidade"); Serial.println (h); tb.sendTelemetryFloat ("temperatura", t); tb.sendTelemetryFloat ("umidade", h); } millis_counter = millis (); // redefinir o contador de milis} // Processar mensagens tb.loop ();}

Etapa 3: Visualização de dados

Visualização de dados
Visualização de dados

No servidor de demonstração ao vivo:

  • login: seu nome de usuário de demonstração ao vivo (e-mail)
  • senha: sua senha de demonstração ao vivo

Veja a página de demonstração ao vivo para mais detalhes sobre como obter sua conta.

Vá para a seção “Dispositivos” e localize “Magicbit”, abra os detalhes do dispositivo e mude para a guia “Telemetria mais recente”. Se tudo estiver configurado corretamente, você poderá ver os valores mais recentes de “temperatura” e “umidade”.

Depois, abra a seção “Painéis” e localize e abra “magicbit_temperature_humidity_demo_dashboard”. Como resultado, você verá um gráfico de série temporal exibindo o nível de temperatura e umidade (semelhante à imagem do painel na introdução).

Recomendado: