Node-RED: Servidor MQTT

Como conectar o Node-RED ao servidor Mosquitto MQTT

👋 Bem-vindo à documentação da Stackhero!

A Stackhero oferece uma solução Node-RED cloud pronta a usar que proporciona uma série de benefícios, incluindo:

  • Servidor MQTT incluído (Mosquitto).
  • Acesso completo à interface de administração do Node-RED.
  • Dashboard do Node-RED incluído.
  • Servidor de email SMTP ilimitado e dedicado incluído.
  • Atualizações sem esforço com apenas um clique.
  • Nome de domínio personalizável seguro com HTTPS (por exemplo, https://node-red.sua-empresa.com).
  • Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: leva apenas 5 minutos para experimentar a solução de hospedagem em cloud Node-RED da Stackhero!

O serviço Node-RED da Stackhero inclui um servidor MQTT integrado, projetado para suportar uma integração perfeita com dispositivos IoT através de canais de comunicação seguros e fiáveis.

Para ativar o servidor MQTT, aceda ao painel de controlo da Stackhero, localize o seu serviço Node-RED e ative a opção "MQTT Server" nas definições de configuração do serviço.

Uma vez ativado, as ligações ao servidor MQTT podem ser estabelecidas usando a porta 8883, com a encriptação TLS a garantir comunicações seguras.

Para o ajudar a começar, considere o seguinte exemplo que demonstra como conectar o Node-RED ao servidor MQTT. Este exemplo envolve o envio de uma mensagem para um tópico e a receção de mensagens dele. Pode descarregar o exemplo de fluxo e importá-lo na sua instância Node-RED através do menu "Import".

Exemplo simples de conexão MQTT ao Node-REDExemplo simples de conexão MQTT ao Node-RED

aviso Se os nós MQTT mostrarem um estado "connecting" indefinidamente, confirme que o fluxo MQTT authentication não foi removido. Se necessário, descarregue-o aqui: mqttAuthenticationFlow.json. Importe-o na sua instância Node-RED, configure o nó Users editando as palavras-passe e remova comentários conforme necessário.

A autenticação de utilizadores é gerida através de um fluxo dedicado no Node-RED. Pode aceder ao fluxo "MQTT Authentication" diretamente a partir do painel de administração do Node-RED.

Fluxo de autenticação MQTTFluxo de autenticação MQTT

Dentro do fluxo de autenticação, localize o nó de modelo Users. Este nó contém um array para definir as credenciais dos utilizadores. Pode adicionar tantos utilizadores quanto necessário para a sua configuração.

Nota: O utilizador node-red é crucial para a conexão do Node-RED ao servidor MQTT. Certifique-se de que este utilizador permanece na configuração.

Nó de utilizadores MQTTNó de utilizadores MQTT

Pode conectar-se ao servidor Mosquitto MQTT usando o protocolo MQTT ou WebSockets.

Embora o protocolo MQTT seja leve e ideal para dispositivos IoT, não é diretamente suportado em navegadores web. Para colmatar esta lacuna, encapsule o tráfego MQTT no protocolo WebSocket, que funciona perfeitamente com os serviços da Stackhero.

Para ativar a conectividade WebSocket, ative a opção "WebSocket Support" no painel de controlo da Stackhero. Depois, configure o seu cliente com o URL do servidor wss://XXXXX.stackhero-network.com:443/mqtt, substituindo mqtts://XXXXX.stackhero-network.com pelo URL WebSocket correto.

Para fins de desenvolvimento, recomendamos a biblioteca "MQTT.js". Esta robusta biblioteca JavaScript é compatível com ambientes Node.js e de navegador. Pode explorá-la mais no seu repositório oficial.

Para orientação sobre como estabelecer uma conexão baseada em navegador ao servidor MQTT usando WebSockets, consulte este repositório: https://github.com/stackhero-io/mqttWebSocketGettingStarted. Pode modificar o ficheiro src/index.html para inserir o url, username e password do seu servidor para a sua configuração específica.

Exemplo de WebSocket MQTTExemplo de WebSocket MQTT

Certifique-se de que o suporte WebSocket está ativado no painel de controlo da Stackhero para permitir que esta configuração funcione conforme pretendido.