İçindekiler:
- Adım 1: Mqtt Broker'ı Kurma:
- Adım 2: MQTT'yi (Sivrisinek) Test Etme
- Adım 3: Armtronix Board & Mqtt ile Çalışmak
Video: Armtronix Kartlarında MQTT: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Bu talimatta size ilk olarak Linux (Debian veya Ubuntu) tabanlı bir sistemi nasıl kullanabileceğinizi ve üzerine Mosquitto (Mqtt Broker) kurabileceğinizi göstermek istiyoruz, ayrıca Mqtt istemcisini Telefonunuzda (Android)/ Linux Tabanlı nasıl kullanacağınızı göstermek istiyoruz. sistem, Mqtt aracılığıyla mesaj gönderme ve alma. Buna aşina olduktan sonra, kurulu bu Mqtt brokeri ile panomuzu nasıl yapılandırabileceğinizi ve bağlayabileceğinizi size göstermek istiyoruz. Ayrıca, Mqtt aracısına nasıl kimlik doğrulama ekleyebileceğinizi ve hata ayıklamak için bazı temel ipuçlarını ve püf noktalarını da göstermek istiyoruz. O halde başlayalım ………..
Adım 1: Mqtt Broker'ı Kurma:
Yükleyebileceğiniz birden çok Mqtt aracısı vardır. Bilinenlerden bazıları aşağıda belirtildiği gibidir. Bazıları bulut tabanlı hizmetlerdir.
- HiveMQ
- SivrisinekBulut
- MQTT
- Adafruit.io
Size Mosquitto'yu Linux tabanlı bir sisteme nasıl kuracağınızı göstereceğiz (Ubuntu 18.04). Bunu yapmak için önce Mosquitto'yu ubuntu kaynak listesine ekleyin. Mosquitto, Ubuntu depolarında mevcut olduğunda, onu apt-get ile kurabileceksiniz.
Sadece bir Terminal açın. Bir Terminal açmak için Ubuntu Masaüstünün Sol alt köşesine gidin, Uygulamayı göster'e tıklayın (Doted 3X3 grid). Bir Pencere açılacaktır. Orada Terminal'i ararsınız. Terminale tıklayın, aşağıdaki resimlerde gösterildiği gibi bir pencerenin açıldığını görebilmelisiniz.
- Uygulamayı Göster (Resim 1).
- Terminal Arayın (Resim 2).
- Terminal Penceresi (Resim 3).
Terminali açtıktan sonra aşağıdaki komutları girin
sudo apt-add-deposu ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get güncellemesi
sudo apt-get kurulum sivrisinek
Mqtt istemcisini de yükleyebilirsiniz. Bunu yapmak için komut olacak
sudo apt-get install sivrisinek istemcileri
Referans için bazı resimler
- ppa ekleme (Resim 4).
- Repo güncelleniyor (Resim 5).
- Sivrisinek Kurulumu (Resim 6).
- Mosquitto Client Kurulumu (Resim 7).
Adım 2: MQTT'yi (Sivrisinek) Test Etme
ubuntu (aynı sistem veya başka bir sistem) aracılığıyla mqtt'yi test etmek için daha önce sudo apt-get install mosquitto-clients komutuyla kurulmuş olan mqtt istemcisini kurmanız gerekir. Cep telefonu (android) kullanarak test etmek isterseniz, Play Store'dan MyMqtt uygulamasını yükleyebilirsiniz.
Mqtt, Konular adlı bir şey üzerinde çalışır. Kolay anlaşılması için bu konuları bilgisayarın sabit diskindeki bir klasör olarak düşünün. Bu bilgisayarı bir bilgisayar sunucusu olarak ele alalım (mqtt dünyasında bir Mqtt Broker'dır). Bu sunucuda bir klasöre sahip olduğumuzu düşünelim.
Klasör adı: /Folder_one/
Şimdi iki farklı sistemden (PC/Dizüstü) bu sunucuya dosya okumak, dosya göndermek/dökmek veya her ikisini birden yapmak için erişen iki kişiyi düşünelim.
İki kişiyi/sistemi System X, System Y olarak adlandıracağız (Bunlar Mqtt Dünyasındaki Mqtt İstemcileridir).
Şimdi diyelim ki System X bir dosyayı (dosya adı: sıcaklık) “/Folder_one/” klasörüne gönderir/döker, buna mqtt dünyasında bu yayınlama diyebiliriz (dosya yerine bir mesaj/yük göndeririz).
Şimdi, diyelim ki Sistem Y bu dosyayı veya herhangi bir yeni dosyayı almak/okumak veya bu klasörde güncelleme yapmak istiyor, ilk ihtiyacı olan klasör adını ve yolunu bilmek, ki bu bizim durumumuzda “/Folder_one/”. Şimdi bu klasöre gidecek ve o dosyayı okuyacak/alacak (dosya adı: sıcaklık). Yolu/Konuyu bilmek ve Mqtt dünyasındaki dosya/yeni dosyalardaki değişiklikleri kontrol etmek o konuya abone olmaktır.
Yukarıdaki örnek dikkate alındığında, System X, "/Folder_one" klasörüne yayın yapıyor ve System Y, "/Folder_one" klasörüne abone oluyor
Ayrıca System X'in “/Folder_one” klasörüne abone olabileceğini ve System Y'nin “/Folder_one” klasörüne de Yayınlayabileceğini unutmayın. Akıllıca olduğu gibi, Sunucu sistemi bile (The Mqtt Broker), şu anda yaptığımız gibi Mqtt istemcisini yükleyerek “/Folder_one” yayınlayabilir/abone olabilir. Hatırlanması gereken diğer şey, Mqtt Broker'ın IP adresini bilmeniz gereken bir konuyu yayınlamak veya abone olmaktır.
İlk önce, aracı kurumla aynı sistemde kurulu olan ubuntu istemcisi aracılığıyla test edeceğiz. Biri yayınlayacak diğeri abone olacak iki terminal penceresi açacağız. Örnek için /Folder_one konusunu konu olarak kullanacağız. Bir konuya pub/sub göndermeden önce ubuntu'nun IP adresini bulmanız gerekir. Bunu yapmak için ekranın sağ üst köşesine tıklayın, wifi ayarını seçin, oradan ubuntu sisteminin IP adresini (şu anda komisyoncu IP'si) bulabileceksiniz. Referans için paylaşılan ekran görüntüsü (Resim 8).
Veya aracının IP adresini bulmak için, terminalde aşağıdaki komutu kullanarak net araçları yükleyerek IP adresini bulabilirsiniz.
sudo apt net araçları yükleyin
Ağ araçlarının kurulumu (Resim 9). Bundan sonra sadece ipconfig komutunu yazın, mac ve IP adresiyle birlikte bir ağ arayüzü listesi alacaksınız.
sudo ipconfig
Sistemimin IP adresi 192.168.1.67 (Resim 10)
Yayımlamak
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone
Burada, mosquitto_pub komuttur, ardından ana bilgisayar/aracı IP adresi olan -h parametre tanımlayıcı öğesi (bizim durumumuzda 192.168.1.67), ardından yayıncıya konu adı olan -t (bizim durumumuzda /Folder_one), ardından -m bu, gönderilecek mesaj/yük anlamına gelir (Bizim durumumuzda pub_to_folderone).
Abone olmak için
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Yayıncı tarafından gönderilen mesaj: pub_to_folderone
Yayın için örnek
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “merhaba test mqtt”
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “mqtt çalışıyor”
Konuya abone olurken alınan yanıt örneği
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Yayıncı tarafından gönderilen mesaj:
- pub_to_folderone
- merhaba test mqtt
- mqtt çalışıyor
Pub Sub iki ayrı terminal penceresinde yan yana (Resim 11)
Android'de Mqtt'yi test etme (mqtt'm)
Android telefonunuza play store'dan mymqtt uygulamasını yükleyin (Resim 12)
Uygulamayı açın ve sol üst köşeye tıklayın (Resim 13, Resim 14).
Ayarlar'a tıklayın ve aracı IP adresini girin, varsayılan olarak bağlantı noktası 1883 olacaktır. Şu anda kimliği doğrulanmış mqtt aracısı kullanmıyoruz, bu nedenle kullanıcı adı ve parola boş olacaktır. Sadece kaydedin ve uygulamanın sol üst köşesine tekrar tıklayın (< Ayarlar) çekmece yeniden açılacaktır (Resim 15).
Çekmecenin üstünde, size aracı IP adresini ve uygulamanın bağlı olduğu bağlantı noktasını gösterecektir (Resim 16).
Şimdi Abone Ol'a tıklayarak abone olmak istediğiniz konuyu ekleyin. Burada konuyu /Folder_one olarak ekleyeceğiz (Resim 17, Resim 18).
Bunu yaptıktan sonra ubuntu sisteminden terminal kullanarak konuya yayın yapacağız. Yayınlarken, bu mobil uygulamada yayınlanan yükü/mesajı almalısınız. Örneğin, “ARM -Automation Robotics & Mechatronics” olarak payload yayınlamak. Komut daha önce belirtildiği gibidir.
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “ARM -Otomasyon Robotik ve Mekatronik”
ubuntu sisteminden yayınlama (Resim 19).
Kontrol panelinde yayınlanan mesaj alındı (Resim 20).
Şimdi android telefondan (My mqtt) yayınlayalım ve ubuntu sistemine abone olalım. Bu örnek için “/mymqtt_to_pub” konusunu kullanıyoruz.
Bunu yapmak için önce ubuntu sisteminizden bir terminal açın ve aşağıdaki komutu kullanarak “/mymqtt_to_pub” konusuna abone olun (Resim 21)
mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub
Şimdi mymqtt uygulamasının çekmecesine gidin ve yayınla'ya tıklayın. Yayınlama konusunu ekleyin (Bizim durumumuzda “/mymqtt_to_pub”) ve “hi Ubuntu” göndereceğiz gibi bir mesaj gönderin, gönder düğmesine basın (Resim 22, Resim 23).
Mesaj, ubuntu sisteminin terminal penceresinde görünmelidir (Resim 24).
Hem ubuntu sisteminin hem de android telefonun aynı ağda olması veya 1883 numaralı bağlantı noktasının açık olması gerektiğini ve mqtt'nin çalışması için yönlendiricinizin/ağ geçidinizin IP adresini bilmeniz gerektiğini unutmayın. Eğer mqtt aracınıza kimlik doğrulama eklemek istiyorsanız, aşağıda belirtilen blog bağlantısını https://medium.com/@eranda/setting-up-authenticat takip ederek yapabilirsiniz… Bu blogun ikinci adımını takip edin. Aracımızın kimlik doğrulamasını etkinleştirdik ve panolarımız için kimliği doğrulanmış aracıyı kullanacağız.
Adım 3: Armtronix Board & Mqtt ile Çalışmak
Şu anda bu talimat için, sinüs dalgasını kesmek için Triyak kullanan ve ardından ampulü karartan veya fanın hızını kontrol eden Wifi Tek Dimmer Kartımızı kullanıyoruz. Ayrıca mqtt kimlik doğrulama türü ile bağladık.
Başlangıçta tahtayı yapılandırdık. Yapılandırma adımları aşağıda belirtildiği gibidir.
Kartı açın, bir Wifi Erişim Noktası barındırmaya başlayacaktır.
Bir android telefon veya dizüstü bilgisayar kullanarak bu AP'ye bağlanın (Resim 25).
Bu AP'ye bağlandıktan sonra, AP'ye bağlı sistemden/Telefondan bir tarayıcı (chrome/firefox) açarak 192.168.4.1 yazın. Veri bağlantınızı (3G/4G) kullanmadığınızdan emin olun.
IP yazıldığında, aşağıdakilerin girilmesi gereken bir web sayfası açılacaktır (Resim 26).
- SSID: Wifi AP adı.
- Şifre: SSID Şifresi.
- IoT modu Mqtt veya Http (Mqtt Seçin).
- Mqtt Broker IP (Bizim durumumuzda 192.168.1.67).
- Mqtt kullanıcı adı ve şifresi, kimlik doğrulama tipini kullandığımız için Naren, xxxx kullandık
- Mqtt yayın konusu: Bu, kurulun da hangi konuda yayın yaptığı olacaktır, /testpub kullandık.
- Mqtt abone olma konusu: Bu, triyakı tetiklemek için komutların hangi konuyu dinleyeceği olacaktır, /testsub kullandık.
- Cihaz adı: Kartı tetiklemek için alexa'ya çağırdığınız isimdir, biz corvi kullandık.
Ayrıntıları girdikten sonra Gönder düğmesine basın, bunu yaptığınızda Resim 27'de gösterildiği gibi bir ekran göreceksiniz, yönetim kurulu AP'yi barındırmayı bırakana kadar bir süre bekleyin.
Lütfen kartımızı Uart üzerinden Arduino IDE'nin seri monitörüne bağladığımızı unutmayın. Böylece sol tarafta Uart aracılığıyla yazdırdığı hata ayıklama mesajlarını göreceksiniz (bu sadece referansınız içindir).
Bu yapıldıktan sonra hata ayıklama ekranını görüntüleyebilirsiniz. Ayrıntıların çoğu orada görünecek. Bundan sonra, debug (seri) ekranında brokere başarıyla bağlanacaktır, bunu görebilirsiniz.
Kimlik doğrulama ile MQTT aracısına bağlandı. 1. konuya abone oldum.
Bunu yazdırdıktan sonra, artık abone olduğu konuyla ilgili mqtt aracılığıyla komutlar göndermeye başlayabilirsiniz, yani /testsub/
Bu pano komutları için:
- R13_ON: Triyakı %100 olarak açmak için.
- R13_OFF: Triyakı %0'a kapatmak için.
- Dimmer:xx: Burada, xx karartma değeridir ve 0 ile 99 arasında değiştirilebilir.
- Sıfırla: Kartın yapılandırmasını temizlemek için.
- Durum: Panonun dimmer durumunu panonun yayınlanma konusuna yazdırın.
Bu komutu mqtt istemcisinin kurulu olduğu ubuntu tabanlı bir sistemden göndermek için aşağıda gösterildiği gibi yazmanız yeterlidir. Kimlik doğrulama nedeniyle buraya iki ek parametre eklenir - yani kullanıcı adı olan -u ve -P paroladır, lütfen bunların büyük/küçük harfe duyarlı 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
Not: 50 dimmer değeridir
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 Durum
En son durum için durum, bizim durumumuzda /testpub olan panonun yayın başlığına yazdırılır. Panomuzda cihazdaki herhangi bir değişiklik panonun yayın konusuna yazdırılır. Örneğin, Dimmer:50'yi panoya abone olunan konuda fiziksel olarak yürütmek yerine geçersek, pano, yayınlama konusundaki karartılmış seviyeyi belirten bir mesaj gönderecektir. Örnek aşağıda gösterilmiştir, Ubuntu sisteminizden panonun yayınlama konusuna abone olmak için aşağıdaki komutu girin
mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub
aldığımız mesaj
DimmerIS50
aynısının birkaç ekran görüntüsü aşağıdadır (Resim 28, Resim 29)
Önerilen:
ESP32 ile MQTT Mood Lights: 4 Adım (Resimlerle)
MQTT Mood Lights with ESP32: Bir süredir LED vagonuna atlamak için cazip gelmiştim, bu yüzden koştum ve oynamak için bir LED şerit aldım. Sonunda bu ruh hali ışıklarını yaptım. MQTT ile kontrol edilebilirler, bu da her türlü akıllıyı eklemeyi mümkün kılar. Bu bir
MQTT Yüzme Havuzu Sıcaklık Monitörü: 7 Adım (Resimlerle)
MQTT Yüzme Havuzu Sıcaklık Monitörü: Bu proje, diğer Ev Otomasyonu projelerim Akıllı Veri Kaydı Şofben Kontrolörü ve Çok Amaçlı Oda-Aydınlatma ve Cihaz Kontrolörü için bir arkadaştır. Havuz suyu sıcaklığını, ortam havasını ölçen havuz kenarına monte bir monitördür
Adım Adım Arduino Uno ile Akustik Kaldırma (8 adım): 8 Adım
Arduino Uno ile Akustik Kaldırma Adım Adım (8 adım): ultrasonik ses dönüştürücüler L298N erkek dc pinli Dc dişi adaptör güç kaynağı Arduino UNOBreadboardBu nasıl çalışır: İlk olarak, Arduino Uno'ya kod yüklersiniz (dijital ile donatılmış bir mikrodenetleyicidir) ve kodu dönüştürmek için analog bağlantı noktaları (C++)
ARMTRONIX Wifi 30Amps Board: 4 Adım (Resimli)
ARMTRONIX Wifi 30Amps Kartı: GIRIŞ:Armtronix 30AMPS Röle kartı bir IOT kartıdır.Kartın özellikleri şunlardır:Kablosuz kontrol.Yerleşik USB'den UART'a.Yerleşik AC'den DC'ye güç kaynağı 230VAC'den 5V DC'ye.AC sanal anahtarı. Kartın görünümü ve hissi ve boyutu 105mm X 7
ARMTRONIX WIFI TEK Dimmer Kartı V0.2: 3 Adım (Resimli)
ARMTRONIX WIFI SINGLE Dimmer Board V0.2: Armtronix Wifi dimmer, ev otomasyonu için tasarlanmış bir IOT kartıdır. Kartın özellikleri şunlardır: Kablosuz kontrol Küçük form faktörü Kart üzerinde AC - DC güç kaynağı 230VAC - 5V DC. DC sanal anahtar Kartın boyutu 61.50