INHOUDSOPGAWE:

MQTT op Armtronix -borde: 3 stappe
MQTT op Armtronix -borde: 3 stappe

Video: MQTT op Armtronix -borde: 3 stappe

Video: MQTT op Armtronix -borde: 3 stappe
Video: tutorial install home assistant on stb 2024, Julie
Anonim
MQTT op Armtronix -borde
MQTT op Armtronix -borde

In hierdie instruksies wil ons u aanvanklik wys hoe u 'n Linux (Debian of Ubuntu) stelsel kan gebruik en Mosquitto (Mqtt Broker) daarop kan installeer, en u ook kan wys hoe u Mqtt -kliënt op u telefoon (Android)/ Linux gebaseer kan gebruik stelsel, stuur en ontvang boodskappe via Mqtt. Nadat ons hiermee vertroud is, wil ons u wys hoe u ons bord kan instel en verbind met hierdie geïnstalleerde Mqtt -makelaar. Ek wil u ook wys hoe u verifikasie by die Mqtt -makelaar kan voeg en 'n paar basiese wenke en truuks om te ontfout. Laat ons dus begin ………..

Stap 1: Installeer Mqtt Broker:

Die installering van Mqtt Broker
Die installering van Mqtt Broker
Die installering van Mqtt Broker
Die installering van Mqtt Broker
Die installering van Mqtt Broker
Die installering van Mqtt Broker
Die installering van Mqtt Broker
Die installering van Mqtt Broker

Daar is verskeie Mqtt -makelaars wat u kan installeer. Sommige bekendes is soos hieronder genoem. Sommige daarvan is wolkgebaseerde dienste.

  • HiveMQ
  • Muskietwolk
  • MQTT
  • Adafruit.io

Ons sal u wys hoe u Mosquitto op 'n Linux -gebaseerde stelsel (Ubuntu 18.04) kan installeer. Om dit te doen, moet u eers Mosquitto by die ubuntu -bronnelys voeg. Sodra Mosquitto beskikbaar is in die Ubuntu-bewaarplekke, kan u dit met apt-get installeer.

Maak net 'n terminale oop. Om 'n terminale oop te maak, gaan in die onderste linkerhoek van Ubuntu Desktop, klik op Toon toepassing (3X3 -rooster). 'N Venster sal oopmaak. Daar soek u na Terminal. As u op die terminaal klik, moet u 'n venster kan sien oopmaak soos in die volgende beelde.

  • Toon aansoek (prent 1).
  • Soek na terminale (prent 2).
  • Eindvenster (prent 3).

Voer die volgende opdragte in nadat u die terminale oopgemaak het

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

sudo apt-get update

sudo apt-get install mosquitto

U kan ook die Mqtt -kliënt installeer. Die opdrag om dit te doen, sal wees

sudo apt-get install mosquitto-kliënte

'N Paar beelde vir u verwysing

  • Voeg ppa by (prent 4).
  • Dateer repo op (prent 5).
  • Die installering van Mosquitto (prent 6).
  • Die installering van Mosquitto Client (prent 7).

Stap 2: Toets MQTT (Mosquitto)

Toets MQTT (Mosquitto)
Toets MQTT (Mosquitto)
Toets MQTT (Mosquitto)
Toets MQTT (Mosquitto)
Toets MQTT (Mosquitto)
Toets MQTT (Mosquitto)

Om mqtt via ubuntu (dieselfde stelsel of ander stelsel) te toets, moet u mqtt-kliënt installeer wat vroeër geïnstalleer is deur die opdrag sudo apt-get install mosquitto-clients. As u dit met 'n selfoon (Android) wil toets, kan u die MyMqtt -app in die Play Store installeer.

Mqtt werk aan iets genaamd Onderwerpe. Om dit makliker te verstaan, beskou hierdie onderwerpe as 'n gids op 'n rekenaar se hardeskyf. Kom ons behandel hierdie rekenaar as 'n rekenaarbediener (wat in die mqtt -wêreld 'n Mqtt Broker is). Laat ons in hierdie bediener oorweeg om een vouer te hê.

Vouernaam: /Folder_one /

Laat ons nou kyk na twee mense van twee verskillende stelsels (rekenaar/skootrekenaar) wat toegang tot hierdie bediener verkry het, óf om lêers te lees, óf om lêers te stuur/te dump of om albei operasies uit te voer.

Ons noem die twee mense/stelsel as System X, System Y (Dit is Mqtt -kliënte in die Mqtt -wêreld).

Kom ons sê: System X stuur/stort 'n lêer (lêernaam: temperatuur) in die gids "/Folder_one/", dit kan ons in die mqtt -wêreld hierdie publikasie noem (ons stuur 'n boodskap/laai in plaas van 'n lêer).

Laat ons nou sê dat System Y hierdie lêer of 'n nuwe lêer wil kry/lees of in hierdie gids wil opdateer; die eerste ding wat u nodig het, is om die naam en pad van die gids te ken, wat in ons geval '/Folder_one/' is. So nou gaan dit na hierdie gids en lees/ontvang die lêer (lêernaam: temperatuur). Om die pad/onderwerp te ken en na veranderinge in die lêer/nuwe lêers in die Mqtt -wêreld te kyk, is 'n inskrywing op die onderwerp.

Met inagneming van die voorbeeld hierbo, Stelsel X publiseer na “/Folder_one” en System Y het intekeninge op “/Folder_one”

Let ook daarop dat System X ook kan inteken op “/Folder_one” en System Y ook op “/Folder_one” kan publiseer. Net so kan selfs die bedienerstelsel (The Mqtt Broker) op '/Folder_one' publiseer/inteken deur die Mqtt -kliënt daarop te installeer soos ons tans gedoen het. Die ander ding om te onthou is om 'n onderwerp te publiseer of in te teken, wat u nodig het om die IP -adres van die Mqtt Broker te ken.

Eerstens toets ons dit deur middel van ubuntu -kliënt wat op dieselfde stelsel as die makelaar geïnstalleer is. Ons sal twee terminale vensters oopmaak, een sal publiseer en die ander sal daarop inteken. Vir die voorbeeld gebruik ons /Folder_one as die onderwerp. Voordat u 'n onderwerp/pub onder 'n onderwerp plaas, moet u die IP -adres van ubuntu vind. Om dit te doen, klik in die regter boonste hoek van die skerm, kies die wifi -instelling, waarvandaan u die IP -adres van die ubuntu -stelsel (tans die makelaar -IP) kan vind. Skermkaart word vir verwysing gedeel (prent 8).

Of om die IP -adres van die makelaar te vind, kan u die IP -adres vind deur netwerktuie te installeer deur die volgende opdrag in die terminale te gebruik

sudo apt installeer net-gereedskap

Die installering van netwerktuie (prent 9). Tik daarna die opdrag ipconfig, u kry 'n lys met netwerk -koppelvlak met die Mac- en IP -adres

sudo ipconfig

Die IP -adres van my stelsel is 192.168.1.67 (prent 10)

Om te publiseer

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Hier is mosquitto_pub die opdrag, gevolg deur parameter identifiseerder element -h wat gasheer /makelaar IP -adres is (in ons geval 192.168.1.67), gevolg deur -t wat die onderwerpnaam van die uitgewer is (in ons geval /Folder_one), gevolg deur -m, wat beteken dat die boodskap/vrag wat gestuur moet word (in ons geval pub_to_folderone is).

Om in te teken

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Boodskap gestuur deur die uitgewer: pub_to_folderone

Voorbeeld vir publikasie

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 werk"

Voorbeeld van reaksie wat ontvang is oor die inskrywing op die onderwerp

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Boodskap wat deur die uitgewer gestuur is:

  • pub_to_folderone
  • hi toets mqtt
  • mqtt werk

Pub Sub in twee afsonderlike terminale venster langs mekaar (prent 11)

Toets Mqtt op Android (my mqtt)

Installeer mymqtt -app in die Play Store op u Android -telefoon (prent 12)

Maak die app oop en klik op die linker boonste hoek (prent 13, prent 14).

Klik op Instellings en voer die makelaar se IP -adres in, standaard is die poort 1883. Tans gebruik ons nie 'n geverifieerde mqtt -makelaar nie, sodat die gebruikersnaam en wagwoord leeg is. Stoor dit net en klik weer in die linker boonste hoek van die app (<Instellings), die laai sal weer oopmaak (prent 15).

Bo -aan die laai sal u die IP -adres van die makelaar en die poort waarmee die app gekoppel is, wys (prent 16).

Voeg nou die onderwerp by wat u wil inteken deur op Subscribe te klik. Hier sal ons die onderwerp as /Folder_one (prent 17, prent 18) byvoeg.

Nadat ons dit gedoen het, publiseer ons via die ubuntu -stelsel deur terminale te gebruik oor die onderwerp. By die publisering moet u die vrag/boodskap op hierdie mobiele app gepubliseer kry. Publiseer byvoorbeeld die laai as 'ARM -Automation Robotics & Mechatronics'. Opdrag is soos vroeër genoem.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “ARM -Automatiseringsrobotika en megatronika”

publiseer vanaf die ubuntu -stelsel (prent 19).

Gepubliseerde boodskap op paneelbord ontvang (prent 20).

Laat ons nou publiseer vanaf 'n Android -telefoon (My mqtt) en teken in op die Ubuntu -stelsel. Vir hierdie voorbeeld gebruik ons die onderwerp "/mymqtt_to_pub".

Om dit te doen, moet u eers 'n terminale van u ubuntu -stelsel oopmaak en inteken op die onderwerp "/mymqtt_to_pub" met behulp van die volgende opdrag (prent 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Gaan nou na die laai van die mymqtt -app en klik op publiseer. Voeg die publikasie -onderwerp by (in ons geval is dit "/mymqtt_to_pub") en stuur 'n boodskap soos ons "hi Ubuntu" stuur, druk die stuurknoppie (prent 22, prent 23).

Die boodskap moet op u terminale venster van die Ubuntu -stelsel verskyn (prent 24).

Let daarop dat beide Ubuntu -stelsel en die Android -telefoon op dieselfde netwerk moet wees, of dat poort 1883 blootgestel moet word en dat u die IP -adres van u router/gateway moet ken sodat mqtt kan werk. As u verifikasie by u mqtt-makelaar wil voeg, kan u dit doen deur die onderstaande blogskakel te volg https://medium.com/@eranda/setting-up-authenticat… Volg die stap twee van hierdie blog. Ons het die verifikasie van ons makelaar moontlik gemaak en ons sal 'n geverifieerde makelaar vir ons borde gebruik.

Stap 3: Werk met Armtronix Board & Mqtt

Werk saam met Armtronix Board en Mqtt
Werk saam met Armtronix Board en Mqtt
Werk saam met Armtronix Board en Mqtt
Werk saam met Armtronix Board en Mqtt
Werk saam met Armtronix Board en Mqtt
Werk saam met Armtronix Board en Mqtt

Tans vir hierdie instruksies, gebruik ons ons Wifi Single Dimmer Board wat Triac gebruik om die sinusgolf te kap en op sy beurt die gloeilamp te verminder of die spoed van die waaier te beheer. Ons het dit ook verbind met die mqtt -verifikasietipe.

Aanvanklik het ons die bord gekonfigureer. Stappe om dit op te stel is soos hieronder genoem.

As u aan boord werk, begin dit met 'n WiFi -toegangspunt.

Koppel aan hierdie AP met 'n Android -telefoon of skootrekenaar (prent 25).

Sodra dit aan hierdie AP gekoppel is, tik 192.168.4.1 deur 'n blaaier (chrome/firefox) oop te maak vanaf die AP -gekoppelde stelsel/telefoon. Maak seker dat u nie u dataverbinding (3G/4G) gebruik nie.

By die tik van die IP, sal 'n webbladsy oopmaak waar die volgende ingevoer moet word (prent 26).

  • SSID: Wifi AP -naam.
  • Wagwoord: SSID wagwoord.
  • IoT -modus Mqtt of Http (kies Mqtt).
  • Mqtt Broker IP (in ons geval is dit 192.168.1.67).
  • Mqtt gebruikersnaam en wagwoord, aangesien ons die verifikasietipe gebruik, het ons Naren, xxxx, gebruik
  • Mqtt onderwerp publiseer: Dit is ook oor watter onderwerp die direksie publiseer, ons het dit gebruik /testpub.
  • Mqtt subscribe topic: Dit is na watter onderwerp die bord luister vir opdragte om die triac te aktiveer, wat ons gebruik het /testsub.
  • Toestelnaam: dit is die naam wat u na alexa roep om die bord te aktiveer; ons het corvi gebruik.

Nadat u die besonderhede ingevoer het, druk op die stuur -knoppie. Hierdeur kry u 'n skerm soos in die prent 27, wag 'n rukkie totdat die bord die gasheer van die AP stop.

Let asseblief daarop dat ons ons bord via Uart aan die seriële monitor van Arduino IDE gekoppel het. Aan die linkerkant sien u dus die ontfoutingsboodskappe wat dit via Uart afdruk (dit is slegs vir u verwysing).

Sodra dit gedoen is, kan u die ontfoutingsskerm sien. Die meeste besonderhede sal daar sigbaar wees. Hierna sal dit suksesvol met die makelaar verbind word op die ontfoutings (seriële) skerm, wat u kan sien.

Koppel aan MQTT -makelaar met verifikasie. Ingeteken op onderwerp 1.

Nadat dit gedruk is, kan u dit nou begin met die stuur van opdragte via mqtt oor die onderwerp waarop dit ingeteken het, dit wil sê /testsub /

Vir hierdie bord is opdragte:

  • R13_ON: Om die triac tot 100%aan te skakel.
  • R13_OFF: Om die triac af te skakel na 0%.
  • Dimmer: xx: Waar, xx is die dimwaarde en kan gewissel word van 0 tot 99.
  • Herstel: om die konfigurasie van die bord uit te vee.
  • Status: Druk die dimmerstatus van die bord op die publikasie -onderwerp van die bord uit.

Om hierdie opdrag te stuur vanaf 'n Ubuntu -gebaseerde stelsel waar mqtt -kliënt geïnstalleer is, tik dit net soos hieronder getoon. Twee bykomende parameters word hier bygevoeg weens verifikasie -dit wil sê -u, wat die gebruikersnaam is en -P die wagwoord is, let op dat dit hooflettergevoelig is.

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

Let wel: 50 is die dowwer waarde

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

Vir die nuutste status word die status gedruk op die publikasie -onderwerp van die bord wat in ons geval /testpub is. Op ons bord word enige verandering in die toestel gedruk oor die publikasie -onderwerp van die bord. Byvoorbeeld, as ons Dimmer: 50 oor die onderwerp waarop die bord ingeskryf is, slaag as om dit fisies uit te voer, sal die direksie 'n boodskap stuur met 'n gedempte vlak oor die publikasie -onderwerp. Voorbeeld word hieronder getoon, Voer die volgende opdrag in om van u ubuntu -stelsel in te skryf op die publikasie -onderwerp van die bord

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

boodskap wat ons kry is

DimmerIS50

'n Paar skerms van dieselfde is hieronder (prent 28, prent 29)

Aanbeveel: