Node-RED: Servidor MQTT
Como ligar 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, facilitando a integração dos seus dispositivos IoT através de canais de comunicação seguros e fiáveis.
Para começar, basta aceder ao painel da Stackhero, localizar o seu serviço Node-RED e ativar a opção "MQTT Server" nas definições de configuração do serviço.
Depois de ativar o servidor, pode ligar-se a ele através da porta 8883. Todas as ligações são protegidas com encriptação TLS, garantindo a segurança dos seus dados.
Exemplo simples: utilizar o Node-RED com o servidor MQTT
Se está a iniciar-se no MQTT com o Node-RED, aqui tem um exemplo simples para o ajudar a começar rapidamente. Este exemplo mostra como enviar uma mensagem para um tópico e receber mensagens desse mesmo tópico. Pode descarregar o exemplo de flow e importá-lo na sua instância Node-RED através do menu "Import".
Exemplo simples de ligação MQTT ao Node-RED
Se os seus nós MQTT ficarem presos no estado "connecting", é aconselhável verificar se o flow de
MQTT authenticationainda está presente. Se estiver em falta, pode descarregá-lo aqui: mqttAuthenticationFlow.json. Importe este flow para a sua instância Node-RED, atualize o nóUserscom as palavras-passe que preferir e remova quaisquer comentários desnecessários conforme necessário.
Autenticação de utilizadores MQTT no Node-RED
A gestão da autenticação de utilizadores MQTT é simples através de um flow dedicado no Node-RED. Pode encontrar o flow "MQTT Authentication" diretamente no painel de administração do Node-RED.
Flow de autenticação MQTT
Dentro deste flow de autenticação, procure o nó template Users. Este nó contém um array onde pode definir as credenciais de cada utilizador. Tem flexibilidade para adicionar tantos utilizadores quanto o seu projeto necessitar.
Nota: O utilizador
node-redé essencial para a ligação do Node-RED ao servidor MQTT. Certifique-se de não remover este utilizador da sua configuração.
Nó de utilizadores MQTT
Ligação ao MQTT via WebSockets
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.
Escolher uma biblioteca MQTT
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.
Exemplo de ligação browser-para-MQTT via WebSockets
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 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.