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, Studeni
Anonim
MQTT na Armtronix pločama
MQTT na Armtronix pločama

U ovom uputstvu želimo vam u početku pokazati kako možete koristiti sustav temeljen na Linuxu (Debian ili Ubuntu) i na njega instalirati Mosquitto (Mqtt posrednik), te vam pokazati kako koristiti klijent Mqtt na svom telefonu (Android)/ Linux sustav, 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 posrednikom Mqtt. Također vam želim pokazati kako možete dodati provjeru autentičnosti posredniku Mqtt i neke osnovne savjete i trikove za otklanjanje pogrešaka. Pa krenimo ………..

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 temeljene na oblaku.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Pokazat ćemo vam kako instalirati Mosquitto na sustav temeljen na Linuxu (Ubuntu 18.04). Da biste to učinili, prvo dodajte Mosquitto na popis izvora ubuntu. Nakon što 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 kut Ubuntu radne površine, kliknite Prikaži aplikaciju (toč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).
  • Terminalni prozor (slika 3).

Unesite sljedeće naredbe nakon što otvorite terminal

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

sudo apt-get ažuriranje

sudo apt-get install mosquitto

Također možete instalirati 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)

Za testiranje mqtt putem ubuntu-a (isti sustav ili drugi sustav) 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 trgovine Play.

Mqtt radi na nečemu što se zove Teme. Radi lakšeg razumijevanja, razmotrite ove teme kao mapu na tvrdom disku računala. Tretirajmo ovo računalo kao računalni poslužitelj (koji je u svijetu mqtt Mqtt posrednik). Na ovom poslužitelju razmislimo o tome da imamo jednu mapu.

Naziv mape: /Folder_one /

Razmotrimo sada dvije osobe iz dva različita sustava (računalo/prijenosno računalo) koje pristupaju ovom poslužitelju radi čitanja datoteka ili slanja/ispisivanja datoteka ili radi obje operacije.

Dvoje ljudi/sustav nazvat ćemo kao System X, System Y (To su Mqtt klijenti u svijetu Mqtt).

Sada, recimo da System X šalje/ispisuje neku datoteku (naziv datoteke: temperatura) u mapu “/Folder_one/”, to u svijetu mqtt možemo nazvati ovim objavljivanjem (šaljemo neku poruku/korisni teret umjesto datoteke).

Sada, recimo da sustav 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 put 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 puta/teme i provjeravanje promjena u datoteci/novim datotekama u svijetu Mqtt pretplata je na tu temu.

Uzimajući u obzir gornji primjer, Sustav X objavljuje u "/Folder_one", a sustav Y pretplaćen je na "/Folder_one"

Također imajte na umu da se sustav X može pretplatiti i na “/Folder_one”, a sustav Y može objaviti i na “/Folder_one”. Kao što je pametno, čak i poslužiteljski sustav (The Mqtt Broker) može objaviti/pretplatiti se na “/Folder_one” instaliranjem klijenta Mqtt na njega kao što smo to učinili trenutno. Druga stvar koju treba zapamtiti je objavljivanje ili pretplata na temu za koju morate znati IP adresu posrednika Mqtt.

Prvo ćemo ga testirati putem ubuntu klijenta koji je instaliran na istom sustavu 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 sustava (trenutno IP posrednika). Kratki zaslon 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 dobit ćete popis mrežnog sučelja s mac i IP adresom

sudo ipconfig

IP adresa mog sustava je 192.168.1.67 (Slika 10)

Izdati

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Ovdje je 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).

Pretplatiti se

komarac_sub -h 192.168.1.67 -t /Jedna mapa

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

komarac_sub -h 192.168.1.67 -t /Jedna mapa

Poruka koju je poslao izdavač:

  • pub_to_folderone
  • pozdrav test mqtt
  • mqtt radi

Pub Sub u dva odvojena prozora terminala jedan do 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 kut (Slika 13, Slika 14).

Pritisnite Postavke i unesite IP adresu posrednika, port će prema zadanim postavkama biti 1883. Trenutačno ne koristimo provjerenog mqtt posrednika 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 pokazat će vam 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 sustava 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 sustava (Slika 19).

Primljena objavljena poruka na nadzornoj ploči (Slika 20).

Sada objavimo s android telefona (My mqtt) i pretplatimo se na ubuntu sustav. Za ovaj primjer koristimo temu “/mymqtt_to_pub”.

Da biste to učinili, prvo otvorite terminal sa svog ubuntu sustava 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 gumb za slanje (Slika 22, Slika 23).

Poruka bi se trebala pojaviti na prozoru vašeg terminala ubuntu sustava (slika 24).

Imajte na umu da bi i ubuntu sustav i android telefon trebali biti na istoj mreži ili bi trebao biti izložen port 1883 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 do bloga https://medium.com/@eranda/setting-up-authenticat… Slijedite iz drugog koraka ovog bloga. Omogućili smo autentifikaciju našeg brokera i koristit ćemo provjerenog brokera za naše zajednice.

Korak 3: Rad s Armtronix Board & Mqtt

Rad s Armtronix pločom & Mqtt
Rad s Armtronix pločom & Mqtt
Rad s Armtronix pločom & Mqtt
Rad s Armtronix pločom & Mqtt
Rad s Armtronix pločom & Mqtt
Rad s Armtronix pločom & Mqtt

Trenutno za ovu instrukciju koristimo našu Wifi Single Dimmer Board koja koristi Triac za usitnjavanje sinusnog vala i zatamnjivanje žarulje ili kontrolu brzine 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 Wi -Fi pristupne točke.

Pomoću Android telefona ili prijenosnog računala 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 sustava/telefona povezanog s AP -om. Provjerite ne koristite li podatkovnu vezu (3G/4G).

Prilikom upisivanja IP adrese otvorit će se web stranica na koju je potrebno unijeti sljedeće (slika 26).

  • SSID: naziv Wi -Fi AP -a.
  • Lozinka: SSID lozinka.
  • IoT način Mqtt ili Http (Odaberite Mqtt).
  • Mqtt IP posrednika (u našem slučaju to je 192.168.1.67).
  • Mqtt korisničko ime i lozinka, budući da koristimo vrstu autentifikacije, koristili smo Naren, xxxx
  • Mqtt topic za objavljivanje: Ovo će biti tema koju ploča također objavljuje, mi smo koristili /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 radi pokretanja ploče, koristili smo corvi.

Nakon što unesete detalje, pritisnite gumb za slanje, pri čemu ćete dobiti zaslon kao što je prikazano na slici 27, prič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 vidjet ćete poruke za otklanjanje pogrešaka koje ispisuje putem Uarta (ovo je samo za vašu referencu).

Nakon što to učinite, možete vidjeti zaslon za otklanjanje pogrešaka. Većina detalja bit će vidljiva tamo. Nakon toga će se uspješno povezati s posrednikom na ekranu za otklanjanje pogrešaka (serijski). Vidite ovo.

Povezano s posrednikom MQTT s autentifikacijom. Pretplaćeni ste na temu 1.

Nakon što ovo ispiše, 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 trijaka 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: Ispišite status zatamnjivanja ploče na temu objavljivanja ploče.

Da biste poslali ovu naredbu iz sustava temeljenog na ubuntuu na kojem je instaliran mqtt klijent, samo je upišite kao što je prikazano ispod. Ovdje se dodaju dva dodatna parametra zbog provjere autentičnosti -tj. -U koje je korisničko ime i -P je lozinka, imajte na umu da se u njima razlikuju velika i mala slova.

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

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testingub -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 /testingub -m R13_ON

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

Za najnoviji status, status se ispisuje na temi objavljivanja ploče koja je u našem slučaju /testpub. Na našoj ploči svaka promjena u uređaju ispisana je 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 zatamnjena razina teme objavljivanja. Primjer je prikazan ispod, Za pretplatu s vašeg ubuntu sustava na temu objavljivanja ploče unesite sljedeću naredbu

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

poruka koju dobijemo je

DimmerIS50

dolje se nalazi nekoliko istih kratkih ekrana (Slika 28, Slika 29)

Preporučeni: