---
title: "Exemplo MQTT em Node-RED: conectar, publicar e assinar | ConnectMQ"
description: "Exemplo de cliente MQTT em Node-RED com mqtt in / mqtt out nodes: código pronto para o broker público broker.connectmq.com e conexão TLS segura ao ConnectMQ."
url: "https://connectmq.com/pt/exemplos-de-codigo/node-red/"
language: "pt"
---

Exemplos de código

# Exemplo MQTT em Node-RED

Conecte o Node-RED a um broker MQTT com um fluxo pronto para importar. Comece no broker público gratuito e depois aponte o mesmo código para um broker privado e seguro no ConnectMQ.

Biblioteca

[mqtt in / mqtt out nodes](https://nodered.org/docs/user-guide/messages)

[**Código-fonte no GitHub**`mqtt-code-samples/node-red`Clone os exemplos completos e prontos para rodar. Estrelas e pull requests são bem-vindos. Ver no GitHub](https://github.com/connectmq/mqtt-code-samples/tree/main/node-red)

## 1\. Teste no broker público gratuito

Sem precisar de conta: conecte-se a `broker.connectmq.com` na porta 1883 e comece a publicar em segundos.

flow.json

```
[
  { "id": "cmq_broker", "type": "mqtt-broker", "name": "Broker ConnectMQ",
    "broker": "broker.connectmq.com", "port": "1883", "usetls": false,
    "protocolVersion": "4", "keepalive": "60", "cleansession": true },
  { "id": "cmq_inject", "type": "inject", "name": "Envia uma leitura a cada 10 s", "x": 160, "y": 80,
    "props": [{ "p": "payload" }], "payload": "{\"temperature\":21.5}", "payloadType": "json",
    "repeat": "10", "once": true, "wires": [["cmq_out"]] },
  { "id": "cmq_out", "type": "mqtt out", "name": "Publica uma leitura em JSON", "x": 420, "y": 80,
    "topic": "your-project/sensors/temperature", "qos": "1", "retain": "false",
    "broker": "cmq_broker", "wires": [] },
  { "id": "cmq_in", "type": "mqtt in", "name": "Assina o tópico de temperatura", "x": 160, "y": 160,
    "topic": "your-project/sensors/#", "qos": "1", "datatype": "auto-detect",
    "broker": "cmq_broker", "wires": [["cmq_debug"]] },
  { "id": "cmq_debug", "type": "debug", "name": "Executado para cada mensagem de um tópico assinado", "x": 420, "y": 160,
    "active": true, "complete": "payload", "wires": [] }
]
```

### Broker MQTT público gratuito

O broker público é compartilhado: qualquer pessoa pode assinar seus tópicos. Nunca envie senhas, dados pessoais ou qualquer informação confidencial por ele.

[Sobre o broker MQTT público gratuito](https://connectmq.com/pt/broker-mqtt-publico/)

## 2\. Vá para produção com o ConnectMQ

Para dispositivos reais, use um broker MQTT serverless privado no ConnectMQ em vez do público: criptografia TLS, usuário e senha para cada dispositivo e controle de acesso por tópico, totalmente gerenciado. Comece no plano Free — sem cartão de crédito.

Substitua YOUR\_BROKER\_HOST, YOUR\_USERNAME e YOUR\_PASSWORD pelos valores do seu painel do ConnectMQ.

[Comece grátis](https://app.connectmq.com/signup) [Ver preços](https://connectmq.com/pt/precos/)

flow.json

```
[
  { "id": "cmq_tls", "type": "tls-config", "name": "TLS: o repositório de CAs do sistema verifica o certificado do broker", "verifyservercert": true },
  { "id": "cmq_broker", "type": "mqtt-broker", "name": "Broker ConnectMQ",
    "broker": "YOUR_BROKER_HOST", "port": "8883", "usetls": true, "tls": "cmq_tls",
    "protocolVersion": "4", "keepalive": "60", "cleansession": true,
    "credentials": { "user": "YOUR_USERNAME", "password": "YOUR_PASSWORD" } },
  { "id": "cmq_inject", "type": "inject", "name": "Envia uma leitura a cada 10 s", "x": 160, "y": 80,
    "props": [{ "p": "payload" }], "payload": "{\"temperature\":21.5}", "payloadType": "json",
    "repeat": "10", "once": true, "wires": [["cmq_out"]] },
  { "id": "cmq_out", "type": "mqtt out", "name": "Publica uma leitura em JSON", "x": 420, "y": 80,
    "topic": "your-project/sensors/temperature", "qos": "1", "retain": "false",
    "broker": "cmq_broker", "wires": [] },
  { "id": "cmq_in", "type": "mqtt in", "name": "Assina o tópico de temperatura", "x": 160, "y": 160,
    "topic": "your-project/sensors/#", "qos": "1", "datatype": "auto-detect",
    "broker": "cmq_broker", "wires": [["cmq_debug"]] },
  { "id": "cmq_debug", "type": "debug", "name": "Executado para cada mensagem de um tópico assinado", "x": 420, "y": 160,
    "active": true, "complete": "payload", "wires": [] }
]
```

## Perguntas frequentes sobre MQTT com Node-RED

Como conectar Node-RED a um broker MQTT?

Instale mqtt in / mqtt out nodes, conecte-se ao host do broker na porta 1883 (ou 8883 com TLS) e depois assine um tópico e publique mensagens nele. Os exemplos desta página se conectam ao broker público gratuito broker.connectmq.com e a um broker privado do ConnectMQ.

Existe um broker MQTT gratuito para testar Node-RED?

Sim. broker.connectmq.com é um broker MQTT público e gratuito que não exige conta. Qualquer pessoa pode ler seus tópicos, então use-o apenas para testes e com um prefixo de tópico exclusivo.

Como proteger uma conexão MQTT com Node-RED?

Conecte-se via TLS na porta 8883 com um usuário e senha do seu painel do ConnectMQ e, em vez de usar o broker público, dê a cada dispositivo suas próprias credenciais e permissões de tópico.

## Mais exemplos de código

[

### Python

Conecte Python a um broker MQTT com paho-mqtt.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/python/)[

### Node.js

Conecte Node.js a um broker MQTT com MQTT.js.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/nodejs/)[

### ESP32

Conecte um ESP32 a um broker MQTT via Wi-Fi com a biblioteca PubSubClient para Arduino.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/esp32/)[

### Go

Conecte Go a um broker MQTT com o cliente Eclipse Paho para Go.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/go/)[

### CLI (mosquitto)

Publique e assine pela linha de comando com mosquitto\_pub e mosquitto\_sub.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/cli/)[

### Java

Conecte Java a um broker MQTT com o cliente Eclipse Paho para Java.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/java/)[

### C# (.NET)

Conecte C# e .NET a um broker MQTT com MQTTnet.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/csharp/)[

### Rust

Conecte Rust a um broker MQTT com o crate rumqttc.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/rust/)[

### Dart (Flutter)

Conecte apps Dart e Flutter a um broker MQTT com o pacote mqtt\_client.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/dart-flutter/)[

### Swift / Kotlin

Conecte apps nativos de iOS (Swift) e Android (Kotlin) a um broker MQTT.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/swift-kotlin/)[

### Home Assistant

Conecte o Home Assistant a um broker MQTT e transforme mensagens MQTT em sensores.

Ver exemplo](https://connectmq.com/pt/exemplos-de-codigo/home-assistant/)

[Todos os exemplos de código](https://connectmq.com/pt/exemplos-de-codigo/)

### Broker MQTT público gratuito

Teste qualquer exemplo em broker.connectmq.com — sem cadastro, com MQTT 3.1.1 e 5, TCP, TLS e WebSocket.

[Sobre o broker MQTT público gratuito](https://connectmq.com/pt/broker-mqtt-publico/)

### MQTT serverless seguro para produção

Quando chegar a hora dos dispositivos reais, rode o mesmo código em um broker ConnectMQ privado e totalmente gerenciado, com TLS e credenciais por dispositivo.

[Comece grátis](https://app.connectmq.com/signup)

## Seu broker MQTT privado está a poucos cliques de distância

Crie uma conta, receba as credenciais do seu broker e conecte seu primeiro dispositivo — sem servidores para instalar, atualizar ou escalar.

[Começar agora](https://app.connectmq.com/signup) [Ver preços](https://connectmq.com/pt/precos/)

## Artigos

[Todos os artigos](https://connectmq.com/pt/blog/)

Tutoriais de IoT

### [Tutorial ESP32 MQTT: Publique Dados de Sensores e Controle um LED com a Arduino IDE](https://connectmq.com/pt/blog/tutorial-esp32-mqtt/)

Conecte um ESP32 a um broker MQTT com a Arduino IDE e o PubSubClient, publique leituras de temperatura em JSON, controle o LED da placa pela linha de comando e migre para TLS com credenciais do portal.

23 de agosto de 20269 min de leitura

Tutoriais de IoT

### [Broker MQTT Público e Gratuito para Testes: Conecte ao broker.connectmq.com em Minutos](https://connectmq.com/pt/blog/broker-mqtt-publico-gratuito/)

O broker.connectmq.com é um servidor MQTT público e gratuito para testes e aprendizado. Aqui estão as portas, as regras de acesso anônimo, os limites e exemplos prontos para copiar e colar no CLI, em Python, Node.js e no navegador.

20 de setembro de 20268 min de leitura

Tutoriais de IoT

### [MQTT sobre WebSocket: Conecte um Navegador a um Broker MQTT com MQTT.js](https://connectmq.com/pt/blog/mqtt-sobre-websocket/)

Navegadores não conseguem abrir sockets TCP puros, então aplicações web falam MQTT sobre WebSocket. Construa um cliente funcional no navegador e outro em Node.js usando o servidor MQTT público broker.connectmq.com e aprenda a resolver os erros de conexão mais comuns.

29 de setembro de 20269 min de leitura
