Entrar ou criar conta

ULC Lab · implementação reproduzível

Laboratório: Gateway Zigbee2MQTT com automação MQTT em bancada virtual

Você terá um gateway Zigbee2MQTT funcional em uma VM Linux, integrando um dispositivo Zigbee simulado a um broker MQTT local. O laboratório pode ser concluído em cerca de 2 horas.

Zigbee do zero à integração industrial
Ligado ao treinamento Zigbee do zero à integração industrial
ULC-LAB-IOT-0004 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
Duração estimada
90 min
Passos
13
Validações
5
Versões da documentação consultada
Zigbee2MQTT a versão estável atual · Eclipse Mosquitto a versão estável atual · Node.js a versão estável atual · npm a versão estável atual
Objetivo

Este laboratório ensina a montar, do zero, uma integração Zigbee-MQTT usando apenas software livre e hardware comum. Você vai entender, na prática, como um gateway Zigbee2MQTT conecta dispositivos Zigbee a sistemas de automação industrial via MQTT, base de qualquer solução IoT moderna em ambientes industriais.

Topologia

Um computador ou VM Linux roda o Zigbee2MQTT e o broker Mosquitto MQTT. Um adaptador USB Zigbee (ou simulador) conecta ao Zigbee2MQTT, que faz a ponte entre dispositivos Zigbee e tópicos MQTT. O usuário interage via CLI e MQTT Explorer (opcional), com endereços na faixa 192.168.56.0/24.

┌──────────────┐      USB      ┌──────────────┐      TCP      ┌───────────────┐
│  VM Linux   │<────────────>│ Zigbee2MQTT │<===========>│  Mosquitto    │
│192.168.56.10│              │ localhost    │   MQTT      │192.168.56.10  │
└──────────────┘              └──────────────┘              └───────────────┘
         │
         │
   Zigbee USB Dongle
         │
┌─────────────┐
│ Dispositivo│
│ Zigbee (sim)│
└─────────────┘

Equipamentos e software

ItemRequisito, licença ou versão
VM Linux (Ubuntu/Debian)1 vCPU, 1GB RAM, 10GB disco, acesso root
Adaptador USB Zigbee CC2531 ou simuladorporta USB livre
PC hostacesso SSH à VM
Zigbee2MQTTGPLv3 · a versão estável atual
Eclipse MosquittoEPL/EDL · a versão estável atual
Node.jsMIT · a versão estável atual
npmArtistic · a versão estável atual

Roteiro

  1. Preparar a VM Linux

    Garanta que sua VM está atualizada e com acesso root. Isso evita falhas inesperadas.

    sudo apt update && sudo apt upgrade -y

    O que você deve ver: Sistema atualizado sem erros

  2. Instalar Node.js e npm

    Zigbee2MQTT depende do Node.js. Use o repositório oficial para evitar versões antigas.

    sudo apt install -y nodejs npm

    O que você deve ver: node e npm instalados (verifique com node -v)

  3. Instalar Mosquitto MQTT Broker

    O broker MQTT é o elo entre Zigbee2MQTT e aplicações industriais.

    sudo apt install -y mosquitto mosquitto-clients

    O que você deve ver: Mosquitto rodando como serviço

  4. Conectar o adaptador Zigbee USB

    Conecte o dongle Zigbee CC2531 (ou similar) à VM. Se usar simulador, consulte a documentação do Zigbee2MQTT.

    ls /dev/ttyACM* /dev/ttyUSB*

    O que você deve ver: Dispositivo USB listado (ex: /dev/ttyACM0)

  5. Instalar Zigbee2MQTT

    Clone o repositório oficial e instale as dependências. Isso garante a versão mais recente e estável.

    git clone https://github.com/Koenkk/zigbee2mqtt.git
    cd zigbee2mqtt
    npm ci

    O que você deve ver: Dependências instaladas sem erros

  6. Configurar Zigbee2MQTT

    Edite o arquivo de configuração para apontar para o broker MQTT local e o dongle Zigbee. Isso conecta os mundos Zigbee e MQTT.

    nano data/configuration.yaml

    O que você deve ver: Arquivo salvo com as configurações corretas

  7. Exemplo de configuration.yaml

    Insira as linhas mínimas para funcionamento básico.

    homeassistant: false
    mqtt:
      base_topic: zigbee2mqtt
      server: 'mqtt://localhost:1883'
    serial:
      port: '/dev/ttyACM0'

    O que você deve ver: Arquivo salvo sem erros de sintaxe

  8. Iniciar Zigbee2MQTT

    Suba o serviço e monitore logs. Isso mostra se a ponte Zigbee-MQTT está ativa.

    npm start

    O que você deve ver: Log indica 'Zigbee started' e conexão ao MQTT

  9. Parear um dispositivo Zigbee (simulado)

    Coloque o dispositivo Zigbee em modo de pareamento. Se não tiver hardware, use o modo de simulação do Zigbee2MQTT (consulte a documentação).

    Acompanhe logs do Zigbee2MQTT

    O que você deve ver: Dispositivo reconhecido nos logs

  10. Publicar e receber mensagens MQTT

    Teste a comunicação MQTT usando o mosquitto_sub e mosquitto_pub. Isso valida a integração ponta a ponta.

    mosquitto_sub -t zigbee2mqtt/+/state -v

    O que você deve ver: Mensagens de estado dos dispositivos Zigbee

  11. Automatizar um comando via MQTT

    Envie um comando MQTT para acionar o dispositivo Zigbee. Isso simula uma automação industrial.

    mosquitto_pub -t zigbee2mqtt/<NOME_DO_DISPOSITIVO>/set -m '{"state": "ON"}'

    O que você deve ver: Dispositivo Zigbee responde e log mostra ação

  12. Monitorar tópicos MQTT

    Use o mosquitto_sub para acompanhar todos os tópicos Zigbee2MQTT.

    mosquitto_sub -t zigbee2mqtt/# -v

    O que você deve ver: Fluxo de mensagens MQTT em tempo real

  13. Persistir logs para análise

    Configure Zigbee2MQTT para salvar logs em arquivo. Isso é essencial para ambientes industriais.

    Consulte a documentação do Zigbee2MQTT para configuração de logs

    O que você deve ver: Arquivo de log gerado em disco

Como saber que funcionou

TesteComandoCritério
Verificar status do broker MQTTsudo systemctl status mosquittoStatus ativo (running)
Checar conexão Zigbee2MQTT ao MQTTgrep 'Connected to MQTT server' data/log/*.logMensagem de conexão encontrada
Parear dispositivo ZigbeeVerificar logs do Zigbee2MQTTDispositivo listado como 'joined'
Receber mensagem MQTT de estadomosquitto_sub -t zigbee2mqtt/+/state -vMensagem recebida ao acionar dispositivo
Enviar comando MQTT e ver respostamosquitto_pub ... ; monitorar logDispositivo responde e log registra ação

Troubleshooting

SintomaCausa provávelCorreção
Zigbee2MQTT não iniciaPorta serial incorreta ou ocupadaVerifique se o dongle está em /dev/ttyACM0 ou ajuste no configuration.yaml
Mosquitto não aceita conexõesServiço parado ou firewall bloqueandoInicie o serviço com sudo systemctl start mosquitto e ajuste firewall
Dispositivo Zigbee não pareiaModo de pareamento não ativado ou distância excessivaAtive o modo pareamento e aproxime o dispositivo do dongle
Mensagens MQTT não aparecemBase_topic errado ou cliente subscrevendo tópico incorretoConfirme base_topic em configuration.yaml e tópicos nos comandos
Logs não são salvosConfiguração de log ausenteConsulte a documentação do Zigbee2MQTT para ativar logs em arquivo

Segurança e hardening

  • Altere a senha padrão do Mosquitto e use autenticação para evitar acesso não autorizado
  • Restrinja o acesso à porta 1883 apenas à rede interna
  • Desabilite tópicos MQTT desnecessários
  • Mantenha Zigbee2MQTT e dependências sempre atualizados
  • Revise permissões de arquivos de configuração e logs

Checklist final

Referências

  1. Zigbee Alliance Specifications · Zigbeealliance (zigbeealliance.org)
  2. Mosquitto Documentation · OASIS (MQTT) (mqtt.org)
Verificação editorial
Publicado
09/09/2026
Última revisão
09/09/2026
Versão do conteúdo
1.0
Referências
2 oficiais
Revisão técnica
redação e revisão por IA, URLs conferidas na publicação
Status
Atual
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.