Mosquitto: WebSockets

Como ligar-se ao MQTT utilizando WebSockets

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

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

  • Trocas e transferências de mensagens ilimitadas.
  • Autenticação de dispositivos ilimitada via uma API externa.
  • ACLs avançadas em tópicos, utilizadores e ações.
  • Nome de domínio personalizável seguro com HTTPS (por exemplo, https://mqtt.sua-empresa.com).
  • Atualizações simplificadas com apenas um clique.
  • 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 Mosquitto MQTT cloud hosting da Stackhero!

Tem duas opções principais para se ligar ao Mosquitto: o protocolo MQTT nativo ou WebSockets.

O protocolo MQTT é amplamente reconhecido pela sua leveza, tornando-o especialmente adequado para dispositivos IoT e ambientes com recursos limitados. No entanto, a maioria dos navegadores web não suporta ligações MQTT diretas. É aqui que os WebSockets se tornam úteis, pois permitem executar MQTT sobre uma ligação WebSocket, tornando possível interagir com servidores MQTT a partir das suas aplicações baseadas no browser.

Para começar a utilizar WebSockets, basta ativar a opção "Suporte WebSocket" no seu dashboard Stackhero. Assim que esta funcionalidade estiver ativa, só precisa de configurar o seu cliente para o URL WebSocket: wss://<XXXXXX>.stackhero-network.com:443. Este URL substitui o URL MQTT seguro padrão, que tem o seguinte formato: mqtts://<XXXXXX>.stackhero-network.com.

Se a sua aplicação está escrita em JavaScript, poderá querer explorar a biblioteca MQTT.js. É uma opção flexível que funciona tanto em ambientes Node.js como diretamente no browser. A documentação e o código-fonte da biblioteca estão disponíveis aqui: https://github.com/mqttjs/MQTT.js.

Pode encontrar uma demonstração prática de como ligar uma aplicação web a um servidor MQTT utilizando WebSockets neste repositório de exemplo: https://github.com/stackhero-io/mqttWebSocketGettingStarted.

Ao experimentar este exemplo, lembre-se de atualizar o ficheiro src/index.html com o url, username e password do seu próprio servidor.

Exemplo MQTT WebSocketExemplo MQTT WebSocket

Lembre-se de ativar o suporte WebSocket no dashboard Stackhero antes de prosseguir.