MQTT IoT messaging protocol
IoT protokols · ISO/IEC 20922 · 9 min lasīšanai

MQTT – IoT ziņojumapmaiņas protokols

Mūsdienu IoT publicēšanas-abonēšanas ziņojumapmaiņas mugurkauls. Kā MQTT iekļaujas viedajā mājā un ēku automatizācijā kopā ar KNX, DALI un Home Assistant.

home/temphome/pvhome/motionautomatizācijalietotneierakstiMQTTbrokerpub / sub · QoSPublishersSubscribers

Kas ir MQTT?

MQTT (Message Queuing Telemetry Transport) ir viegls publicēšanas-abonēšanas ziņojumapmaiņas protokols, kas sākotnēji tika izstrādāts satelītu savienojumiem 1990. gados (IBM/Eurotech). Šodien tas ir dominējošais protokols IoT ierīču un serveru saziņai – no ESP8266 sensoriem līdz rūpnieciskiem PLC.

Atšķirībā no KNX (kopnes bāzēts) vai Modbus (meistars/vergs), MQTT izmanto brokera modeli: ierīces publicē ziņojumus par tēmām centrālajā brokerī (piem., Mosquitto), un jebkurš abonents, kas klausās šo tēmu, saņem ziņojumu. Nav tiešas ierīces-ierīcei saziņas.

Pamatjēdzieni:

  • Brokeris: Centrālais serveris, kas maršrutē visus ziņojumus (Mosquitto, HiveMQ, EMQX). Viedajā mājā = darbojas uz HA servera vai atsevišķa Pi.
  • Tēma: Hierarhisks virknes ceļš, piem., home/livingroom/light/state
  • Publicēt: Ierīce nosūta ziņojumu uz tēmu
  • Abonēt: Klients klausās tēmu un saņem visus tai publicētos ziņojumus
  • Saglabāts ziņojums: Brokeris glabā pēdējo vērtību – jauni abonenti to saņem uzreiz
  • QoS 0/1/2: Ne vairāk kā vienreiz / Vismaz vienreiz / Tieši vienreiz piegādes garantija

MQTT specifikācija

ParametrsVērtība
StandartsISO/IEC 20922 (MQTT 3.1.1), MQTT 5.0
TransportsTCP/IP (ports 1883) vai TLS (ports 8883)
TopoloģijaZvaigzne (brokera centrēta)
VirziensDivvirzienu publicēt/abonēt
Datu satursJebkurš binārs/teksts – parasti JSON vai vienkārša vērtība
Tēmas atdalītājs/ (slīpsvītra), piem., home/floor1/room2/temp
Aizstājējzīme (viena līmeņa)+ (plus), piem., home/+/light
Aizstājējzīme (vairāku līmeņu)# (hash), piem., home/#
QoS 0Aizdedzi un aizmirsti – nav piegādes garantijas
QoS 1Vismaz vienreiz – saņēmējs apstiprina (var dublēties)
QoS 2Tieši vienreiz – 4-pakāpju rokasspiediens
Saglabātie ziņojumiBrokeris glabā pēdējo ziņojumu katrai tēmai
Gribas ziņojumsBrokeris nosūta, ja klients negaidīti atvienojas
AutentifikācijaLietotājvārds/parole, TLS sertifikāti
Ports (nešifrēts)1883
Ports (TLS)8883

MQTT viedajā mājā – ekosistēma

MQTT ir kopējā valoda DIY un daļēji profesionālai viedajai mājai. Vairāki lieli projekti to izmanto kā transporta slāni:

Zigbee2MQTT

zigbee2mqtt.io

Pārtulko Zigbee radio telegrammas uz MQTT. Pievienojiet Zigbee koordinatoru (CC2530, SkyConnect) HA, palaidiet Zigbee2MQTT, un 2500+ Zigbee ierīces parādās kā MQTT tēmas. Nav nepieciešams Philips Hue centrmezgls.

Tasmota / ESPHome

tasmota.github.io

Atvērtā pirmkoda programmatūra ESP8266/ESP32 moduļiem. Ievietojiet lētu Sonoff releju ar Tasmota, un tas kļūst par MQTT publicējošu viedo slēdzi. ESPHome ir HA dzimtā.

Home Assistant MQTT integrācija

home-assistant.io

HA var publicēt un abonēt jebkuru MQTT tēmu. Konfigurējiet caur YAML vai UI. MQTT Discovery automātiski izveido HA entītijas, kad ierīce paziņo par sevi caur noteiktu tēmu.

Node-RED

nodered.org

Plūsmas bāzēta vizuālā programmēšana, kas abonē MQTT tēmas, pielieto loģiku un publicē uz citām tēmām vai KNX/HTTP galapunktiem. Bieži izmanto kopā ar HA sarežģītai maršrutēšanai.

WirenBoard

wirenboard.com

Krievu DIN-sliedes kontrolieris izmanto MQTT kā primāro protokolu. WirenBoard publicē visus sensoru rādījumus un pieņem vadību caur MQTT tēmām. Darbojas ar HA un Node-RED.

Tēmu struktūras piemēri

MQTT tēmu koka piemērs (viedā māja)

home/
├── livingroom/
│ ├── light/state "ON" / "OFF"
│ ├── light/brightness "75" (0-100%)
│ ├── light/color_temp_k "3000"
│ ├── temperature "21.5"
│ └── occupancy "true" / "false"
├── kitchen/
│ ├── light/state "ON"
│ └── humidity "45"
├── bedroom/
│ ├── blind/position "75" (0=open, 100=closed)
│ └── thermostat/setpoint "20.5"
└── panel/
 ├── meter/power_w "1247"
 └── meter/energy_kwh "1852.3"

MQTT vs KNX – kad lietot kuru

AspektsMQTTKNX TP
InfrastruktūraIP tīkls (Ethernet/WiFi)Īpašs TP kopnes kabelis
UzticamībaAtkarīga no tīkla + brokera darbības laikaDeterminēta, kopne vienmēr ieslēgta
AizkaveMilisekundes (IP) + brokera aprites laiks<50ms (tieša kopnes telegramma)
MērogojamībaNeierobežota (horizontāla mērogošana)255 adreses uz līniju, max 15 līnijas
Iestatīšanas sarežģītībaZema (brokeris + publicēt/abonēt)Augsta (ETS programmēšana, adresēšana)
Aparatūras izmaksasZemas (ESP8266 = €2)Augstas (KNX izpildmehānisms = €50–200+)
SertifikācijaNav nepieciešamaKNX sertificēts + ETS licence
Darbojas bez servera Brokerim jābūt ieslēgtam Vietējā kopne darbojas bez servera
Labākais lietojumsSensoru dati, IoT integrācija, elastīgs DIYDrošībai kritiska vadība, komerciāla ēka
Tipisks lietotājsIzgatavotājs, HA integrētājs, IoT izstrādātājsElektroinženieris, DALI/KNX speciālists

Īstā atbilde: Labi izstrādātā premium instalācijā KNX apstrādā aparatūras vadību (pārslēgšana, aptumšošana, žalūzijas), bet MQTT/IP apstrādā sensoru datu apkopošanu un programmatūras integrācijas (enerģijas uzraudzība, klātbūtne, laikapstākļi). Tie ir papildinoši – nevis konkurējoši.

KNX + MQTT integrācijas iespējas

Home Assistant (KNX + MQTT integrācijas)

Gan KNX, gan MQTT integrācijas darbojas HA. Automatizācijas var nolasīt MQTT sensoru vērtības un aktivizēt KNX izpildmehānismus – vai otrādi. Nav nepieciešams papildu aparatūra.

knx-mqtt-bridge (atvērtais pirmkods)

Atsevišķs Node.js pakalpojums, kas divvirzienu režīmā savieno KNX grupu adreses ar MQTT tēmām. Katra KNX GA tiek kartēta uz MQTT tēmu. Darbojas uz Pi vai Docker.

Node-RED KNX + MQTT mezgli

node-red-contrib-knx + MQTT mezgli. Vizuāla plūsmas programmēšana: MQTT tēma transformācija KNX telegramma. Piemērots sarežģītai nosacījumu maršrutēšanai.

WirenBoard WB-MGW vārteja

WirenBoard vārtejas iekārta var tulkot starp RS-485/Modbus ierīcēm un MQTT. Tad HA nolasa MQTT un publicē uz KNX. Izplatīts Austrumeiropā.

KNX + MQTT arhitektūra, kas izstrādāta jūsu projektam

Mēs integrējam MQTT sensoru tīklus ar KNX vadības paneļiem – Zigbee2MQTT, enerģijas skaitītāji, HVAC sensori – visi vienotā sistēmā.

Pieprasīt piedāvājumu
Ielādējas...
Uz augšu