Obsah:

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

Video: MQTT na deskách Armtronix: 3 kroky

Video: MQTT na deskách Armtronix: 3 kroky
Video: Arduino Návody | M5 Stack ADC ADS1100 2024, Červenec
Anonim
MQTT na deskách Armtronix
MQTT na deskách Armtronix

V tomto pokynu bychom vám chtěli nejprve ukázat, jak můžete používat systém založený na Linuxu (Debian nebo Ubuntu) a nainstalovat na něj Mosquitto (Mqtt Broker), také vám ukázat, jak používat klienta Mqtt na vašem telefonu (Android)/ Linux systému, odesílání a přijímání zpráv přes Mqtt. Poté, co se s tím seznámíme, bychom vám chtěli ukázat, jak můžete nakonfigurovat a propojit naši desku s tímto nainstalovaným brokerem Mqtt. Také by vám rád ukázal, jak můžete přidat ověřování k makléři Mqtt a několik základních tipů a triků k ladění. Začněme tedy ………….

Krok 1: Instalace Mqtt Broker:

Instalace Mqtt Broker
Instalace Mqtt Broker
Instalace Mqtt Broker
Instalace Mqtt Broker
Instalace Mqtt Broker
Instalace Mqtt Broker
Instalace Mqtt Broker
Instalace Mqtt Broker

Můžete nainstalovat několik brokerů Mqtt. Některé známé jsou uvedeny níže. Některé z nich jsou cloudové služby.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Ukážeme vám, jak nainstalovat Mosquitto do systému založeného na Linuxu (Ubuntu 18.04). Chcete -li to provést, nejprve přidejte Mosquitto do zdrojového seznamu ubuntu. Jakmile bude Mosquitto k dispozici v úložištích Ubuntu, budete jej moci nainstalovat pomocí apt-get.

Stačí otevřít terminál. Chcete -li otevřít terminál, přejděte do levého dolního rohu plochy Ubuntu, klikněte na Zobrazit aplikaci (mřížka Doted 3X3). Otevře se okno. Zde vyhledáte terminál. Kliknutím na terminál byste měli vidět otevřené okno jako na následujících obrázcích.

  • Zobrazit aplikaci (obrázek 1).
  • Vyhledejte terminál (obrázek 2).
  • Okno terminálu (obrázek 3).

Po otevření terminálu zadejte následující příkazy

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

sudo apt-get update

sudo apt-get install mosquitto

Můžete také nainstalovat klienta Mqtt. Příkaz k tomu bude

sudo apt-get install mosquitto-clients

Několik obrázků pro vaši referenci

  • Přidání ppa (obrázek 4).
  • Aktualizace repo (obrázek 5).
  • Instalace Mosquitto (obrázek 6).
  • Instalace klienta Mosquitto (obrázek 7).

Krok 2: Testování MQTT (Mosquitto)

Testování MQTT (Mosquitto)
Testování MQTT (Mosquitto)
Testování MQTT (Mosquitto)
Testování MQTT (Mosquitto)
Testování MQTT (Mosquitto)
Testování MQTT (Mosquitto)

Chcete-li otestovat mqtt přes ubuntu (stejný systém nebo jiný systém), musíte nainstalovat mqtt klienta, který byl dříve nainstalován příkazem sudo apt-get install mosquitto-clients. V případě, že jej chcete vyzkoušet pomocí mobilního telefonu (Android), můžete si nainstalovat aplikaci MyMqtt z obchodu Play.

Mqtt pracuje na něčem, co se nazývá Témata. Pro snadnější pochopení považujte tato témata za složku na pevném disku počítače. Považujme tento počítač za počítačový server (což je ve světě mqtt makléř Mqtt). Uvažujme na tomto serveru mít jednu složku.

Název složky: /Folder_one /

Uvažujme nyní dva lidi ze dvou různých systémů (PC/Laptop), kteří přistupují k tomuto serveru, aby mohli číst soubory nebo odesílat/ukládat soubory nebo provádět obě operace.

Tyto dvě osoby/systém pojmenujeme jako System X, System Y (Toto jsou klienti Mqtt ve světě Mqtt).

Nyní řekněme, že System X odesílá/ukládá nějaký soubor (název souboru: teplota) do složky „/Folder_one/“, ve světě mqtt tomu můžeme říkat publikování (místo souboru posíláme nějakou zprávu/užitečné zatížení).

Řekněme, že System Y si přeje získat/přečíst tento soubor nebo jakýkoli nový soubor nebo aktualizovat v této složce, první věc, kterou potřebuje, je znát název složky a cestu, což je v našem případě „/Folder_one/“. Nyní tedy přejde do této složky a přečte/přijme tento soubor (název souboru: teplota). Znalost cesty/tématu a kontrola změn v souboru/nových souborech ve světě Mqtt je předplatné tohoto tématu.

Vzhledem k výše uvedenému příkladu

Systém X publikuje na „/Folder_one“a System Y má předplatné na „/Folder_one“

Pamatujte také, že System X se také může přihlásit k odběru „/Folder_one“a System Y může také publikovat na „/Folder_one“. Stejně tak i serverový systém (The Mqtt Broker) může publikovat/přihlásit se k odběru „/Folder_one“instalací klienta Mqtt, jako jsme to udělali v současné době. Další věcí, kterou je třeba si zapamatovat, je zveřejnit nebo se přihlásit k odběru tématu, které budete potřebovat k tomu, abyste znali IP adresu makléře Mqtt.

Nejprve to otestujeme prostřednictvím klienta ubuntu, který je nainstalován ve stejném systému jako je broker. Otevřeme dvě okna terminálu, jedno z nich zveřejní a druhé se přihlásí k odběru. Například jako téma použijeme /Folder_one. Před pub/sub k tématu budete muset zjistit IP adresu ubuntu. Chcete -li to provést, klikněte na v pravém horním rohu obrazovky, vyberte nastavení wifi, odtud budete moci najít IP adresu systému ubuntu (v současné době IP brokera). Shrnutí obrazovky sdílené pro referenci (obrázek 8).

Nebo k nalezení IP adresy brokera můžete najít IP adresu instalací síťových nástrojů pomocí následujícího příkazu v terminálu

sudo apt install net-tools

Instalace síťových nástrojů (obrázek 9). Poté stačí zadat příkaz ipconfig a dostanete seznam síťového rozhraní s mac a IP adresou

sudo ipconfig

IP adresa mého systému je 192.168.1.67 (obrázek 10)

Publikovat

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Zde je příkaz mosquitto_pub, za ním následuje prvek identifikátoru parametru -h, což je IP adresa hostitele /makléře (v našem případě 192.168.1.67), následovaný -t, což je název tématu pro vydavatele (v našem případě /Folder_one), následovaný -m, což znamená zprávu/užitečné zatížení, které má být odesláno (V našem případě je pub_to_folderone).

Odebírat

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Zpráva odeslaná vydavatelem: pub_to_folderone

Příklad pro publikování

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 pracuje“

Příklad odpovědi obdržené při přihlášení k odběru tématu

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Zpráva odeslaná vydavatelem:

  • pub_to_folderone
  • ahoj test mqtt
  • mqtt pracuje

Pub Sub ve dvou samostatných oknech terminálu vedle sebe (obrázek 11)

Testování Mqtt na Androidu (můj mqtt)

Nainstalujte si aplikaci mymqtt z obchodu Play do telefonu Android (obrázek 12)

Otevřete aplikaci a klikněte na levý horní roh (obrázek 13, obrázek 14).

Klikněte na Nastavení a zadejte IP adresu makléře, port ve výchozím nastavení bude 1883. V současné době nepoužíváme ověřeného brokera mqtt, takže uživatelské jméno a heslo budou prázdné. Stačí jej uložit a znovu kliknout na levý horní roh aplikace (<Nastavení), zásuvka se znovu otevře (Obrázek 15).

V horní části zásuvky se zobrazí IP adresa makléře a port, ke kterému je aplikace připojena (obrázek 16).

Nyní přidejte téma, které chcete přihlásit k odběru, kliknutím na Přihlásit se k odběru. Zde přidáme téma jako /Folder_one (obrázek 17, obrázek 18).

Poté to provedeme ze systému ubuntu pomocí terminálu k tématu. Při publikování byste měli dostat užitečné zatížení/zprávu zveřejněnou v této mobilní aplikaci. Například publikování užitečného zatížení jako „ARM -Automation Robotics & Mechatronics“. Příkaz je, jak již bylo zmíněno dříve.

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

publikování ze systému ubuntu (obrázek 19).

Přijatá publikovaná zpráva na řídicím panelu (obrázek 20).

Nyní můžeme publikovat z telefonu Android (My mqtt) a přihlásit se k odběru v systému ubuntu. V tomto případě používáme téma „/mymqtt_to_pub“.

Chcete -li to provést, nejprve otevřete terminál ze systému ubuntu a přihlaste se k odběru tématu „/mymqtt_to_pub“pomocí následujícího příkazu (obrázek 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Nyní přejděte do zásuvky aplikace mymqtt a klikněte na publikovat. Přidejte téma publikování (v našem případě je to „/mymqtt_to_pub“) a odešlete zprávu, jako bychom poslali „ahoj Ubuntu“, stiskněte tlačítko Odeslat (obrázek 22, obrázek 23).

Zpráva by se měla objevit v okně terminálu systému ubuntu (obrázek 24).

Všimněte si, že systém ubuntu i telefon Android by měly být ve stejné síti nebo by měl být vystaven port 1883 a měli byste znát IP adresu vašeho routeru/brány, aby mqtt fungoval. Pokud chcete ke svému makléři mqtt přidat autentizaci, můžete to udělat pomocí níže uvedeného odkazu na blog https://medium.com/@eranda/setting-up-authenticat… Postupujte od druhého kroku tohoto blogu. Povolili jsme autentizaci našeho brokera a pro naše desky budeme používat autentizovaného brokera.

Krok 3: Práce s Armtronix Board & Mqtt

Práce s Armtronix Board & Mqtt
Práce s Armtronix Board & Mqtt
Práce s Armtronix Board & Mqtt
Práce s Armtronix Board & Mqtt
Práce s Armtronix Board & Mqtt
Práce s Armtronix Board & Mqtt

V současné době pro tento pokyn používáme naši desku Wifi Single Dimmer Board, která používá Triac k sekání sinusové vlny a naopak stmívá žárovku nebo ovládá rychlost ventilátoru. Také jsme jej připojili prostřednictvím typu autentizace mqtt.

Zpočátku jsme desku nakonfigurovali. Kroky pro jeho konfiguraci jsou uvedeny níže.

Na desce začne hostovat přístupový bod Wifi.

Připojte se k tomuto AP pomocí telefonu nebo notebooku Android (obrázek 25).

Po připojení k tomuto AP zadejte 192.168.4.1 otevřením prohlížeče (chrome/firefox) z připojeného systému/telefonu AP. Ujistěte se, že nepoužíváte datové připojení (3G/4G).

Po zadání IP se otevře webová stránka, na které je třeba zadat následující (obrázek 26).

  • SSID: Název přístupového bodu WiFi.
  • Heslo: Heslo SSID.
  • Režim IoT Mqtt nebo Http (vyberte Mqtt).
  • Mqtt Broker IP (V našem případě je to 192.168.1.67).
  • Mqtt uživatelské jméno a heslo, protože používáme typ autentizace, použili jsme Naren, xxxx
  • Téma publikování Mqtt: Toto bude téma, na které rada také publikuje, použili jsme /testpub.
  • Téma předplatného Mqtt: Toto bude téma, na které tabule naslouchá příkazům ke spuštění triaku, použili jsme /testub.
  • Název zařízení: Je to jméno, které na Alexu vyvoláte pro spuštění desky, použili jsme corvi.

Po zadání podrobností stiskněte tlačítko Odeslat, čímž se vám zobrazí obrazovka, jak je znázorněno na obrázku 27, chvíli počkejte, dokud deska nepřestane hostovat AP.

Vezměte prosím na vědomí, že jsme připojili naši desku přes Uart k sériovému monitoru Arduino IDE. Na levé straně tedy uvidíte zprávy o ladění, které tiskne přes Uart (to je jen pro vaši informaci).

Jakmile to bude hotové, můžete zobrazit obrazovku ladění. Bude tam vidět většina podrobností. Poté se úspěšně připojí k brokerovi na obrazovce ladění (sériové), kterou můžete vidět.

Připojeno k brokerovi MQTT s ověřením. Přihlášen k odběru tématu 1.

Poté, co to vytiskne, můžete nyní začít odesílat příkazy prostřednictvím mqtt na téma, ke kterému se přihlásil, tj. /Testub /

Příkazy pro tuto desku jsou:

  • R13_ON: Zapnutí triaku na 100%.
  • R13_OFF: Vypnutí triaku na 0%.
  • Dimmer: xx: Kde, xx je hodnota stmívání a může se měnit od 0 do 99.
  • Reset: Vymazání konfigurace desky.
  • Stav: Vytiskne stav stmívače desky na téma publikování desky.

Chcete -li tento příkaz odeslat ze systému založeného na ubuntu, kde je nainstalován klient mqtt, zadejte jej tak, jak je uvedeno níže. Kvůli autentizaci jsou zde přidány dva další parametry -tj. -U, což je uživatelské jméno a -P je heslo, mějte prosím na paměti, že se rozlišují velká a malá písmena.

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 /testub -m Stmívač: 50

Poznámka: 50 je hodnota stmívače

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

U nejnovějšího stavu se stav vytiskne na publikační téma desky, což je v našem případě /testpub. Na naší desce se jakákoli změna zařízení vytiskne na publikační téma desky. Pokud například předáme Dimmer: 50 na téma přihlášené k desce, než při fyzickém provádění, deska odešle zprávu s uvedením šedé úrovně na téma publikování. Příklad je uveden níže, Chcete -li se přihlásit ze svého systému ubuntu k tématu publikování na tabuli, zadejte následující příkaz

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

zpráva, kterou dostáváme, je

DimmerIS50

níže je několik krátkých obrazovek (obrázek 28, obrázek 29)

Doporučuje: