Obsah:

MQTT na doskách Armtronix: 3 kroky
MQTT na doskách Armtronix: 3 kroky

Video: MQTT na doskách Armtronix: 3 kroky

Video: MQTT na doskách Armtronix: 3 kroky
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, Júl
Anonim
MQTT na doskách Armtronix
MQTT na doskách Armtronix

V tomto návode by sme vám chceli najskôr ukázať, ako môžete používať systém Linux (Debian alebo Ubuntu) a nainštalovať do neho Mosquitto (Mqtt Broker), a tiež vám ukázať, ako používať klienta Mqtt vo svojom telefóne (Android)/ Linux systému, odosielanie a prijímanie správ prostredníctvom Mqtt. Potom, čo sa s tým zoznámime, by sme vám chceli ukázať, ako môžete nakonfigurovať a prepojiť našu dosku s týmto nainštalovaným brokerom Mqtt. Tiež by vám chcel ukázať, ako môžete pridať autentifikáciu k brokerovi Mqtt a niekoľko základných tipov a trikov na ladenie. Začnime teda ………..

Krok 1: Inštalácia Mqtt Broker:

Inštalácia Mqtt Broker
Inštalácia Mqtt Broker
Inštalácia Mqtt Broker
Inštalácia Mqtt Broker
Inštalácia Mqtt Broker
Inštalácia Mqtt Broker
Inštalácia Mqtt Broker
Inštalácia Mqtt Broker

Môžete nainštalovať niekoľko brokerov Mqtt. Niektoré známe sú uvedené nižšie. Niektoré z nich sú cloudové služby.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Ukážeme vám, ako nainštalovať Mosquitto na systém Linux (Ubuntu 18.04). Za týmto účelom najskôr pridajte Mosquitto do zdrojového zoznamu ubuntu. Hneď ako bude Mosquitto k dispozícii v úložiskách Ubuntu, budete ho môcť nainštalovať pomocou apt-get.

Stačí otvoriť terminál. Ak chcete otvoriť terminál, v ľavom dolnom rohu plochy Ubuntu kliknite na Zobraziť aplikáciu (bodkovaná mriežka 3X3). Otvorí sa okno. Tu hľadáte terminál. Po kliknutí na terminál by sa vám malo zobraziť otvorené okno ako na nasledujúcich obrázkoch.

  • Zobraziť aplikáciu (obrázok 1).
  • Vyhľadajte terminál (obrázok 2).
  • Okno terminálu (obrázok 3).

Po otvorení terminálu zadajte nasledujúce príkazy

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

sudo apt-get aktualizácia

sudo apt-get install mosquitto

Môžete si tiež nainštalovať klienta Mqtt. Príkaz na to bude

sudo apt-get install mosquitto-clients

Niektoré obrázky pre vašu referenciu

  • Pridanie ppa (obrázok 4).
  • Aktualizuje sa repo (obrázok 5).
  • Inštalácia Mosquitto (Obrázok 6).
  • Inštalácia klienta Mosquitto (obrázok 7).

Krok 2: Testovanie MQTT (Mosquitto)

Testovanie MQTT (Mosquitto)
Testovanie MQTT (Mosquitto)
Testovanie MQTT (Mosquitto)
Testovanie MQTT (Mosquitto)
Testovanie MQTT (Mosquitto)
Testovanie MQTT (Mosquitto)

Na testovanie mqtt prostredníctvom ubuntu (rovnakého systému alebo iného systému) musíte nainštalovať klienta mqtt, ktorý bol predtým nainštalovaný príkazom sudo apt-get install mosquitto-clients. V prípade, že ho chcete otestovať pomocou mobilného telefónu (Android), môžete si nainštalovať aplikáciu MyMqtt z obchodu Play.

Mqtt pracuje na niečom, čo sa nazýva Témy. Tieto témy z dôvodu jednoduchosti pochopte ako priečinok na pevnom disku počítača. Považujme tento počítač za počítačový server (ktorý je vo svete mqtt maklérom Mqtt). Na tomto serveri uvažujme o vytvorení jedného priečinka.

Názov priečinka: /Folder_one /

Teraz uvažujme dvoch ľudí z dvoch rôznych systémov (PC/Laptop), ktorí pristupujú k tomuto serveru buď na čítanie súborov, alebo na odosielanie/ukladanie súborov, alebo na vykonávanie oboch operácií.

Týchto dvoch ľudí/systém pomenujeme ako System X, System Y (Toto sú klienti Mqtt vo svete Mqtt).

Teraz povedzme, že System X odošle/uloží nejaký súbor (názov súboru: teplota) do priečinka „/Folder_one/“, vo svete mqtt to môžeme nazvať publikovanie (namiesto súboru pošleme nejakú správu/užitočné zaťaženie).

Teraz, povedzme, že System Y chce získať/prečítať tento súbor alebo akýkoľvek nový súbor alebo aktualizovať v tomto priečinku, prvá vec, ktorú potrebuje, je poznať názov priečinka a cestu, čo je v našom prípade „/Folder_one/“. Teraz teda prejde do tohto priečinka a bude čítať/prijímať tento súbor (názov súboru: teplota). Poznať cestu/tému a kontrolovať zmeny v súbore/nových súboroch vo svete Mqtt je predplatné tejto témy.

Ak vezmeme do úvahy vyššie uvedený príklad, Systém X publikuje v priečinku „/Folder_one“a systém Y má predplatné v priečinku „/Folder_one“

Upozorňujeme, že systém X sa môže tiež prihlásiť na odber priečinka „/Folder_one“a systém Y môže tiež publikovať na serveri „/Folder_one“. Rovnako múdro môže dokonca aj serverový systém (The Mqtt Broker) publikovať/prihlásiť sa na „/Folder_one“inštaláciou klienta Mqtt, ako sme to urobili v súčasnosti. Ďalšou vecou, ktorú musíte pamätať, je publikovať alebo prihlásiť sa na tému, na ktorú budete potrebovať IP adresu makléra Mqtt.

Najprv to otestujeme prostredníctvom klienta ubuntu, ktorý je nainštalovaný v rovnakom systéme ako broker. Otvoríme dve okná terminálu, jedno z nich zverejní a druhé sa prihlási na odber. Napríklad ako tému použijeme /Folder_one. Pred pub/sub k téme budete musieť zistiť IP adresu ubuntu. Ak to chcete urobiť, kliknite na v pravom hornom rohu obrazovky, zvoľte nastavenie wifi, odtiaľ budete môcť nájsť IP adresu systému ubuntu (v súčasnosti IP brokera). Krátka obrazovka zdieľaná pre referenciu (obrázok 8).

Alebo ak chcete nájsť IP adresu brokera, môžete nájsť IP adresu inštaláciou sieťových nástrojov pomocou nasledujúceho príkazu v termináli

sudo apt install net-tools

Inštalácia sieťových nástrojov (obrázok 9). Potom stačí zadať príkaz ipconfig a dostanete zoznam sieťového rozhrania s adresou mac a IP

sudo ipconfig

IP adresa môjho systému je 192.168.1.67 (Obrázok 10)

Publikovať

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Tu je príkaz mosquitto_pub, za ktorým nasleduje prvok identifikátora parametra -h, čo je adresa IP hostiteľa /sprostredkovateľa (v našom prípade 192.168.1.67), a za ním nasleduje -t, čo je názov témy pre vydavateľa (v našom prípade /Folder_one), za ktorým nasleduje -m čo znamená správu/užitočné zaťaženie, ktoré sa má odoslať (v našom prípade je pub_to_folderone).

Odoberať

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Správa odoslaná vydavateľom: pub_to_folderone

Príklad na publikovanie

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m „ahoj test mqtt“

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m „mqtt funguje“

Príklad reakcie prijatej na prihlásenie sa na odber témy

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Správa odoslaná vydavateľom:

  • pub_to_folderone
  • ahoj test mqtt
  • mqtt pracuje

Pub Sub v dvoch oddelených terminálových oknách vedľa seba (obrázok 11)

Testovanie Mqtt na android (môj mqtt)

Nainštalujte si aplikáciu mymqtt z obchodu Play do telefónu s Androidom (obrázok 12)

Otvorte aplikáciu a kliknite na horný roh vľavo (obrázok 13, obrázok 14).

Kliknite na Nastavenia a zadajte IP adresu makléra, štandardne bude port 1883. V súčasnosti nepoužívame overeného brokera mqtt, takže užívateľské meno a heslo budú prázdne. Uložte ho a znova kliknite na ľavý horný roh aplikácie (<Nastavenia), zásuvka sa znova otvorí (obrázok 15).

V hornej časti zásuvky sa vám zobrazí IP adresa makléra a port, ku ktorému je aplikácia pripojená (obrázok 16).

Teraz pridajte tému, ktorú chcete prihlásiť na odber, kliknutím na položku Prihlásiť sa na odber. Tu pridáme tému ako /Folder_one (obrázok 17, obrázok 18).

Potom to urobíme zo systému ubuntu pomocou terminálu, ktorý zverejníme k téme. Pri publikovaní by ste mali dostať užitočné zaťaženie/správu zverejnenú v tejto mobilnej aplikácii. Napríklad publikovanie užitočného zaťaženia ako „ARM -Automation Robotics & Mechatronics“. Velenie je, ako už bolo spomenuté.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m „ARM -Automatizačná robotika a mechatronika“

publikovanie zo systému ubuntu (obrázok 19).

Prijatá publikovaná správa na hlavnom paneli (obrázok 20).

Teraz poďme publikovať z telefónu Android (My mqtt) a prihlásiť sa na odber systému ubuntu. V tomto prípade používame tému „/mymqtt_to_pub“.

Za týmto účelom najskôr otvorte terminál v systéme ubuntu a prihláste sa na tému „/mymqtt_to_pub“pomocou nasledujúceho príkazu (obrázok 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Teraz prejdite do zásuvky aplikácie mymqtt a kliknite na položku Publikovať. Pridajte tému publikovania (v našom prípade je to „/mymqtt_to_pub“) a odošlite správu, že pošleme „ahoj Ubuntu“, stlačte tlačidlo odoslať (obrázok 22, obrázok 23).

Správa by sa mala objaviť vo vašom terminálovom okne systému ubuntu (Obrázok 24).

Všimnite si toho, že systém ubuntu aj telefón Android by mali byť v rovnakej sieti alebo by mal byť odhalený port 1883 a mali by ste poznať IP adresu vášho smerovača/brány, aby mqtt fungoval. Ak chcete svojmu maklérovi mqtt pridať autentifikáciu, môžete to urobiť pomocou nižšie uvedeného odkazu na blog https://medium.com/@eranda/setting-up-authenticat… Postupujte z druhého kroku tohto blogu. Povolili sme autentifikáciu nášho makléra a pre naše nástenky budeme používať autentifikovaného brokera.

Krok 3: Práca s Armtronix Board & Mqtt

Práca s Armtronix Board & Mqtt
Práca s Armtronix Board & Mqtt
Práca s Armtronix Board & Mqtt
Práca s Armtronix Board & Mqtt
Práca s Armtronix Board & Mqtt
Práca s Armtronix Board & Mqtt

V súčasnosti na tento pokyn používame našu dosku Wifi Single Dimmer Board, ktorá používa Triac na sekanie sínusovej vlny a naopak stlmenie žiarovky alebo ovládanie rýchlosti ventilátora. Tiež sme ho spojili prostredníctvom typu autentifikácie mqtt.

Pôvodne sme dosku nakonfigurovali. Kroky na jeho konfiguráciu sú uvedené nižšie.

Po zapnutí začne hostovať prístupový bod Wifi.

Pripojte sa k tomuto AP pomocou telefónu alebo prenosného počítača Android (obrázok 25).

Po pripojení k tomuto AP zadajte typ 192.168.4.1 otvorením prehliadača (chrome/firefox) z pripojeného systému/telefónu AP. Uistite sa, že nepoužívate dátové pripojenie (3G/4G).

Po zadaní adresy IP sa otvorí webová stránka, na ktorej je potrebné zadať nasledujúce údaje (obrázok 26).

  • SSID: názov prístupového bodu WiFi.
  • Heslo: Heslo SSID.
  • Režim IoT Mqtt alebo Http (vyberte Mqtt).
  • Mqtt Broker IP (V našom prípade je to 192.168.1.67).
  • Mqtt užívateľské meno a heslo, pretože používame typ autentifikácie, použili sme Naren, xxxx
  • Téma publikovania Mqtt: Toto bude téma, na ktorú tabuľa publikuje aj my, použili sme /testpub.
  • Téma predplatného Mqtt: Toto bude téma, na ktorú rada počúva príkazy na spustenie triaku, použili sme /testub.
  • Názov zariadenia: Je to meno, ktoré na Alexu vyvoláte kvôli spusteniu dosky, použili sme corvi.

Po zadaní podrobností stlačte tlačidlo Odoslať, pričom sa vám zobrazí obrazovka, ako je znázornené na obrázku 27, chvíľu počkajte, kým doska prestane byť hostiteľom AP.

Upozorňujeme, že našu dosku sme prostredníctvom Uartu pripojili k sériovému monitoru Arduino IDE. Na ľavej strane teda uvidíte správy o ladení, ktoré tlačí cez Uart (to je len pre vašu referenciu).

Akonáhle to urobíte, môžete si pozrieť obrazovku ladenia. Bude tam viditeľná väčšina podrobností. Potom sa úspešne pripojí k maklérovi na ladiacej (sériovej) obrazovke, ktorú môžete vidieť.

Pripojené k brokerovi MQTT s autentifikáciou. Prihlásené na tému 1.

Potom, čo to vytlačí, môžete mu začať odosielať príkazy prostredníctvom mqtt na tému, na ktorú sa prihlásil, tj /testub /

Príkazy pre túto dosku sú:

  • R13_ON: Zapnutie triaku na 100%.
  • R13_OFF: Vypnutie triaku na 0%.
  • Stmievač: xx: Kde xx je hodnota stmievania a môže sa meniť od 0 do 99.
  • Reset: Vymazať konfiguráciu dosky.
  • Stav: Vytlačí stav stmievača tabule na tému publikovania tabule.

Ak chcete tento príkaz odoslať zo systému založeného na ubuntu, kde je nainštalovaný klient mqtt, zadajte ho, ako je uvedené nižšie. Kvôli autentifikácii sú sem pridané ďalšie dva parametre -t.j. -u, čo je užívateľské meno a -P je heslo. Upozorňujeme, že sa rozlišujú malé a veľké písmená.

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 /testub -m R13_OFF

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testub -m Stmievač: 50

Poznámka: 50 je hodnota stmievač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 /testub -m Stav

Pri najnovšom stave sa stav vytlačí na tému publikovania na nástenke, ktorá je v našom prípade /testpub. Na našej doske sa na tému publikovania na tabuli vytlačia všetky zmeny v zariadení. Ak napríklad na tému prihlásenej na nástenke odošleme Dimmer: 50, než na to, aby sme to fyzicky vykonali, doska odošle správu, ktorá bude na tému publikovania tlmenú úroveň. Príklad je uvedený nižšie, Ak sa chcete z vášho systému ubuntu prihlásiť na tému publikovania na tabuli, zadajte nasledujúci príkaz

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

správa, ktorú dostávame, je

DimmerIS50

nižšie nájdete niekoľko ich skratov (obrázok 28, obrázok 29)

Odporúča: