Sadržaj:
- Korak 1: Instaliranje Mqtt Brokera:
- Korak 2: Testiranje MQTT (komarac)
- Korak 3: Rad sa Armtronix Board & Mqtt
Video: MQTT na Armtronix pločama: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
U ovom uputstvu želimo vam u početku pokazati kako možete koristiti sistem zasnovan na Linuxu (Debian ili Ubuntu) i instalirati Mosquitto (Mqtt broker), također vam pokazati kako koristiti klijent Mqtt na svom telefonu (Android)/ Linux sistem, slanje i primanje poruka putem Mqtt. Nakon što smo se upoznali s ovim, željeli bismo vam pokazati kako možete konfigurirati i povezati našu ploču s ovim instaliranim brokerom Mqtt. Također bi vam htio pokazati kako možete dodati provjeru autentičnosti Mqtt brokeru i neke osnovne savjete i trikove za otklanjanje grešaka. Pa počnimo ………..
Korak 1: Instaliranje Mqtt Brokera:
Postoji više Mqtt brokera koje možete instalirati. Neki od poznatih su navedeni u nastavku. Neki od njih su usluge zasnovane na oblaku.
- HiveMQ
- MosquittoCloud
- MQTT
- Adafruit.io
Pokazat ćemo vam kako instalirati Mosquitto na Linux sustav (Ubuntu 18.04). Da biste to učinili, prvo dodajte Mosquitto na listu izvora ubuntu -a. Kada Mosquitto bude dostupan u Ubuntu spremištima, moći ćete ga instalirati pomoću apt-get.
Samo otvorite terminal. Da biste otvorili terminal, idite u donji lijevi ugao Ubuntu radne površine, kliknite na Prikaži aplikaciju (tačkasta mreža 3X3). Otvorit će se prozor. Tamo tražite Terminal. Kliknite na terminal i trebali biste vidjeti otvoren prozor kao što je prikazano na sljedećim slikama.
- Prikaži aplikaciju (slika 1).
- Potražite terminal (slika 2).
- Terminal prozor (slika 3).
Unesite sljedeće naredbe nakon što otvorite terminal
sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
Možete instalirati i Mqtt klijent. Naredba za to će biti
sudo apt-get install mosquitto-clients
Neke slike za vašu referencu
- Dodavanje PPA (Slika 4).
- Ažuriranje repoa (Slika 5).
- Instaliranje Mosquitta (Slika 6).
- Instaliranje Mosquitto klijenta (Slika 7).
Korak 2: Testiranje MQTT (komarac)
Da biste testirali mqtt putem ubuntu-a (isti sistem ili drugi sistem), morate instalirati mqtt klijenta koji je ranije instaliran naredbom sudo apt-get install mosquitto-clients. U slučaju da ga želite testirati pomoću mobilnog telefona (android), možete instalirati aplikaciju MyMqtt iz play trgovine.
Mqtt radi na nečemu što se zove Teme. Radi lakšeg razumijevanja, razmotrite ove teme kao mapu na tvrdom disku računara. Tretirajmo ovaj računar kao računarski server (koji je u svijetu mqtt Mqtt posrednik). Na ovom serveru razmislimo o tome da imamo jednu fasciklu.
Naziv mape: /Folder_one /
Razmotrimo sada dvoje ljudi iz dva različita sistema (PC/Laptop) koji pristupaju ovom serveru radi čitanja datoteka ili slanja/ispisivanja datoteka ili radi obje operacije.
Dvojicu ljudi/sistem ćemo nazvati System X, System Y (Ovo su Mqtt klijenti u Mqtt svijetu).
Sada, recimo da System X šalje/ispisuje neku datoteku (naziv datoteke: temperatura) u mapu “/Folder_one/”, ovo u svijetu mqtt možemo nazvati ovim objavljivanjem (šaljemo neku poruku/korisni teret umjesto datoteke).
Sada, recimo da sistem Y želi nabaviti/pročitati ovu datoteku ili bilo koju novu datoteku ili ažurirati u ovoj mapi, prvo što treba je znati naziv i putanju mape, što je u našem slučaju “/Folder_one/”. Pa će sada otići u ovu mapu i pročitati/primiti tu datoteku (naziv datoteke: temperatura). Poznavanje putanje/teme i provjeravanje promjena u datoteci/novim datotekama u svijetu Mqtt pretplata je na tu temu.
Uzimajući u obzir gornji primjer, Sistem X objavljuje u “/Folder_one”, a sistem Y se pretplatio na “/Folder_one”
Takođe imajte na umu da se Sistem X može pretplatiti i na „/Folder_one“, a Sistem Y takođe može objaviti na „/Folder_one“. Kao što je pametno, čak i poslužiteljski sistem (The Mqtt Broker) može objaviti/pretplatiti se na “/Folder_one” instaliranjem Mqtt klijenta na njega kao što smo to do sada učinili. Druga stvar koju treba zapamtiti je objavljivanje ili pretplata na temu za koju morate znati IP adresu Mqtt brokera.
Prvo ćemo ga testirati putem ubuntu klijenta koji je instaliran na istom sistemu kao i posrednik. Otvorit ćemo dva terminala, jedan će objaviti, a drugi će se na njega pretplatiti. Za primjer Mi ćemo koristiti /Folder_one kao temu. Prije pub/sub teme, morate pronaći IP adresu ubuntu. Da biste to učinili, kliknite u gornjem desnom kutu zaslona, odaberite WiFi postavku, odatle ćete moći pronaći IP adresu ubuntu sistema (trenutno IP posrednika). Kratki prikaz ekrana podijeljen za referencu (Slika 8).
Ili da biste pronašli IP adresu posrednika, možete pronaći IP adresu instaliranjem mrežnih alata pomoću sljedeće naredbe u terminalu
sudo apt instalirajte mrežne alate
Instaliranje mrežnih alata (Slika 9). Nakon toga samo upišite naredbu ipconfig i dobit ćete popis mrežnog sučelja s mac i IP adresom
sudo ipconfig
IP adresa mog sistema je 192.168.1.67 (Slika 10)
Za objavljivanje
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone
Ovdje je komanda mosquitto_pub naredba, iza koje slijedi element identifikatora parametra -h koji je IP adresa hosta /posrednika (u našem slučaju 192.168.1.67), nakon čega slijedi -t naziv teme za izdavača (U našem slučaju /Folder_one), nakon čega slijedi -m što znači poruka/korisni teret koji treba poslati koji (U našem slučaju je pub_to_folderone).
Za pretplatu
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Poruka koju je poslao izdavač: pub_to_folderone
Primjer za objavljivanje
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “hi test mqtt”
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m "mqtt radi"
Primjer odgovora primljenog prilikom pretplate na temu
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Poruka koju je poslao izdavač:
- pub_to_folderone
- hi test mqtt
- mqtt working
Pub Sub u dva odvojena prozora terminala jedan pored drugog (Slika 11)
Testiranje Mqtt na androidu (moj mqtt)
Instalirajte aplikaciju mymqtt iz trgovine Play na svoj Android telefon (Slika 12)
Otvorite aplikaciju i kliknite na gornji lijevi ugao (Slika 13, Slika 14).
Kliknite na Postavke i unesite IP adresu brokera, port će prema zadanim postavkama biti 1883. Trenutno ne koristimo mqtt brokera s autentifikacijom pa će korisničko ime i lozinka biti prazni. Samo ga spremite i ponovno kliknite u lijevom gornjem kutu aplikacije (<Postavke) ladica će se ponovno otvoriti (Slika 15).
Na vrhu ladice prikazat će se IP adresa posrednika i port na koji je aplikacija povezana (Slika 16).
Sada dodajte temu na koju se želite pretplatiti klikom na Pretplati se. Ovdje ćemo dodati temu kao /Folder_one (Slika 17, Slika 18).
Nakon toga ćemo iz ubuntu sistema pomoću terminala objaviti temu. Prilikom objavljivanja trebali biste dobiti korisni teret/poruku objavljenu na ovoj mobilnoj aplikaciji. Na primjer, objavljivanje korisnog tereta kao “ARM -Automation Robotics & Mechatronics”. Naredba je kao što je ranije spomenuto.
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “ARM -Automatska robotika i mehatronika”
objavljivanje iz ubuntu sistema (Slika 19).
Primljena objavljena poruka na nadzornoj ploči (Slika 20).
Sada objavimo sa android telefona (My mqtt) i pretplatimo se na ubuntu sistemu. Za ovaj primjer koristimo temu “/mymqtt_to_pub”.
Da biste to učinili, prvo otvorite terminal sa svog ubuntu sistema i pretplatite se na temu “/mymqtt_to_pub” pomoću sljedeće naredbe (slika 21)
mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub
Sada idite u ladicu aplikacije mymqtt i kliknite na objavi. Dodajte temu objavljivanja (u našem slučaju to je “/mymqtt_to_pub”) i pošaljite poruku kao što ćemo poslati “hi Ubuntu”, pritisnite dugme za slanje (Slika 22, Slika 23).
Poruka bi se trebala pojaviti na prozoru vašeg terminala ubuntu sistema (slika 24).
Imajte na umu da bi i ubuntu sistem i android telefon trebali biti na istoj mreži ili bi port 1883 trebao biti izložen i trebali biste znati IP adresu vašeg usmjerivača/pristupnika da bi mqtt radio. Ako želite dodati autentifikaciju svom mqtt brokeru, to možete učiniti slijedeći dolje navedenu vezu bloga https://medium.com/@eranda/setting-up-authenticat… Slijedite iz drugog koraka ovog bloga. Omogućili smo autentifikaciju našeg brokera i koristićemo provjerenog brokera za naše uprave.
Korak 3: Rad sa Armtronix Board & Mqtt
Trenutno za ovu instrukciju koristimo našu Wifi Single Dimmer Board koja koristi Triac za sjeckanje sinusnog vala i zauzvrat prigušuje žarulju ili kontrolira brzinu ventilatora. Također smo ga povezali putem mqtt vrste autentifikacije.
U početku smo konfigurirali ploču. Koraci za njegovu konfiguraciju su navedeni u nastavku.
Napajanje Na ploči će početi s postavljanjem Wifi pristupne tačke.
Pomoću android telefona ili prijenosnog računara povežite se s ovom pristupnom tačkom (slika 25).
Nakon što se povežete s ovom pristupnom tačkom, upišite 192.168.4.1 otvaranjem preglednika (chrome/firefox) iz sistema/telefona povezanog s AP -om. Uvjerite se da ne koristite podatkovnu vezu (3G/4G).
Prilikom upisivanja IP adrese otvorit će se web stranica na kojoj je potrebno unijeti sljedeće (slika 26).
- SSID: Naziv Wi -Fi pristupne tačke.
- Lozinka: SSID lozinka.
- IoT način Mqtt ili Http (Odaberite Mqtt).
- Mqtt Broker IP (U našem slučaju to je 192.168.1.67).
- Mqtt korisničko ime i lozinka, budući da koristimo tip autentifikacije, koristili smo Naren, xxxx
- Mqtt topic za objavljivanje: Ovo će biti tema koju ploča objavljuje, koristili smo /testpub.
- Tema pretplate na Mqtt: Ovo će biti tema koju ploča sluša za naredbe za aktiviranje triaka, koje smo koristili /testingub.
- Naziv uređaja: To je ime koje pozivate alexa za pokretanje ploče, koristili smo corvi.
Nakon što unesete detalje, pritisnite dugme za slanje, pri čemu ćete dobiti ekran kao što je prikazano na slici 27, sačekajte neko vrijeme dok ploča ne prestane ugostiti AP.
Imajte na umu da smo našu ploču preko Uarta povezali sa serijskim monitorom Arduino IDE -a. Dakle, s lijeve strane ćete vidjeti poruke za otklanjanje grešaka koje štampa putem Uarta (ovo je samo za vašu referencu).
Kada to učinite, možete pogledati ekran za otklanjanje grešaka. Većina detalja bit će tamo vidljiva. Nakon toga će se uspješno povezati s posrednikom na ekranu za otklanjanje grešaka (serijski). Vidite ovo.
Povezan na MQTT brokera sa autentifikacijom. Pretplaćeni ste na temu 1.
Nakon što ovo odštampa, sada možete početi slati njegove naredbe putem mqtt na temu na koju se pretplatio, tj. /Testsub /
Za ovu ploču naredbe su:
- R13_ON: Uključivanje triaka na 100%.
- R13_OFF: Za isključivanje triaka na 0%.
- Dimmer: xx: Gdje je xx vrijednost zatamnjenja i može se mijenjati od 0 do 99.
- Resetiraj: Za brisanje konfiguracije ploče.
- Status: Odštampajte status zatamnjivanja ploče na temu objavljivanja ploče.
Da biste poslali ovu naredbu sa sistema zasnovanog na ubuntuu na kojem je instaliran mqtt klijent, samo je upišite kao što je prikazano ispod. Dva dodatna parametra su ovdje dodana zbog provjere autentičnosti -tj. -U koje je korisničko ime i -P je lozinka, imajte na umu da oni razlikuju velika i mala slova.
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 /testingub -m Dimmer: 50
Napomena: 50 je vrijednost prigušivača
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
Za najnoviji status, status se štampa na temi objavljivanja ploče koja je u našem slučaju /testpub. Na našoj ploči svaka promena u uređaju se štampa na temi objavljivanja ploče. Na primjer, ako prođemo Dimmer: 50 na pretplatničkoj temi na ploči nego pri fizičkom izvršavanju ove ploče, ploča će poslati poruku u kojoj se navodi zatamnjeni nivo teme objavljivanja. Primjer je prikazan ispod, Da biste se sa svog ubuntu sistema pretplatili na temu objavljivanja ploče, unesite sljedeću naredbu
mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub
poruka koju dobijamo je
DimmerIS50
nekoliko istih kratkih ekrana ispod je prikazano (Slika 28, Slika 29)
Preporučuje se:
Otkrivanje objekata sa Sipeed MaiX pločama (Kendryte K210): 6 koraka
Otkrivanje objekata sa Sipeed MaiX pločama (Kendryte K210): Kao nastavak mog prethodnog članka o prepoznavanju slika sa Sipeed MaiX pločama, odlučio sam da napišem još jedan vodič, fokusirajući se na otkrivanje objekata. Nedavno se pojavio zanimljiv hardver sa Kendryte K210 čipom, uključujući S
Prepoznavanje slike s K210 pločama i Arduino IDE/mikropythonom: 6 koraka (sa slikama)
Prepoznavanje slike s K210 pločama i Arduino IDE/Micropython: Već sam napisao jedan članak o tome kako pokrenuti OpenMV demo na Sipeed Maix Bit -u, a također sam napravio i video demonstraciju otkrivanja objekata na ovoj ploči. Jedno od mnogih pitanja koja su ljudi postavili je - kako mogu prepoznati objekt koji neuronska mreža nije tr
Korištenje WiFi AutoConnect s pločama ESP8266/ESP32: 3 koraka
Korištenje WiFi AutoConnect sa ESP8266/ESP32 pločama: Naučit ćemo kako koristiti biblioteku AutoConnect koja nam omogućava povezivanje i upravljanje WiFi pristupnim tačkama putem pametnog telefona. Gornji video će vas voditi kroz proces zajedno sa različitim ekranima koji su vam potrebni za pristup kako biste saznali više o
GlassCube - 4x4x4 LED kocka na staklenim pločama: 11 koraka (sa slikama)
GlassCube - 4x4x4 LED kocka na staklenim PCB -ovima: Moja prva instrukcija na ovoj web stranici je bila LED kocka 4x4x4 sa staklenim PCB -ovima. Obično ne volim raditi isti projekt dva puta, ali nedavno sam naišao na ovaj video snimak francuskog proizvođača Helioxa koji me inspirirao da napravim veću verziju svog originala
Kako postaviti Arduino IDE za rad s pločama Tinusaur .: 3 koraka
Kako postaviti Arduino IDE za rad s pločama Tinusaur .: Ovo je kratki vodič kako postaviti Arduino IDE za rad s pločama Tinusaur. Ono što u osnovi radi je da radi s mikrokontrolerima Atmel ATtiny85/45/25 . Jedina razlika je u tome što će se na popisu ploča pojaviti kao Tinusau