Cuprins:

MQTT pe panourile Armtronix: 3 pași
MQTT pe panourile Armtronix: 3 pași

Video: MQTT pe panourile Armtronix: 3 pași

Video: MQTT pe panourile Armtronix: 3 pași
Video: Система мониторинга солнечных панелей Home Assistant 2024, Iulie
Anonim
MQTT pe panourile Armtronix
MQTT pe panourile Armtronix

În acest instructable am dori să vă arătăm inițial cum puteți utiliza un sistem bazat pe Linux (Debian sau Ubuntu) și să instalați Mosquitto (Mqtt Broker) pe acesta, de asemenea, să vă arăt cum să utilizați clientul Mqtt pe telefonul dvs. (Android) / bazat pe Linux sistem, trimiterea și primirea mesajelor prin Mqtt. După ce ne-am familiarizat cu acest lucru, am dori să vă arătăm cum puteți configura și conecta placa noastră cu acest broker instalat Mqtt. De asemenea, ar dori să vă arăt cum puteți adăuga autentificare brokerului Mqtt și câteva sfaturi și trucuri de bază pentru depanare. Deci sa începem ………..

Pasul 1: Instalarea Mqtt Broker:

Instalarea Mqtt Broker
Instalarea Mqtt Broker
Instalarea Mqtt Broker
Instalarea Mqtt Broker
Instalarea Mqtt Broker
Instalarea Mqtt Broker
Instalarea Mqtt Broker
Instalarea Mqtt Broker

Există mai mulți brokeri Mqtt pe care îi puteți instala. Unele dintre cele cunoscute sunt cele menționate mai jos. Unele dintre ele sunt servicii bazate pe cloud.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Vă vom arăta cum să instalați Mosquitto pe un sistem bazat pe Linux (Ubuntu 18.04). Pentru a face acest lucru, mai întâi adăugați Mosquitto la lista de surse ubuntu. Odată ce Mosquitto este disponibil în depozitele Ubuntu, îl veți putea instala cu apt-get.

Doar deschideți un terminal. Pentru a deschide un terminal, accesați colțul din stânga jos al Ubuntu Desktop, faceți clic pe Afișare aplicație (grilă 3X3 cu puncte). Se va deschide o fereastră. Acolo căutați Terminal. Faceți clic pe terminal pentru a putea vedea o fereastră deschisă așa cum se arată în imaginile următoare.

  • Afișați aplicația (imaginea 1).
  • Căutați terminalul (imaginea 2).
  • Fereastra Terminal (Imaginea 3).

Introduceți următoarele comenzi după ce deschideți terminalul

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

sudo apt-get update

sudo apt-get install mosquitto

De asemenea, puteți instala clientul Mqtt. Porunca de a face asta va fi

sudo apt-get install mosquitto-clients

Câteva imagini pentru referință

  • Adăugarea ppa (Imaginea 4).
  • Actualizarea repo (imaginea 5).
  • Instalarea lui Mosquitto (Imaginea 6).
  • Instalarea clientului Mosquitto (Imaginea 7).

Pasul 2: Testarea MQTT (Mosquitto)

Testarea MQTT (Mosquitto)
Testarea MQTT (Mosquitto)
Testarea MQTT (Mosquitto)
Testarea MQTT (Mosquitto)
Testarea MQTT (Mosquitto)
Testarea MQTT (Mosquitto)

Pentru a testa mqtt prin ubuntu (același sistem sau alt sistem) trebuie să instalați clientul mqtt care a fost instalat mai devreme prin comanda sudo apt-get install mosquitto-clients. În cazul în care doriți să o testați utilizând un telefon mobil (Android), puteți instala aplicația MyMqtt din magazinul Play.

Mqtt lucrează la ceva numit Subiecte. Pentru ușurința înțelegerii, considerați aceste subiecte ca pe un folder de pe un hard disk al computerului. Să tratăm acest computer ca pe un server de computer (care în lumea mqtt este un broker Mqtt). În acest server, să ne gândim să avem un singur dosar.

Numele folderului: / Folder_one /

Acum, să luăm în considerare două persoane din două sisteme diferite (PC / laptop) care accesează acest server fie pentru a citi fișiere, fie pentru a trimite / descărca fișiere sau pentru a face ambele operațiuni.

Vom numi cei doi oameni / sistem ca Sistem X, Sistem Y (Aceștia sunt clienți Mqtt în lumea Mqtt).

Acum, să presupunem că Sistemul X trimite / aruncă un fișier (numele fișierului: temperatură) în folderul „/ Folder_one /”, în lumea mqtt putem numi această publicare (trimitem un mesaj / sarcină utilă în loc de fișier).

Acum, să presupunem că Sistemul Y dorește să obțină / citească acest fișier sau orice fișier nou sau să se actualizeze în acest folder, primul lucru de care are nevoie este să știe numele folderului și calea, care în cazul nostru este „/ Folder_one /”. Deci, acum va merge în acest folder și va citi / primi acel fișier (numele fișierului: temperatura). Cunoașterea căii / subiectului și verificarea modificărilor fișierului / fișierelor noi din lumea Mqtt este abonamentul la acest subiect.

Având în vedere exemplul de mai sus, Sistemul X publică pe „/ Folder_one” și Sistemul Y s-a abonat la „/ Folder_one”

De asemenea, rețineți că Sistemul X se poate abona și la „/ Folder_one” și Sistemul Y poate publica și la „/ Folder_one”. La fel de înțelept, chiar și sistemul Server (The Mqtt Broker) poate publica / abona la „/ Folder_one” instalând clientul Mqtt pe el așa cum am făcut în prezent. Celălalt lucru de reținut este să publicați sau să vă abonați la un subiect, va trebui să cunoașteți adresa IP a Mqtt Broker.

Mai întâi îl vom testa prin clientul Ubuntu care este instalat pe același sistem ca și brokerul. Vom deschide două ferestre de terminal, unul dintre ele va fi publicat, iar celălalt se va abona la acesta. Pentru exemplu vom folosi / Folder_one ca subiect. Înainte de a publica un sub / sub un subiect, va trebui să găsiți adresa IP a Ubuntu. Pentru a face acest lucru, faceți clic pe colțul din dreapta sus al ecranului, selectați setarea wifi, de acolo veți putea găsi adresa IP a sistemului ubuntu (în prezent IP broker). Scurthort partajat pentru referință (imaginea 8).

Sau pentru a găsi adresa IP a brokerului, puteți găsi adresa IP instalând instrumente net folosind următoarea comandă în terminal

sudo apt instalează net-tools

Instalarea net-tools (Imaginea 9). După aceea, tastați comanda ipconfig, veți obține o listă a interfeței de rețea cu adresa Mac și adresa IP

sudo ipconfig

Adresa IP a sistemului meu este 192.168.1.67 (Imaginea 10)

A publica

mosquitto_pub -h 192.168.1.67 -t / Folder_one -m pub_to_folderone

Aici, mosquitto_pub este comanda, urmată de elementul de identificare a parametrului -h care este adresa IP a gazdei / brokerului (În cazul nostru 192.168.1.67), urmat de -t care este numele subiectului către editor (În cazul nostru / Folder_one), urmat de -m ceea ce înseamnă mesajul / sarcina utilă care trebuie trimisă (în cazul nostru este pub_to_folderone).

Pentru a va abona

mosquitto_sub -h 192.168.1.67 -t / Folder_one

Mesaj trimis de editor: pub_to_folderone

Exemplu pentru publicare

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 working”

Exemplu de răspuns primit la abonarea la subiect

mosquitto_sub -h 192.168.1.67 -t / Folder_one

Mesaj trimis de editor:

  • pub_to_folderone
  • salut test mqtt
  • mqtt de lucru

Pub Sub în două ferestre terminale separate, unul lângă altul (Imaginea 11)

Testarea Mqtt pe Android (mqtt meu)

Instalați aplicația mymqtt din Play Store pe telefonul dvs. Android (Imagine 12)

Deschideți aplicația și faceți clic pe colțul din stânga sus (Imagine 13, Imagine 14).

Faceți clic pe Setări și introduceți adresa IP a brokerului, portul implicit va fi 1883. În prezent, nu folosim broker mqtt autentificat, așa că numele de utilizator și parola vor fi necompletate. Salvați-l și faceți din nou clic pe colțul din stânga sus al aplicației (<Setări) sertarul se va redeschide (Imaginea 15).

În partea de sus a sertarului vă va arăta adresa IP a brokerului și portul la care este conectată aplicația (Imaginea 16).

Acum adăugați subiectul la care doriți să vă abonați făcând clic pe Abonare. Aici vom adăuga subiect ca / Folder_one (Imaginea 17, Imaginea 18).

După ce ați făcut acest lucru, din sistemul ubuntu folosind terminalul vom publica subiectul. La publicare, ar trebui să primiți sarcina utilă / mesajul publicat pe această aplicație mobilă. De exemplu, publicarea sarcinii utile ca „ARM -Automation Robotics & Mechatronics”. Comanda este așa cum am menționat mai devreme.

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

publicarea din sistemul ubuntu (Imaginea 19).

Mesaj publicat primit pe tabloul de bord (Imaginea 20).

Acum hai să publicăm de pe telefonul Android (My mqtt) și să ne abonăm la sistemul ubuntu. Pentru acest exemplu folosim subiectul „/ mymqtt_to_pub”.

Pentru aceasta, deschideți mai întâi un terminal din sistemul dvs. ubuntu și abonați-vă la subiectul „/ mymqtt_to_pub” folosind următoarea comandă (Imaginea 21)

mosquitto_sub -h 192.168.1.67 -t / mymqtt_to_pub

Acum mergeți la sertarul aplicației mymqtt și faceți clic pe publicare. Adăugați subiectul de publicare (în cazul nostru este „/ mymqtt_to_pub”) și trimiteți un mesaj de genul că vom trimite „hi Ubuntu”, apăsați butonul de trimitere (Imagine 22, Imagine 23).

Mesajul ar trebui să apară în fereastra terminalului sistemului ubuntu (imaginea 24).

Rețineți că atât sistemul ubuntu, cât și telefonul Android ar trebui să fie pe aceeași rețea sau portul 1883 ar trebui să fie expus și ar trebui să știți adresa IP a routerului / gateway-ului dvs. pentru ca mqtt să funcționeze. Dacă doriți să adăugați autentificare brokerului dvs. mqtt, o puteți face urmând link-ul de blog menționat mai jos https://medium.com/@eranda/setting-up-authenticat … Urmați din pasul doi al acestui blog. Am activat autentificarea brokerului nostru și vom folosi brokerul autentificat pentru consiliile noastre.

Pasul 3: Lucrul cu Armtronix Board & Mqtt

Lucrul cu Armtronix Board & Mqtt
Lucrul cu Armtronix Board & Mqtt
Lucrul cu Armtronix Board & Mqtt
Lucrul cu Armtronix Board & Mqtt
Lucrul cu Armtronix Board & Mqtt
Lucrul cu Armtronix Board & Mqtt

În prezent, pentru această instrucțiune, folosim placa noastră Wifi Single Dimmer care folosește Triac pentru a tăia unda sinusoidală și, la rândul său, diminua becul sau pentru a controla viteza ventilatorului. De asemenea, l-am conectat prin tipul de autentificare mqtt.

Inițial am configurat placa. Pașii pentru configurare sunt cei menționați mai jos.

Puterea de pe tablă va începe să găzduiască un punct de acces Wifi.

Utilizarea unui telefon Android sau a unui laptop conectați-vă la acest AP (imaginea 25).

Odată conectat la acest AP, introduceți 192.168.4.1 deschizând un browser (Chrome / Firefox) din sistemul / telefonul AP conectat. Asigurați-vă că nu utilizați conexiunea de date (3G / 4G).

La tastarea IP-ului, se va deschide o pagină web unde trebuie introdusă următoarea (Imaginea 26).

  • SSID: numele AP Wifi.
  • Parolă: Parolă SSID.
  • Mod IoT Mqtt sau Http (Selectați Mqtt).
  • Mqtt Broker IP (În cazul nostru este 192.168.1.67).
  • Numele de utilizator și parola Mqtt, deoarece folosim tipul de autentificare, am folosit Naren, xxxx
  • Mqtt publica subiectul: Acesta va fi subiectul pe care îl publică și bordul, pe care l-am folosit / testpub.
  • Mqtt subscribe topic: Acesta va fi subiectul pe care îl ascultă placa pentru comenzi pentru declanșarea triacului, pe care l-am folosit / testsub.
  • Numele dispozitivului: este numele pe care îl strigați către Alexa pentru declanșarea plăcii, am folosit corvi.

După introducerea detaliilor, apăsați butonul de trimitere, la acest lucru veți obține un ecran așa cum se arată în imaginea 27, așteptați ceva timp până când placa încetează să găzduiască AP.

Vă rugăm să rețineți că am conectat placa noastră prin Uart la monitorul serial al Arduino IDE. Deci, în partea stângă veți vedea mesajele de depanare pe care le imprimă prin Uart (aceasta este doar pentru referință).

După ce ați făcut acest lucru, puteți vizualiza ecranul de depanare. Majoritatea detaliilor vor fi vizibile acolo. După aceasta, se va conecta cu succes la broker pe ecranul de depanare (serial), puteți vedea acest lucru.

Conectat la brokerul MQTT cu autentificare. Abonat la subiectul 1.

După ce imprimă acest lucru, puteți începe acum să-i trimiteți comenzi prin mqtt pe subiectul la care s-a abonat, adică / testsub /

Pentru această placă comenzile sunt:

  • R13_ON: Pentru a porni triacul la 100%.
  • R13_OFF: Pentru a opri triacul la 0%.
  • Dimmer: xx: Unde, xx este valoarea de diminuare și poate fi variată de la 0 la 99.
  • Resetare: pentru a șterge configurația plăcii.
  • Stare: Imprimați starea mai slabă a forumului pe subiectul de publicare al forumului.

Pentru a trimite această comandă dintr-un sistem bazat pe Ubuntu în care este instalat clientul mqtt, trebuie doar să o tastați așa cum se arată mai jos. Aici sunt adăugați doi parametri suplimentari din cauza autentificării - adică -u care este numele de utilizator și -P este parola, vă rugăm să rețineți că acestea sunt sensibile la majuscule.

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 este valoarea mai scăzută

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

Pentru cea mai recentă stare, starea este tipărită pe subiectul de publicare al forumului, care în cazul nostru este / testpub. Pe tabloul nostru orice modificare a dispozitivului este tipărită pe subiectul de publicare al forumului. De exemplu, dacă trecem Dimmer: 50 pe subiectul abonat la bord decât la executarea fizică a acestuia, bordul va trimite un mesaj care va indica nivelul de estompare pe subiectul publicării. Exemplul este prezentat mai jos, Pentru a vă abona din sistemul dvs. ubuntu la subiectul de publicare al forumului, introduceți următoarea comandă

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

mesajul pe care îl primim este

DimmerIS50

câteva pantaloni scurți pe ecran sunt de mai jos (Imaginea 28, Imaginea 29)

Recomandat: