Node-RED: Server MQTT
Come collegare Node-RED al server Mosquitto MQTT
👋 Benvenuti nella documentazione di Stackhero!
Stackhero offre una soluzione Node-RED cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:
- Server MQTT incluso (Mosquitto).
- Accesso completo all'interfaccia admin di Node-RED.
- Dashboard di Node-RED inclusa.
- Server email SMTP illimitato e dedicato incluso.
- Aggiornamenti senza sforzo con un solo clic.
- Nome di dominio personalizzabile sicuro con HTTPS (ad esempio, https://node-red.tua-azienda.com).
- Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.
Risparmia tempo e semplifica la tua vita: bastano 5 minuti per provare la soluzione Node-RED cloud hosting di Stackhero!
Il servizio Node-RED di Stackhero include un server MQTT integrato, che facilita l'integrazione dei dispositivi IoT tramite canali di comunicazione sicuri e affidabili.
Per iniziare, acceda semplicemente alla dashboard di Stackhero, individui il suo servizio Node-RED e abiliti l'opzione "MQTT Server" nelle impostazioni di configurazione del servizio.
Una volta abilitato il server, può collegarsi utilizzando la porta 8883. Tutte le connessioni sono protette tramite crittografia TLS, garantendo la sicurezza dei suoi dati.
Esempio semplice: utilizzo di Node-RED con il server MQTT
Se è alle prime armi con MQTT su Node-RED, ecco un esempio semplice per aiutarla a iniziare rapidamente. Questo esempio mostra come inviare un messaggio a un topic e ricevere i messaggi da esso. Può scaricare l'esempio di flow e importarlo nella sua istanza Node-RED tramite il menu "Import".
Esempio semplice di connessione MQTT a Node-RED
Se i suoi nodi MQTT rimangono bloccati nello stato "connecting", è consigliabile verificare che il flow
MQTT authenticationsia ancora presente. Se manca, può scaricarlo qui: mqttAuthenticationFlow.json. Importi questo flow nella sua istanza Node-RED, aggiorni il nodoUserscon le password desiderate e rimuova eventuali commenti non necessari secondo le sue esigenze.
Autenticazione degli utenti MQTT in Node-RED
La gestione dell'autenticazione degli utenti MQTT è semplice grazie a un flow dedicato in Node-RED. Può trovare il flow "MQTT Authentication" direttamente dal pannello di amministrazione di Node-RED.
Flow di autenticazione MQTT
All'interno di questo flow di autenticazione, cerchi il nodo template Users. Questo nodo contiene un array in cui può definire le credenziali per ciascun utente. Ha la flessibilità di aggiungere tutti gli utenti necessari per il suo progetto.
Nota: L'utente
node-redè essenziale per la connessione di Node-RED al server MQTT. Si assicuri di non rimuovere questo utente dalla configurazione.
Nodo utenti MQTT
Connessione a MQTT tramite WebSocket
Ha la possibilità di collegarsi al server Mosquitto MQTT sia tramite il protocollo MQTT sia tramite WebSocket.
Sebbene il protocollo MQTT sia leggero e quindi ideale per i dispositivi IoT, non è supportato nativamente dai browser web. Se desidera interagire con il server MQTT da un browser, dovrà utilizzare i WebSocket. Questo approccio consente di incapsulare il traffico MQTT all'interno del protocollo WebSocket e funziona perfettamente con i servizi Stackhero.
Per abilitare la connettività WebSocket, attivi semplicemente l'opzione "WebSocket Support" nella dashboard di Stackhero. Una volta abilitata, può configurare il suo client per utilizzare l'URL WebSocket: wss://<XXXXXX>.stackhero-network.com:443/mqtt. Si assicuri di sostituire il valore predefinito mqtts://<XXXXXX>.stackhero-network.com con questo URL WebSocket per le connessioni da browser.
Scelta di una libreria MQTT
Per lo sviluppo, la libreria "MQTT.js" può risultare particolarmente utile. Si tratta di una libreria JavaScript robusta, compatibile sia con Node.js che con gli ambienti browser. Può trovare maggiori informazioni consultando il suo repository ufficiale.
Esempio di connessione browser-MQTT tramite WebSocket
Se desidera un esempio pratico di come collegarsi dal browser al server MQTT tramite WebSocket, può fare riferimento a questo repository: https://github.com/stackhero-io/mqttWebSocketGettingStarted. Può modificare liberamente il file src/index.html inserendo l'url, lo username e la password del suo server per adattarlo alla sua configurazione.
Esempio MQTT WebSocket
Prima di provare questa configurazione, si assicuri che il supporto WebSocket sia abilitato nella dashboard di Stackhero. Questo garantisce il corretto funzionamento delle connessioni da browser.