Sadržaj:

MQTT na Armtronix pločama: 3 koraka
MQTT na Armtronix pločama: 3 koraka

Video: MQTT na Armtronix pločama: 3 koraka

Video: MQTT na Armtronix pločama: 3 koraka
Video: BigTreeTech - Manta - M8P - Basics 2024, Novembar
Anonim
MQTT na Armtronix pločama
MQTT na Armtronix pločama

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:

Instaliranje Mqtt Brokera
Instaliranje Mqtt Brokera
Instaliranje Mqtt Brokera
Instaliranje Mqtt Brokera
Instaliranje Mqtt Brokera
Instaliranje Mqtt Brokera
Instaliranje Mqtt Brokera
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)

Testiranje MQTT (komarac)
Testiranje MQTT (komarac)
Testiranje MQTT (komarac)
Testiranje MQTT (komarac)
Testiranje MQTT (komarac)
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

Rad sa Armtronix Board & Mqtt
Rad sa Armtronix Board & Mqtt
Rad sa Armtronix Board & Mqtt
Rad sa Armtronix Board & Mqtt
Rad sa Armtronix Board & Mqtt
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: