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.
Exemplo simples: usar o Node-RED com o servidor MQTT
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-RED
aviso Se os nós MQTT mostrarem um estado "connecting" indefinidamente, confirme que o fluxo
MQTT authenticationnão foi removido. Se necessário, descarregue-o aqui: mqttAuthenticationFlow.json. Importe-o na sua instância Node-RED, configure o nóUserseditando as palavras-passe e remova comentários conforme necessário.
Autenticação de utilizadores MQTT no Node-RED
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 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 MQTT
Conectar ao MQTT via WebSockets
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.
Escolher uma biblioteca MQTT
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.
Exemplo de conexão navegador-a-MQTT via WebSockets
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 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.