Node-RED: Ligação ao MQTT via WebSockets

Esta documentação faz parte do guia Servidor MQTT. Consulte o guia completo aqui: Como ligar o Node-RED ao servidor Mosquitto MQTT.

Bem-vindo à documentação da Stackhero

A Stackhero disponibiliza um ambiente Node-RED cloud totalmente gerido, concebido para que possa criar workflows rapidamente:

  • Servidor MQTT integrado (Mosquitto) para uma integração IoT sem complicações.
  • Acesso total à interface de administração Node-RED para gerir fluxos e definições.
  • Node-RED Dashboard incluído para visualização em tempo real.
  • Servidor de email SMTP dedicado incluído, sem limites de envio.
  • Atualizações com um clique para manter a sua instância sempre atualizada.
  • Domínios personalizados com HTTPS automático: por exemplo, https://node-red.sua-empresa.com.
  • Elevada performance e forte segurança graças a uma infraestrutura privada e dedicada.

Pode ter uma instância de Node-RED cloud hosting segura e pronta para produção em cerca de 5 minutos. A Stackhero trata da configuração, atualizações e infraestrutura, para que se possa focar na criação das suas automações.

Tem a flexibilidade de se ligar ao servidor Mosquitto MQTT utilizando tanto o protocolo MQTT como WebSockets.

Embora o protocolo MQTT seja leve e ideal para dispositivos IoT, não é suportado nativamente pelos browsers. Se pretende interagir com o seu servidor MQTT a partir de um browser, deverá utilizar WebSockets. Esta abordagem permite encapsular o tráfego MQTT dentro do protocolo WebSocket e funciona perfeitamente com os serviços da Stackhero.

Para ativar a conectividade WebSocket, basta ativar a opção "WebSocket Support" no seu painel Stackhero. Uma vez ativada, pode configurar o seu cliente para utilizar o URL WebSocket: wss://<XXXXXX>.stackhero-network.com:443/mqtt. Certifique-se de substituir o endereço padrão mqtts://<XXXXXX>.stackhero-network.com por este URL WebSocket para ligações baseadas em browser.

Para desenvolvimento, poderá achar a biblioteca "MQTT.js" especialmente útil. Trata-se de uma biblioteca JavaScript robusta, compatível tanto com Node.js como com ambientes de browser. Pode saber mais consultando o seu repositório oficial.

Se procura um exemplo prático de como ligar o seu browser ao servidor MQTT usando WebSockets, pode consultar este repositório: https://github.com/stackhero-io/mqttWebSocketGettingStarted. Sinta-se à vontade para modificar o ficheiro src/index.html com o url, username e password do seu servidor para adaptar à sua configuração.

Exemplo MQTT WebSocketExemplo MQTT WebSocket

Antes de testar esta configuração, certifique-se de que o suporte WebSocket está ativado no seu painel Stackhero. Isto garante que tudo funciona corretamente para ligações a partir do browser.