Mündəricat:

SmartHome Simsiz Əlaqəsi: MQTT -nin həddindən artıq əsasları: 3 addım
SmartHome Simsiz Əlaqəsi: MQTT -nin həddindən artıq əsasları: 3 addım

Video: SmartHome Simsiz Əlaqəsi: MQTT -nin həddindən artıq əsasları: 3 addım

Video: SmartHome Simsiz Əlaqəsi: MQTT -nin həddindən artıq əsasları: 3 addım
Video: DAC2161C 80А - DIN relsində qoruma və enerji monitoru ilə perspektivli və funksional ziqbee relesi 2024, Iyul
Anonim
SmartHome Simsiz Əlaqəsi: MQTT -nin həddindən artıq əsasları
SmartHome Simsiz Əlaqəsi: MQTT -nin həddindən artıq əsasları
SmartHome Simsiz Əlaqəsi: MQTT -nin həddindən artıq əsasları
SmartHome Simsiz Əlaqəsi: MQTT -nin həddindən artıq əsasları

MQTT əsasları:

** Ev Avtomatlaşdırma seriyası ilə məşğul olacağam, gələcəkdə etdiyim hər şeyi öyrənmək üçün atdığım addımlardan keçəcəyəm. Bu Təlimat, gələcək Təlimatlarımda istifadə üçün MQTT -nin necə qurulacağına dair əsasdır. Bununla birlikdə, bu məzmundakı təlimlər, götürmək istədiyiniz hər hansı bir layihəyə tətbiq ediləcəkdir. **

Əşyalar İnterneti:

Əşyaların İnterneti dünyanı, xüsusən də Instructables -da özümüz kimi cəmiyyətlərdə ələ keçir. Mən bu cəmiyyətə qoşulduğum vaxtdan bəri insanların tikintisi ilə möhkəmlənmişəm

İnternetə qoşulan və idarə olunan cihazlar. Əşyaların İnterneti ilə işləyərkən MQTT protokoluna girməmək çətindir. Bu, HTTP və ya FTP kimi bu gün İnternetdə istifadə olunan digərləri kimi bir əlaqə protokoludur, lakin iş tərzi fərqlidir ki, bu da Əşyaların İnterneti tətbiqləri üçün idealdır.

MQTT nədir:

MQTT (Message Queuing Telemetry Transport, yayım/abunə arxitekturasından istifadə edən yüngül bir ünsiyyət protokolu. İnternetin əksəriyyətinin istifadə etdiyi HTTP, bir sorğu/cavab sistemi üzərində qurulmuşdur. Bu o deməkdir ki, müştəridən sorğu alır və göndərir. həmin müştəriyə cavab. MQTT -də bir çox müştərinin olduğu kimi bir server (broker adlanır) var. HTTP -dən fərqli olaraq, MQTT müştərilərə xüsusi "mövzular" ı dərc etməyə və ya abunə olmağa imkan verir. mərkəzləşdirilmiş bir nöqtə, broker. Hər bir qovluq brokerdəki bir mövzuya görə dərc edə bilər və bu mövzuya abunə olan hər hansı bir qovşaq mesajı alacaq. Müştərilər də bir çox mövzuya abunə ola bilər və sonra birdən çox direktiv və ya yeniləmə ala bilərlər.

Bütün sistem hadisə ilə əlaqədardır və brokerdən gələn mesajların hər bir abunəçiyə göndərilməsinə imkan verir. Müştərinin məlumat istədiyi HTTP -dən çox, müştəri məlumatı aldıqdan sonra birbaşa brokerdən itələyir. QOS spesifikasiyaları kimi müxtəlif qorumalara imkan verən daxili xidmətlər var. QOS spesifikasiyası, bir brokerə bir mesajın ən çox bir dəfə, ən azı bir dəfə və ya tam olaraq bir dəfə çatdırılmasının lazım olub olmadığını təyin etməyə imkan verir. Bu, məlumatların hər bir müştəriyə lazımi şəkildə çatdırılmasını təmin edir. Müştərilər, hər hansı bir səbəbdən əlaqəsi kəsildiyi təqdirdə, mövzularına dair yayımlanan mesajların brokerdə tamponlanmasını tələb edə bilərlər. İnternetə qayıtdıqdan sonra həmin məlumatlar müştəriyə ötürüləcək.

Mövzu xüsusi bir şey deyil, sadəcə, kəsiklər ilə birləşdirilən və ayrılan müxtəlif sətirlərdir. Aşağıdakı nümunədə istifadə ediləcək format aşağıdakı kimidir: ev/yataq otağı/tavan işığı. Hər bir meyl alt mövzunu ifadə etmək üçün bir mövzudan sonra yerləşdirilir. Beləliklə, evdəki bütün cihazların alacağı bir evə bir mesaj yayımlana bilər. Yataq otağındakı bütün cihazların mesaj alacağı birbaşa evə/yataq otağına nəşr edilə bilər. Və ilk olaraq ev/yataq otağı/tavan işığı göstərildiyi kimi xüsusi cihaza gedə bilər, burada yalnız yataq otağının tavan işığı mesajı alacaq. Fərdi cihazları bütün bir ekosistemə qədər bütünlüklə soyutma üsulumuz, xüsusən Ev Otomasyonuna gəldikdə son dərəcə rahatdır. Mövzuları bölüşdürməyin başqa yolları var və tətbiqin ən mənalı olduğu gələcək Təlimatlarda bunları daha ətraflı araşdıracağam.

Təchizat

Aşağıdakılardan yalnız birinə ehtiyac var:

Ubuntu:

Linux üçün Windows Alt Sistemi: https://ubuntu.com/wsl (Yalnız Linux/MacOS -unuz yoxdursa)

MacOS: MacBook tələb olunur

Bu tələb olunur:

Mosquitto MQTT Broker - apt -get istifadə edərək endirildi (Sənədlər:

Addım 1: İlkin Quraşdırma (ƏS -dən asılı olaraq)

MacOS/Linux:

Heç bir quraşdırmaya ehtiyac yoxdur, yalnız terminalınızı açın və Mosquitto Setup -a keçin!

Windows:

Windows -da olsanız, Linux üçün Windows Alt Sistemini yükləməlisiniz. Bu, Windows-da bir Ubuntu terminalını işə salmağa imkan verən, istifadəsi çox asan və son dərəcə dəyərli bir vasitədir. Ubuntu yükləməyə və ikiqat yükləməyə ehtiyac yoxdur, yalnız terminaldakı inkişafı yoxlamaq üçün!

Quraşdırma addımları:

1. Windows Mağazasına gedin və ubuntu axtarın

2. Linux üçün Windows Alt Sistemini yükləyin və quraşdırın

3. Tətbiqi açın və quraşdırmanı başa çatdırmaq üçün təlimatları izləyin və davam etməyə hazırsınız!

Addım 2: Ağcaqanad Quraşdırması:

Ağcaqanad Quraşdırması
Ağcaqanad Quraşdırması
Ağcaqanad Quraşdırması
Ağcaqanad Quraşdırması
Ağcaqanad Quraşdırması
Ağcaqanad Quraşdırması

MQTT haqqında girişdə müzakirə edildiyi kimi, protokol bir broker (server) tələb edir. Bu broker, hər bir müştəri ilə qurulan bütün əlaqələr üçün əsas nöqtəsidir. Bütün mesajlar bu brokerdə ötürülür və növbəyə qoyulur. Bir broker üçün seçim etmək üçün bir çox variant var və bunları onlayn olaraq tapa bilərsiniz, amma istifadə edəcəyimiz variant bəlkə də ən çox yayılmışıdır: Mosquitto.

Mosquitto, bir ton funksiyaya malik Linux əsaslı MQTT Brokeridir. Hal -hazırda bu funksiyanın xüsusiyyətlərinə girməyəcəyəm, ancaq yerinə yetirdiyi bir neçə əsas tələb, istifadəçi/şifrə doğrulaması və TLS şifrələmə dəstəyi, əşyaların İnterneti cihazlarının inkişafında faydalıdır.

Addımlar:

Bütün bu addımlar bir terminal pəncərəsində tamamlanmalıdır.

1. Mosquitto və MQTT Müştərilərini quraşdırın

sudo apt-get mosquitto mosquitto-clients qurun

2. Bir mövzuya abunə olun

mosquitto_sub -"test"

Bunun bir mövzusuna abunə olmaqdır. Bu mövzu "-t" ilə ifadə olunur və mövzu dəyəri "test" dir. "-T" ardınca gələn bu dəyər, bir neçə xüsusi qeyd üçün qənaət etmək istədiyiniz hər şey ola bilər.

3. Yeni bir terminal pəncərəsi açın və "test" mövzusuna bir mesaj yayımlayın

mosquitto_pub -t "test" -m "MQTT ilə Salam Dünya!"

Bu, "test" mövzusunda bir mesaj yayımlayır və digər terminal nümunəmizin abunə tərəfində mesajı almasına imkan verir. Yayımlanan mesaj "-m" ilə işarələnir və mesaj dəyəri "MQTT ilə Salam Dünya" dır. Bu mesaj, mövzu kimi, istədiyiniz kimi dəyişdirilə bilər!

4. Nəticələrinizi görmək üçün ilk terminal pəncərəsinə gedin! "Hello World with MQTT" yazısı görünən bir mesaj almalısınız. Bunu görmürsünüzsə, doğru mövzunu yazdığınızdan əmin olun. Bunu uğurla başa vurmusunuzsa, onunla oynamağa davam edin. Alt mövzular və fərqli mesajlarla fərqli mövzuları sınayın!

Addım 3: Bitirin

Bu belədir! Hamısını tamamladıqdan sonra MQTT -nin necə işlədiyinin əsaslarını başa düşürsünüz. Bu, MQTT protokolunun ən aşağı həddini göstərən çox ibtidai bir dərslikdir. Gələcək Təlimatlar, Arduino ilə işləyən ESP8266 modulları ilə Əşyaların İnterneti ilə protokolun praktikada necə işlədiyini daha dərindən araşdıracaq. İlk praktik tətbiqim hal -hazırda otağımda olan ağıllı qəhvə hazırlayıcısı olacaq. Həm telefonunuzdan, həm də Alexa'dan idarə oluna bilən bir qəhvə hazırlayıcısının necə hazırlanacağını öyrənmək istəyirsinizsə, daha çox dərslər üçün məni izləməyi unutmayın.

Tövsiyə: