Modbus vai MQTT mājas datiem: godīgs salīdzinājums
Divi pavisam atšķirīgi veidi, kā dati kustas pa tavu māju — viens jautā, otrs pats stāsta. Šeit ir, kā izvēlēties bez liekas reklāmas.
Kā izvēlēties: 4 praktiski soļi
Paskaties, kas jau runā
Ja tavs invertors, enerģijas skaitītājs vai siltumsūknis no rūpnīcas jau runā Modbus, tas bieži vien ir pietiekams iemesls to izmantot tālāk — nav jēgas mainīt sakarus, kas jau strādā.
Izlem, kurš uzdod jautājumus
Modbus ir aptaujas modelis — viens meistars pēc kārtas jautā katrai iekārtai pēc tava noteikta grafika. MQTT to apgriež otrādi — iekārtas pašas publicē datus tieši tad, kad kaut kas mainās, caur centrālu brokeri.
Piemēro modeli savam projektam
Ja būvē savu sensoru tīklu no nulles (ESPHome mezgli, Zigbee2MQTT tilti), tas dabiski iederas MQTT publicēšanas stilā. Ja pieslēdzies jau esošai industriālai iekārtai, tas iederas Modbus jautā-un-gaida stilā.
Savieno abus, nevis izvēlies uz visiem laikiem
Nav jāizvēlas viens protokols visai mājai. Vārteja (gateway) var aptaujāt Modbus iekārtas un to vērtības pārpublicēt kā MQTT ziņojumus — tā abi dzīvo blakus.
Kas patiesībā atšķiras starp Modbus un MQTT
modeļi, viens mājas tīkls
Modbus aptaujā, MQTT publicē — zinot, ar kuru no tiem strādā, kļūst skaidrs gandrīz katrs vadojuma un programmatūras lēmums, kas seko.
Modbus: meistars jautā, iekārta atbild
Modbus meistars pēc kārtas aptaujā katru iekārtu, izmantojot funkciju kodus — piemēram, FC03/FC04 reģistru lasīšanai, FC06/FC16 rakstīšanai. Iekārta nekad nerunā pati no sevis, tikai atbild uz jautājumu.
MQTT: iekārtas publicē, brokeris izplata
MQTT sistēmā iekārtas ('klienti') publicē ziņojumu uz tēmu (topic) centrālā brokerī tieši tad, kad mainās to stāvoklis; ikviens, kas abonējis šo tēmu, to saņem uzreiz, nekā nejautājot.
RTU vadojums pret IP tīklu
Modbus RTU strādā pa RS-485 divu vadu kopni, iekārtas savienotas virknē (daisy-chain), ar 120Ω termā rezistoriem abos kopnes galos un vienādu pārraides ātrumu visām iekārtām. Modbus TCP un MQTT abi izmanto tavu esošo Ethernet/Wi-Fi tīklu.
Kur katrs ir 'dzimtā valoda' no rūpnīcas
Industriāla stila iekārtas — invertori, enerģijas skaitītāji, PLC — runā Modbus jau kopš 1979. gada un parasti to dara arī tagad tieši no kastes. Mūsdienu DIY sensoru ekosistēmas, piemēram, ESPHome vai Zigbee2MQTT tilti, dabiski runā MQTT.
Nevienam pēc noklusējuma nav iebūvētas drošības
Klasiskajam Modbus (gan RTU, gan TCP) specifikācijā nav autentifikācijas vai šifrēšanas — jebkura iekārta kopnē vai tīklā var nosūtīt derīgu komandu. MQTT brokeriem var pievienot lietotājvārdu, paroli un TLS šifrēšanu, bet arī tas jākonfigurē pašam — automātiski nenotiek ne viens, ne otrs.
Ko smarteg.lv piedāvā abiem ceļiem
Lai kuru protokolu tavas iekārtas jau runā, šeit ir, kas palīdz to pieslēgt pareizi.
- RS-485 kabelis un savienotāji Modbus RTU vadojumam
- 120Ω termā rezistori kopnes galiem
- DIN-sliedes korpusi un stiprinājumi sensoru montāžai
- ESPHome saderīgi sensori un moduļi DIY MQTT risinājumiem
- Praktiski gidi par vadojumu, adresāciju un kļūdu meklēšanu
Biežāk uzdotie jautājumi
Kas ir labāks mājai — Modbus vai MQTT?
Neviens nav 'labāks' — tie der dažādiem uzdevumiem. Modbus der iekārtām, kas jau no rūpnīcas to runā (invertori, skaitītāji); MQTT der sensoru tīklam, ko būvē pats, piemēram, ar ESPHome vai Zigbee2MQTT.
Vai vienā mājā var lietot gan Modbus, gan MQTT?
Jā — bieži izmanto vārteju (gateway), kas aptaujā Modbus iekārtas (RTU vai TCP) un to reģistru vērtības pārpublicē kā MQTT tēmas, tā visi dati nonāk vienuviet.
Kāpēc Modbus vajag meistaru, kas pastāvīgi jautā?
Modbus ir aptaujas protokols — iekārtas ir 'vergi' (slaves), kas atbild tikai tad, kad tām jautā. Tas padara kopni paredzamu, bet nozīmē, ka dati ir tik svaigi, cik svaiga ir pēdējā aptauja.
Vai Modbus RTU vadojumu ir grūti izpildīt pareizi?
Galvenās kļūdas ir vienkāršas, bet stingras — visām iekārtām uz RS-485 kopnes jābūt vienādam pārraides ātrumam, unikālai adresei (1-247) un 120Ω termā rezistoriem tikai kopnes divos fiziskajos galos, nevis pie katras iekārtas.
Vai MQTT ir pietiekami drošs mājas automatizācijai?
MQTT pats par sevi pēc noklusējuma nav drošs, bet brokeri parasti atbalsta lietotājvārda/paroles autentifikāciju un TLS šifrēšanu — tāpat kā Modbus, drošība ir kaut kas, ko konfigurē pats, nevis kas nāk automātiski.
Nezini, kurš protokols der tavai sistēmai?
Apskaties vadojuma piederumus un sensorus mūsu veikalā vai izlasi saistītos gidus zemāk, pirms izvēlies protokolu.