
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03



MQTT é um protocolo de mensagens padrão OASIS para a Internet das Coisas (IoT). Ele foi projetado como um transporte de mensagens de publicação / assinatura extremamente leve, ideal para conectar dispositivos remotos com uma pequena área de cobertura de código e largura de banda de rede mínima. MQTT hoje é usado em uma ampla variedade de indústrias, como automotiva, manufatura, telecomunicações, petróleo e gás, etc.
Por que MQTT: os clientes MQTT são muito pequenos, requerem recursos mínimos, portanto podem ser usados em microcontroladores pequenos. Os cabeçalhos das mensagens MQTT são pequenos para otimizar a largura de banda da rede.
Comunicação bidirecional: MQTT permite mensagens entre dispositivo para nuvem e nuvem para dispositivo. Isso facilita a transmissão de mensagens para grupos de coisas.
Dimensionar para milhões de coisas: o MQTT pode ser dimensionado para se conectar a milhões de dispositivos IoT.
Confiabilidade na entrega de mensagens: é importante para muitos casos de uso de IoT. É por isso que o MQTT tem 3 níveis de qualidade de serviço definidos:
- 0 - no máximo uma vez,
- 1- pelo menos uma vez,
- 2 - exatamente uma vez
Suporte para redes não confiáveis: muitos dispositivos IoT se conectam em redes celulares não confiáveis. O suporte do MQTT para sessões persistentes reduz o tempo para reconectar o cliente ao corretor.
Segurança ativada: o MQTT torna mais fácil criptografar mensagens usando TLS e autenticar clientes usando protocolos de autenticação modernos, como OAuth.
Suprimentos
- NodeMCU ESP8266 (ou) qualquer outra placa ESP8266 genérica
- Registro Ubidots
- Biblioteca de suporte do GitHub.
- Arduino IDE para fazer o upload do código.
Etapa 1: Configuração inicial do Arduino IDE




- Baixe a biblioteca UbidotsMQTTESP8266 do repositório GIT
- Abra o IDE do Arduino, navegue até "preferências" no menu "arquivo".
- No campo de texto "URLs adicionais do gerenciador de placas", cole o seguinte: https://arduino.esp8266.com/stable/package_esp8266… & pressione OK para continuar.
- Navegue até "Adicionar biblioteca. ZIP" no menu "Esboço> Incluir biblioteca" e indique o caminho do arquivo zip baixado.
- Aguarde a menos que o IDE receba uma mensagem: Biblioteca adicionada às suas bibliotecas. Verifique o menu "Incluir Biblioteca".
- Navegue até "Incluir Biblioteca" em "Sketch" e verifique se há "Ubidots MQTT para ESP8266"
Etapa 2: credenciais da API Ubidots



Faça login no Ubidots e anote as credenciais da API. Observe que precisaremos apenas do valor do "Token padrão".
Etapa 3: o código.


#include "UbidotsESPMQTT.h"
#define TOKEN "*********************************************** *** "// Seu TOKEN Ubidots
#define WIFINAME "*********" // Seu SSID
#define WIFIPASS "******************" // Seu Wifi Pass
Cliente Ubidots (TOKEN);
void callback (char * tópico, byte * payload, unsigned int length)
{
Serial.print ("Chegou a mensagem [");
Serial.print (tópico);
Serial.print ("]");
para (int i = 0; i <comprimento; i ++)
{
Serial.print ((char) carga útil );
}
void setup ()
{
client.setDebug (true);
Serial.begin (115200);
client.wifiConnection (WIFINAME, WIFIPASS);
client.begin (retorno de chamada);
}
void loop ()
{
if (! client.connected ())
{
client.reconnect ();
}
float valor1 = analogRead (A0);
client.add ("temperatura", valor1);
client.ubidotsPublish ("meu-novo-dispositivo");
client.loop ();
}
Nota: Por favor, consulte as imagens para melhor recuo das linhas.
Etapa 4: conectar, compilar e fazer upload do código.



Não é hora de conectar seu NodeMCU ESP8266 ao seu PC / Laptop, identificar sua porta, compilar e enviar o código.
Obtenha a ajuda necessária das capturas de tela anexadas para entender melhor o processo se você for novo no IDE do Arduino.
Etapa 5: A verificação final.

Se tudo correr bem, você deve ser capaz de observar algo semelhante ao que está representado na imagem.
Esta linha no código "client.ubidotsPublish (" my-new-device ");" é publicado.
Nota: Caso nada esteja sendo representado no painel do Ubodots, sugere-se desconectar e reconectar o NodeMCU.
Mantenha-se atento. Estou tentando postar mais alguns com Ubidots & NodeMCU ESP8266.
Recomendado:
Bot do Telegram com NodeMCU (ESP8266): 3 etapas

Bot do Telegram com NodeMCU (ESP8266): Precisa de um bot para dar notificações de seu sistema? ou fazer algo apenas enviando uma mensagem? O Telegram Bot é a sua solução! Neste tutorial, usarei o Telegram Web e o BotFather para fazer o meu bot
Como conectar o NodeMCU ESP8266 ao banco de dados MySQL: 7 etapas

Como conectar o NodeMCU ESP8266 ao banco de dados MySQL: MySQL é um sistema de gerenciamento de banco de dados relacional (RDBMS) amplamente usado que usa linguagem de consulta estruturada (SQL). Em algum ponto, você pode querer fazer o upload dos dados do sensor Arduino / NodeMCU para o banco de dados MySQL. Neste Instructable, veremos como conectar
Configuração inicial do NodeMcu ESP8266 com Arduino IDE: 10 etapas

NodeMcu ESP8266 Configuração inicial com Arduino IDE: Eu faço dispositivos controlados pelo Twitch; consoles personalizados, controladores e outras noyceventions! As transmissões ao vivo acontecem todas as quartas e sábados às 21h EST em https://www.twitch.tv/noycebru, destaques no TikTok @noycebru e você pode assistir aos tutoriais no YouT
Obtendo tempo na Internet usando o ESP8266 - Projeto NTP Clock com ESP8266 Nodemcu: 5 etapas

Obtendo tempo na Internet usando o ESP8266 | Projeto NTP Clock com ESP8266 Nodemcu: Neste tutorial, veremos como obter tempo usando o ESP8266 / nodemcu com Arduino IDE. Obter o tempo é especialmente útil no registro de dados para registrar a data e hora de suas leituras. Se o seu projeto ESP8266 tiver acesso à Internet, você pode obter tempo usando a Rede T
ESP8266 NODEMCU BLYNK IOT Tutorial - Esp8266 IOT usando Blunk e Arduino IDE - Controlando LEDs pela Internet: 6 etapas

ESP8266 NODEMCU BLYNK IOT Tutorial | Esp8266 IOT usando Blunk e Arduino IDE | Controlando LEDs pela Internet: Olá pessoal, neste instructables aprenderemos como usar IOT com nosso ESP8266 ou Nodemcu. Usaremos o aplicativo blynk para isso. Portanto, usaremos nosso esp8266 / nodemcu para controlar os LEDs pela internet. Então, o aplicativo Blynk será conectado ao nosso esp8266 ou Nodemcu