MQTT·Intermedio 15 minAggiornato: 30 marzo 2026

Integrare Dispositivi MQTT con Shangrilux

Connetti qualsiasi dispositivo IoT con supporto MQTT a Shangrilux tramite broker MQTT (Mosquitto, EMQX, HiveMQ).

Cos'è MQTT e Perché Usarlo

MQTT (Message Queuing Telemetry Transport) è un protocollo publish-subscribe leggero per dispositivi IoT, standardizzato ISO/IEC 20922. Ogni dispositivo pubblica messaggi su "topic" (es. hotel/room101/lock/state) e il broker li distribuisce ai subscriber (come Shangrilux).

Prerequisiti

  • Broker MQTT installato: Mosquitto (open source) o EMQX/HiveMQ (enterprise)
  • Dispositivi IoT con client MQTT configurati (serrature, sensori, termostati)
  • URL broker MQTT accessibile da Shangrilux (cloud o VPN)
  • Autenticazione TLS raccomandata (certificato X.509)

Installazione Broker Mosquitto

bash
# Installazione su Ubuntu/Debian
sudo apt-get install -y mosquitto mosquitto-clients

# Configurazione base /etc/mosquitto/mosquitto.conf
listener 8883
protocol mqtt
cafile /etc/mosquitto/certs/ca.crt
certfile /etc/mosquitto/certs/server.crt
keyfile /etc/mosquitto/certs/server.key
allow_anonymous false
password_file /etc/mosquitto/passwd

# Crea utente Shangrilux
mosquitto_passwd -c /etc/mosquitto/passwd shangrilux
# → inserisci password sicura

sudo systemctl enable mosquitto && sudo systemctl start mosquitto

Configurazione in Shangrilux

1

Configura connessione broker

Admin → Integrazioni → MQTT → inserisci: Broker URL (mqtts://tuo-broker.io), Porta (8883 per TLS, 1883 senza), Username: shangrilux, Password, e (opzionale) Client Certificate per mutual TLS.

2

Definisci la struttura dei Topic

Shangrilux si iscrive ai topic secondo il pattern configurato. Struttura raccomandata:

bash
# Struttura topic MQTT per hotel
hotel/{proprieta}/{stanza}/lock/state       # Stato serratura (locked/unlocked)
hotel/{proprieta}/{stanza}/lock/command     # Comandi (lock/unlock)
hotel/{proprieta}/{stanza}/sensor/door      # Sensore porta (open/closed)
hotel/{proprieta}/{stanza}/climate/temp     # Temperatura attuale
hotel/{proprieta}/{stanza}/climate/setpoint # Temperatura target
hotel/{proprieta}/common/alarm              # Allarme struttura

# Esempio topic camera 101 di shangrilux:
hotel/shangrilux/room101/lock/state
hotel/shangrilux/room101/lock/command
3

Formato payload JSON

I messaggi MQTT verso Shangrilux devono rispettare il formato:

json
// Pubblicato da serratura su: hotel/shangrilux/room101/lock/state
{
  "state": "locked",
  "battery_level": 75,
  "signal_strength": -68,
  "last_access_by": "booking_abc123",
  "timestamp": "2026-06-01T14:03:27Z"
}
4

Shangrilux pubblica comandi ai dispositivi

Quando un ospite fa check-in, Shangrilux pubblica su hotel/shangrilux/room101/lock/command:

json
{
  "command": "unlock",
  "authorized_by": "shangrilux_booking_abc123",
  "duration_seconds": 10,
  "timestamp": "2026-06-01T14:00:00Z",
  "hmac": "sha256_firma_del_messaggio"
}
5

QoS e Retain Messages

Configura la Quality of Service appropriata: QoS 0 per log (at most once), QoS 1 per comandi (at least once), QoS 2 per eventi critici (exactly once). Usa retain=true per lo stato corrente della serratura.

Consiglio: Usa EMQX Enterprise per installazioni con più di 50 dispositivi MQTT. Offre clustering, rule engine, dashboard e integrazione nativa con database. È gratuito fino a 10.000 connessioni simultanee.

#mqtt#mosquitto#emqx#iot#broker#publish-subscribe

🍪 Utilizziamo i cookie

Cookie necessari al funzionamento e cookie opzionali per analisi e marketing. Puoi scegliere quali accettare. Privacy Policy · Cookie Policy