Mündəricat:

Armtronix lövhələrində MQTT: 3 addım
Armtronix lövhələrində MQTT: 3 addım

Video: Armtronix lövhələrində MQTT: 3 addım

Video: Armtronix lövhələrində MQTT: 3 addım
Video: Диммер на Tiny85 Управляем из приложений 2024, Noyabr
Anonim
Armtronix lövhələrində MQTT
Armtronix lövhələrində MQTT

Bu təlimatda, əvvəlcə Linux (Debian və ya Ubuntu) əsaslı bir sistemdən necə istifadə edə biləcəyinizi və üzərinə Mosquitto (Mqtt Broker) qura biləcəyinizi, telefonunuzda (Android)/ Linux əsaslı Mqtt müştərisini necə istifadə edəcəyinizi göstərmək istərdik. sistem, Mqtt vasitəsilə mesaj göndərmək və almaq. Bununla tanış olduqdan sonra, bu quraşdırılmış Mqtt brokeri ilə lövhəmizi necə konfiqurasiya edə biləcəyinizi göstərmək istərdik. Ayrıca, Mqtt brokerinə kimlik doğrulamasını necə əlavə edə biləcəyinizi və ayıklama üçün bəzi əsas məsləhət və fəndləri göstərmək istərdim. Beləliklə başlayaq ………

Addım 1: Mqtt Brokerini Qurun:

Mqtt Brokerinin quraşdırılması
Mqtt Brokerinin quraşdırılması
Mqtt Brokerinin quraşdırılması
Mqtt Brokerinin quraşdırılması
Mqtt Brokerinin quraşdırılması
Mqtt Brokerinin quraşdırılması
Mqtt Brokerinin quraşdırılması
Mqtt Brokerinin quraşdırılması

Yükləyə biləcəyiniz bir çox Mqtt brokerləri var. Bəzi tanınmışlar aşağıda qeyd edildiyi kimidir. Bəziləri bulud əsaslı xidmətlərdir.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Sizə Mosquitto'nun Linux əsaslı bir sistemdə (Ubuntu 18.04) necə qurulacağını göstərəcəyik. Bunu etmək üçün əvvəlcə Mosquitto ubuntu mənbə siyahısına əlavə edin. Mosquitto Ubuntu anbarlarında mövcud olduqdan sonra apt-get ilə quraşdıra bilərsiniz.

Yalnız bir Terminal açın. Terminal açmaq üçün Ubuntu Masaüstünün sol alt küncünə gedin, Proqramı göstər (Doted 3X3 grid) düyməsini basın. Bir Pəncərə açılacaq. Orada Terminal axtarırsınız. Aşağıdakı şəkillərdə göstərildiyi kimi bir pəncərənin açıldığını görmək üçün terminala vurun.

  • Ərizəni göstərin (Şəkil 1).
  • Terminal axtarın (Şəkil 2).
  • Terminal Pəncərəsi (Şəkil 3).

Terminalı açdıqdan sonra aşağıdakı əmrləri daxil edin

sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa

sudo apt-get yeniləməsi

sudo apt-get mosquitto quraşdırın

Mqtt müştərisini də quraşdıra bilərsiniz. Bunu etmək əmri olacaq

sudo apt-get ağcaqanad müştəriləri quraşdırın

İstinad üçün bəzi şəkillər

  • Ppa əlavə etmək (Şəkil 4).
  • Repo yenilənir (Şəkil 5).
  • Ağcaqanad quraşdırılması (Şəkil 6).
  • Mosquitto Müştərisinin Qurulması (Şəkil 7).

Addım 2: MQTT (Mosquitto) testi

MQTT (Mosquitto) testi
MQTT (Mosquitto) testi
MQTT (Mosquitto) testi
MQTT (Mosquitto) testi
MQTT (Mosquitto) testi
MQTT (Mosquitto) testi

Ubuntu (eyni sistem və ya digər sistem) vasitəsilə mqtt sınamaq üçün əvvəllər sudo apt-get install mosquitto-clients əmri ilə quraşdırılmış mqtt müştəri qurmalısınız. Cib telefonu (android) istifadə edərək sınamaq istəsəniz, oyun mağazasından MyMqtt tətbiqini quraşdıra bilərsiniz.

Mqtt Mövzular adlı bir şey üzərində işləyir. Anlamaq asanlığı üçün bu mövzuları kompüterin sabit diskindəki qovluq kimi nəzərdən keçirin. Bu kompüterə bir kompüter serveri kimi baxaq (mqtt dünyasında Mqtt Brokeridir). Bu serverdə bir qovluğa sahib olmağı düşünək.

Qovluq adı: /Folder_one /

İndi bu serverə daxil olan iki fərqli sistemdən (PC/Laptop) iki adamı ya faylları oxumaq, ya da faylları göndərmək/boşaltmaq və ya hər iki əməliyyatı etmək üçün nəzərdən keçirək.

İki adama/sistemə Sistem X, Sistem Y (Bunlar Mqtt Dünyasında Mqtt Müştəriləridir) adını verəcəyik.

İndi deyək ki, System X "/Folder_one/" qovluğuna bir fayl (fayl adı: temperatur) göndərir/atır, bu mqtt dünyasında bu nəşriyyatı adlandıra bilərik (fayl yerinə bir mesaj/faydalı yük göndəririk).

İndi deyək ki, System Y bu faylı və ya hər hansı bir yeni faylı əldə etmək/oxumaq və ya bu qovluqda yeniləmək istəyir, ehtiyac duyduğu ilk şey, bizim vəziyyətimizdə "/Folder_one/" olan qovluq adını və yolunu bilməkdir. Beləliklə, indi bu qovluğa gedəcək və həmin faylı (fayl adı: temperatur) oxuyacaq/alacaq. Yolu/Mövzunu bilmək və Mqtt dünyasındakı faylda/yeni fayllarda dəyişikliklərin olub -olmadığını yoxlamaq bu mövzuya abunəlikdir.

Yuxarıdakı nümunəni nəzərə alaraq, System X "/Folder_one" saytına yayımlayır və System Y "/Folder_one" abunəsinə malikdir

Həm də unutmayın ki, X sistemi "/Folder_one" -ya abunə ola bilər və System Y "/Folder_one" -də də dərc edə bilər. Müdrik olduğu kimi, hətta Server sistemi (The Mqtt Broker), Mqtt müştərisini indiki kimi quraraq "/Folder_one" nəşr edə/abunə ola bilər. Xatırlamalı olduğunuz başqa bir şey, Mqtt Brokerinin IP ünvanını bilməniz lazım olan bir mövzunu dərc etmək və ya ona abunə olmaqdır.

Əvvəlcə brokerlə eyni sistemdə quraşdırılmış ubuntu müştəri vasitəsi ilə sınayacağıq. Biri dərc edəcək, digəri isə ona abunə olacaq iki terminal pəncərəsi açacağıq. Məsələn, mövzu olaraq /Folder_one istifadə edəcəyik. Bir mövzuya girmədən əvvəl ubuntu -nun IP ünvanını tapmalısınız. Bunu etmək üçün ekranın sağ üst küncünə vurun, wifi parametrini seçin, oradan ubuntu sisteminin IP ünvanını (hazırda broker IP) tapa biləcəksiniz. İstinad üçün paylaşılan ekran görüntüsü (Şəkil 8).

Və ya brokerin IP ünvanını tapmaq üçün terminalda aşağıdakı əmrdən istifadə edərək xalis alətlər quraşdıraraq IP ünvanını tapa bilərsiniz

sudo apt net-tools quraşdırın

Şəbəkə alətlərinin quraşdırılması (Şəkil 9). Bundan sonra ipconfig əmrini yazın, Mac və IP ünvanı olan bir şəbəkə interfeysi siyahısı alacaqsınız

sudo ipconfig

Sistemimin IP ünvanı 192.168.1.67 -dir (Şəkil 10)

Nəşr etmək

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Burada mosquitto_pub əmrdir, ardınca host /brokerin IP ünvanı olan -h parametr identifikatoru elementi (Bizim vəziyyətimizdə 192.168.1.67), ardınca yayımçının mövzu adı olan -t (bizim halda /Folder_one), sonra -m, göndəriləcək mesaj/faydalı yük deməkdir (Bizim vəziyyətimizdə pub_to_folderone).

Abunə olmaq üçün

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Nəşriyyat tərəfindən göndərilən mesaj: pub_to_folderone

Nəşr üçün nümunə

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “salam test mqtt”

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m "mqtt işləyir"

Mövzuya abunə olmaq üçün alınan cavab nümunəsi

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Nəşriyyat tərəfindən göndərilən mesaj:

  • pub_to_folderone
  • salam mqtt
  • mqtt işləyir

Pub Sub iki ayrı terminal pəncərəsində yan -yana (Şəkil 11)

Android -də Mqtt testi (mənim mqtt)

Mymqtt tətbiqini play mağazasından android telefonunuza quraşdırın (Şəkil 12)

Tətbiqi açın və sol üst küncdə vurun (Şəkil 13, Şəkil 14).

Parametrləri vurun və brokerin IP ünvanını daxil edin, port 1883 olacaq. Hal -hazırda təsdiqlənmiş mqtt brokerindən istifadə etmirik, buna görə istifadəçi adı və şifrə boş olacaq. Sadəcə qeyd edin və yenidən tətbiqin sol üst küncünə vurun (<Ayarlar), çekmece yenidən açılacaq (Şəkil 15).

Çekmecenin üstündə, brokerin IP ünvanını və tətbiqin bağlı olduğu portu göstərəcək (Şəkil 16).

İndi Abunə olmaq üçün abunə olmaq istədiyiniz mövzunu əlavə edin. Burada /Folder_one olaraq mövzu əlavə edəcəyik (Şəkil 17, Şəkil 18).

Bunu etdikdən sonra, ubuntu sistemindən terminal istifadə edərək mövzunu dərc edəcəyik. Nəşr edərkən bu mobil tətbiqdə yayımlanan yük/mesajı almalısınız. Məsələn, "ARM -Automation Robotics & Mechatronics" kimi yük yükləmə. Əmr əvvəl qeyd edildiyi kimidir.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “ARM -Automation Robotics & Mechatronics”

ubuntu sistemindən nəşr (Şəkil 19).

Tablosuna dərc edilmiş bir mesaj alındı (Şəkil 20).

İndi android telefonundan (My mqtt) yayımlayaq və ubuntu sisteminə abunə olaq. Bu nümunə üçün "/mymqtt_to_pub" mövzusunu istifadə edirik.

Bunu etmək üçün əvvəlcə ubuntu sisteminizdən bir terminal açın və aşağıdakı əmri istifadə edərək "/mymqtt_to_pub" mövzusuna abunə olun (Şəkil 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

İndi mymqtt tətbiqinin çekmecəsinə gedin və dərc et düyməsini basın. Nəşriyyat mövzusunu əlavə edin (Bizim vəziyyətimizdə "/mymqtt_to_pub") və "salam Ubuntu" göndərəcəyimiz kimi bir mesaj göndərin, göndər düyməsini basın (Şəkil 22, Şəkil 23).

Mesaj ubuntu sisteminin terminal pəncərənizdə görünməlidir (Şəkil 24).

Unutmayın ki, həm ubuntu sistemi, həm də android telefonu eyni şəbəkədə olmalı və ya 1883 portu açılmalı və mqtt -in işləməsi üçün yönlendiricinizin/ağ geçidinizin IP ünvanını bilməlisiniz. Mqtt brokerinizə kimlik doğrulaması əlavə etmək istəyirsinizsə, bunu aşağıda göstərilən blog bağlantısını izləyərək edə bilərsiniz https://medium.com/@eranda/setting-up-authenticat… Bu blogun ikinci addımını izləyin. Brokerimizin identifikasiyasını təmin etdik və lövhələrimiz üçün təsdiqlənmiş brokerdən istifadə edəcəyik.

Addım 3: Armtronix Board & Mqtt ilə işləmək

Armtronix Board & Mqtt ilə işləmək
Armtronix Board & Mqtt ilə işləmək
Armtronix Board & Mqtt ilə işləmək
Armtronix Board & Mqtt ilə işləmək
Armtronix Board & Mqtt ilə işləmək
Armtronix Board & Mqtt ilə işləmək

Hal -hazırda bu təlimat üçün, sinus dalğasını kəsmək və öz növbəsində ampulü söndürmək və ya fanın sürətini idarə etmək üçün Triac istifadə edən Wifi Tək Dimmer Kartımızdan istifadə edirik. Ayrıca mqtt identifikasiya növü ilə əlaqələndirdik.

Əvvəlcə lövhəni konfiqurasiya etdik. Konfiqurasiya etmək üçün addımlar aşağıda qeyd edildiyi kimidir.

Gücdə, Wifi Giriş Nöqtəsinə ev sahibliyi etməyə başlayacaq.

Bir Android telefonu və ya dizüstü kompüterdən istifadə edərək bu AP -yə qoşulun (Şəkil 25).

Bu AP -yə qoşulduqdan sonra, AP -ə bağlı sistemdən/Telefondan bir brauzer (chrome/firefox) açaraq 192.168.4.1 yazın. Məlumat bağlantınızı (3G/4G) istifadə etmədiyinizə əmin olun.

IP yazarkən, aşağıdakıların daxil edilməli olduğu bir veb səhifəsi açılacaq (Şəkil 26).

  • SSID: Wifi AP adı.
  • Şifrə: SSID Şifrəsi.
  • IoT rejimi Mqtt və ya Http (Mqtt seçin).
  • Mqtt Broker IP (Bizim vəziyyətimizdə 192.168.1.67).
  • Mqtt istifadəçi adı və şifrəsi, doğrulama növündən istifadə edərkən Naren, xxxx istifadə etdik
  • Mqtt dərc mövzusu: Bu, lövhənin hansı mövzuda yayımladığı olacaq, biz /testpub istifadə etmişik.
  • Mqtt abunə mövzusu: Bu, lövhənin triakanı işə salmaq üçün əmrləri dinlədiyi mövzuda olacaq /biz testublardan istifadə etmişik.
  • Cihazın adı: lövhəni işə salmaq üçün alexa -ya çağırdığınız addır, corvi istifadə etdik.

Detalları daxil etdikdən sonra Göndər düyməsini basın, bunu edərkən Şəkil 27 -də göstərildiyi kimi bir ekran alacaqsınız, lövhə AP -ni qəbul etməyi dayandırana qədər bir müddət gözləyin.

Unutmayın ki, lövhəmizi Uart vasitəsi ilə Arduino IDE -nin seriyalı monitoruna bağladıq. Beləliklə, sol tərəfdə Uart üzərindən çap etdiyi ayıklama mesajlarını görəcəksiniz (bu yalnız istinad üçündür).

Bunu etdikdən sonra ayıklama ekranını görə bilərsiniz. Detalların çoxu orada görünəcək. Bundan sonra, bunu görə biləcəyiniz debug (serial) ekranında brokerə uğurla qoşulacaq.

Doğrulama ilə MQTT brokerinə qoşuldu. Mövzu 1 -ə abunə.

Bunu çap etdikdən sonra abunə olduğu mövzuda mqtt vasitəsilə əmrləri göndərməyə başlaya bilərsiniz, yəni /testsub /

Bunun üçün lövhənin əmrləri:

  • R13_ON: Triyakanı 100%açmaq üçün.
  • R13_OFF: Triyakanı 0%-ə söndürmək üçün.
  • Dimmer: xx: Burada xx karartma dəyəridir və 0 ilə 99 arasında dəyişə bilər.
  • Sıfırla: lövhənin konfiqurasiyasını təmizləmək üçün.
  • Vəziyyət: Şuranın nəşr mövzusunda lövhənin dimmer vəziyyətini yazdırın.

Bu əmri mqtt müştərisinin quraşdırıldığı ubuntu əsaslı bir sistemdən göndərmək üçün aşağıda göstərildiyi kimi yazın. Doğrulama səbəbiylə bura iki əlavə parametr əlavə olunur -yəni istifadəçi adı olan -u və -P şifrəsidir, bunların böyük hərflərə həssas olduğunu unutmayın.

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_OFF

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m Dimmer: 50

Qeyd: 50 dimmer dəyəridir

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m Status

Ən son status üçün status, bizim vəziyyətimizdə /testpub olan lövhənin nəşr mövzusunda çap olunur. Bizim lövhədə cihazdakı hər hansı bir dəyişiklik lövhənin nəşr mövzusunda çap olunur. Məsələn, Dimmer: 50 -ni abunə mövzusunda fiziki olaraq yerinə yetirməkdən keçsək, lövhə nəşr mövzusundakı sönük səviyyəni bildirən bir mesaj göndərəcək. Nümunə aşağıda göstərilmişdir, Ubuntu sisteminizdən lövhənin nəşr mövzusuna abunə olmaq üçün aşağıdakı əmri daxil edin

mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub

aldığımız mesajdır

DimmerIS50

eyni bir neçə ekran şortu aşağıda (Şəkil 28, Şəkil 29)

Tövsiyə: