Spisu treści:
- Krok 1: Instalacja brokera Mqtt:
- Krok 2: Testowanie MQTT (Mosquitto)
- Krok 3: Praca z płytą Armtronix i Mqtt
Wideo: MQTT na płytach Armtronix: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
W tej instrukcji chcielibyśmy najpierw pokazać, jak korzystać z systemu opartego na Linuksie (Debian lub Ubuntu) i zainstalować na nim Mosquitto (Mqtt Broker), a także pokazać, jak korzystać z klienta Mqtt na telefonie (Android) / opartym na Linuksie system, wysyłanie i odbieranie wiadomości za pośrednictwem Mqtt. Po zapoznaniu się z tym, chcielibyśmy pokazać, jak możesz skonfigurować i połączyć naszą płytę z tym zainstalowanym brokerem Mqtt. Chciałbym również pokazać, jak można dodać uwierzytelnianie do brokera Mqtt oraz kilka podstawowych wskazówek i trików dotyczących debugowania. Więc zacznijmy ………..
Krok 1: Instalacja brokera Mqtt:
Istnieje wiele brokerów Mqtt, których możesz zainstalować. Niektóre znane są wymienione poniżej. Niektóre z nich to usługi oparte na chmurze.
- HiveMQ
- MosquittoChmura
- MQTT
- Adafruit.io
Pokażemy Ci, jak zainstalować Mosquitto na systemie opartym na Linuksie (Ubuntu 18.04). Aby to zrobić, najpierw dodaj Mosquitto do listy źródeł Ubuntu. Gdy Mosquitto będzie dostępne w repozytoriach Ubuntu, będziesz mógł go zainstalować za pomocą apt-get.
Po prostu otwórz Terminal. Aby otworzyć terminal, przejdź do lewego dolnego rogu pulpitu Ubuntu, kliknij Pokaż aplikację (siatka Doted 3X3). Otworzy się okno. Tam szukasz Terminala. Kliknij terminal, powinieneś zobaczyć otwarte okno, jak pokazano na poniższych obrazach.
- Pokaż aplikację (zdjęcie 1).
- Wyszukaj terminal (zdjęcie 2).
- Okno terminala (zdjęcie 3).
Wprowadź następujące polecenia po otwarciu Terminala
sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa
aktualizacja sudo apt-get
sudo apt-get install mosquitto
Możesz także zainstalować klienta Mqtt. Polecenie, aby to zrobić, będzie
sudo apt-get install mosquitto-clients
Niektóre obrazy w celach informacyjnych
- Dodawanie ppa (zdjęcie 4).
- Aktualizacja repozytorium (zdjęcie 5).
- Instalowanie Mosquitto (zdjęcie 6).
- Instalowanie klienta Mosquitto (zdjęcie 7).
Krok 2: Testowanie MQTT (Mosquitto)
Aby przetestować mqtt przez ubuntu (ten sam system lub inny system), musisz zainstalować klienta mqtt, który został zainstalowany wcześniej za pomocą polecenia sudo apt-get install mosquitto-clients. Jeśli chcesz przetestować go za pomocą telefonu komórkowego (Android), możesz zainstalować aplikację MyMqtt ze sklepu Play.
Mqtt pracuje nad czymś, co nazywa się Tematami. Aby ułatwić zrozumienie, rozważ te tematy jako foldery na dysku twardym komputera. Potraktujmy ten komputer jako serwer komputerowy (który w świecie mqtt jest brokerem Mqtt). Na tym serwerze rozważmy posiadanie jednego foldera.
Nazwa folderu: /Folder_jeden/
Rozważmy teraz dwie osoby z dwóch różnych systemów (PC/Laptop) uzyskujące dostęp do tego serwera w celu odczytania plików lub wysłania/zrzucenia plików lub wykonania obu operacji.
Nazwiemy dwie osoby/system jako System X, System Y (Są to klienci Mqtt w świecie Mqtt).
Teraz powiedzmy, że System X wysyła/zrzuca jakiś plik (nazwa pliku: temperatura) do folderu „/Folder_one/”, to w świecie mqtt możemy nazwać tym publikowaniem (wysyłamy wiadomość/ładunek zamiast pliku).
Teraz powiedzmy, że System Y chce pobrać/odczytać ten plik lub dowolny nowy plik lub zaktualizować ten folder, pierwszą rzeczą, jakiej potrzebuje, jest znajomość nazwy folderu i ścieżki, która w naszym przypadku to „/Folder_one/”. Więc teraz przejdzie do tego folderu i odczyta/odbierze ten plik (nazwa pliku: temperatura). Znajomość ścieżki/tematu i sprawdzanie zmian w pliku/nowych plikach w świecie Mqtt jest subskrypcją tego tematu.
Biorąc pod uwagę powyższy przykład, System X publikuje w „/Folder_one”, a System Y subskrybuje „/Folder_one”
Należy również pamiętać, że System X może również subskrybować „/ Folder_one”, a System Y może również publikować w „/ Folder_one”. Mądrze, nawet system serwera (The Mqtt Broker) może publikować/subskrybować „/Folder_one”, instalując na nim klienta Mqtt, tak jak robiliśmy to obecnie. Inną rzeczą do zapamiętania jest opublikowanie lub zasubskrybowanie tematu, w którym musisz znać adres IP brokera Mqtt.
Najpierw przetestujemy go za pomocą klienta ubuntu, który jest zainstalowany w tym samym systemie, co broker. Otworzymy dwa okna terminala, z których jedno opublikuje, a drugie zasubskrybuje. Na przykład użyjemy /Folder_one jako tematu. Zanim publikujesz/subskrybujesz temat, musisz znaleźć adres IP ubuntu. Aby to zrobić, kliknij w prawym górnym rogu ekranu, wybierz ustawienia wifi, stamtąd będziesz mógł znaleźć adres IP systemu ubuntu (obecnie IP brokera). Zrzut ekranu udostępniony w celach informacyjnych (zdjęcie 8).
Lub, aby znaleźć adres IP brokera, możesz znaleźć adres IP, instalując narzędzia sieciowe za pomocą następującego polecenia w terminalu
sudo apt install net-tools
Instalowanie narzędzi sieciowych (zdjęcie 9). Następnie wpisz polecenie ipconfig, a otrzymasz listę interfejsów sieciowych z adresem mac i adresem IP
sudo ipconfig
Adres IP mojego systemu to 192.168.1.67 (zdjęcie 10)
Opublikować
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone
W tym przypadku mosquitto_pub to polecenie, po którym następuje element identyfikatora parametru -h, który jest adresem IP hosta/brokera (w naszym przypadku 192.168.1.67), po którym następuje -t, czyli nazwa tematu do wydawcy (w naszym przypadku /Folder_one), po którym następuje -m co oznacza wiadomość/ładunek do wysłania (w naszym przypadku jest to pub_to_folderone).
Subskrybować
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Wiadomość wysłana przez wydawcę: pub_to_folderone
Przykład do publikacji
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m „cześć test mqtt”
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m „mqtt działa”
Przykład odpowiedzi otrzymanej po zapisaniu się do tematu
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Wiadomość wysłana przez wydawcę:
- pub_to_folderone
- cześć test mqtt
- mqtt działa
Pub Sub w dwóch oddzielnych oknach terminala obok siebie (zdjęcie 11)
Testowanie Mqtt na Androidzie (mój mqtt)
Zainstaluj aplikację mymqtt ze sklepu Play na telefonie z Androidem (zdjęcie 12)
Otwórz aplikację i kliknij w lewym górnym rogu (zdjęcie 13, zdjęcie 14).
Kliknij Ustawienia i wprowadź adres IP brokera, domyślnie port to 1883. Obecnie nie używamy uwierzytelnionego brokera mqtt, więc nazwa użytkownika i hasło będą puste. Wystarczy go zapisać i ponownie kliknąć w lewym górnym rogu aplikacji (< Ustawienia) szuflada otworzy się ponownie (zdjęcie 15).
W górnej części szuflady pokaże adres IP brokera i port, do którego jest podłączona aplikacja (zdjęcie 16).
Teraz dodaj temat, który chcesz subskrybować, klikając Subskrybuj. Tutaj dodamy temat jako /Folder_one (Obraz 17, Obraz 18).
Po wykonaniu tej czynności z systemu ubuntu za pomocą terminala opublikujemy w temacie. Po opublikowaniu powinieneś otrzymać ładunek/wiadomość opublikowaną w tej aplikacji mobilnej. Na przykład publikowanie ładunku jako „ARM -Automation Robotics & Mechatronics”. Dowództwo jest jak wspomniano wcześniej.
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m „ARM -Automatyka Robotyka i Mechatronika”
publikowanie z systemu Ubuntu (zdjęcie 19).
Otrzymano opublikowaną wiadomość na desce rozdzielczej (zdjęcie 20).
Teraz opublikujmy z telefonu z Androidem (Mój mqtt) i zasubskrybujmy w systemie ubuntu. W tym przykładzie używamy tematu „/mymqtt_to_pub”.
Aby to zrobić, najpierw otwórz terminal z systemu ubuntu i zasubskrybuj temat „/ mymqtt_to_pub” za pomocą następującego polecenia (Obraz 21)
mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub
Teraz przejdź do szuflady aplikacji mymqtt i kliknij publikuj. Dodaj temat publikacji (w naszym przypadku jest to „/mymqtt_to_pub”) i wyślij wiadomość, że wyślemy „hi Ubuntu”, naciśnij przycisk wysyłania (obrazek 22, obrazek 23).
Wiadomość powinna pojawić się w oknie terminala systemu ubuntu (zdjęcie 24).
Zwróć uwagę, że zarówno system ubuntu, jak i telefon z Androidem powinny znajdować się w tej samej sieci lub port 1883 powinien być ujawniony i powinieneś znać adres IP routera/bramy, aby mqtt działał. Jeśli chcesz dodać uwierzytelnianie do swojego brokera mqtt, możesz to zrobić, klikając poniższy link do bloga https://medium.com/@eranda/setting-up-authenticat… Postępuj zgodnie z drugim krokiem tego bloga. Włączyliśmy uwierzytelnianie naszego brokera i będziemy używać uwierzytelnionego brokera dla naszych tablic.
Krok 3: Praca z płytą Armtronix i Mqtt
Obecnie do tego instruktażu używamy naszej Wifi Single Dimmer Board, która używa triaka do cięcia fali sinusoidalnej, a z kolei ściemnia żarówkę lub kontroluje prędkość wentylatora. Połączyliśmy go również poprzez typ uwierzytelniania mqtt.
Wstępnie skonfigurowaliśmy płytkę. Kroki konfiguracji są wymienione poniżej.
Włącz na płycie, rozpocznie się hostowanie punktu dostępu Wi-Fi.
Za pomocą telefonu z systemem Android lub laptopa połącz się z tym punktem dostępowym (zdjęcie 25).
Po połączeniu z tym AP wpisz 192.168.4.1, otwierając przeglądarkę (chrome/firefox) z podłączonego systemu/telefonu. Upewnij się, że nie korzystasz z połączenia danych (3G/4G).
Po wpisaniu adresu IP otworzy się strona internetowa, na której należy wprowadzić następujące informacje (zdjęcie 26).
- SSID: nazwa AP Wi-Fi.
- Hasło: Hasło SSID.
- Tryb IoT Mqtt lub Http (wybierz Mqtt).
- Adres IP brokera Mqtt (w naszym przypadku jest to 192.168.1.67).
- Nazwa użytkownika i hasło Mqtt, ponieważ używamy typu uwierzytelniania, użyliśmy Naren, xxxx
- Temat publikacji Mqtt: To będzie temat publikowany przez forum, użyliśmy /testpub.
- Mqtt subscribe temat: To będzie temat, którego płyta nasłuchuje w celu wyzwolenia triaka, użyliśmy /testsub.
- Nazwa urządzenia: jest to nazwa, którą wołasz do alexy, aby uruchomić kartę, użyliśmy corvi.
Po wprowadzeniu szczegółów naciśnij przycisk przesyłania, po wykonaniu tej czynności otrzymasz ekran, jak pokazano na obrazku 27, poczekaj chwilę, aż płyta przestanie obsługiwać AP.
Należy pamiętać, że połączyliśmy naszą płytkę poprzez Uart z szeregowym monitorem Arduino IDE. Tak więc po lewej stronie zobaczysz komunikaty debugowania, które są drukowane przez Uart (to tylko w celach informacyjnych).
Po wykonaniu tej czynności możesz wyświetlić ekran debugowania. Większość szczegółów będzie tam widoczna. Następnie pomyślnie połączy się z brokerem na ekranie debugowania (szeregowym), który możesz to zobaczyć.
Połączony z brokerem MQTT z uwierzytelnianiem. Subskrybowany do tematu 1.
Po wydrukowaniu tego możesz teraz zacząć wysyłać polecenia przez mqtt w temacie, który subskrybował, tj. /testsub/
Dla tej płyty komendy to:
- R13_ON: Aby włączyć triak na 100%.
- R13_OFF: Aby wyłączyć triak na 0%.
- Dimmer:xx: Gdzie, xx jest wartością ściemniania i można ją zmieniać w zakresie od 0 do 99.
- Reset: Aby wyczyścić konfigurację płyty.
- Status: Wydrukuj status dimmera tablicy w temacie publikacji tablicy.
Aby wysłać to polecenie z systemu opartego na ubuntu, w którym zainstalowany jest klient mqtt, wpisz je w sposób pokazany poniżej. W związku z uwierzytelnianiem dodawane są tutaj dwa dodatkowe parametry - tj. -u, które jest nazwą użytkownika, a -P jest hasłem, należy pamiętać, że rozróżniana jest wielkość liter.
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 Ściemniacz:50
Uwaga: 50 to wartość ściemniacza
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
Dla najnowszego statusu status jest drukowany w temacie wydawniczym forum, którym w naszym przypadku jest /testpub. Na naszym forum każda zmiana urządzenia jest drukowana w temacie publikacji forum. Na przykład, jeśli przekażemy Dimmer:50 na subskrybowany temat forum, to po fizycznym wykonaniu tego, forum wyśle wiadomość informującą o poziomie wygaszania w temacie publikacji. Przykład pokazano poniżej, Aby zasubskrybować z systemu ubuntu temat publikowania na forum, wpisz następujące polecenie
mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub
wiadomość, którą otrzymujemy to
ŚciemniaczIS50
kilka zrzutów ekranowych tego samego znajduje się poniżej (zdjęcie 28, zdjęcie 29)
Zalecana:
Światła nastrojowe MQTT z ESP32: 4 kroki (ze zdjęciami)
MQTT Mood Lights Z ESP32: Od dłuższego czasu miałem ochotę wskoczyć na modę LED, więc wybiegłem i wziąłem pasek LED do zabawy. Skończyło się na zrobieniu tych nastrojowych świateł. Można nimi sterować za pomocą MQTT, co umożliwia dodawanie wszelkiego rodzaju inteligentnych elementów.To jest
Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT: 4 kroki (ze zdjęciami)
Zasilany bateryjnie czujnik drzwi i zamka szopy, Solar, ESP8266, ESP-Now, MQTT: W tej instrukcji pokazuję, jak stworzyłem czujnik zasilany bateryjnie, aby monitorować stan drzwi i zamka mojej zdalnej szopy na rowery. Nie mam zasilania sieciowego, dlatego zasilany jest bateryjnie. Akumulator jest ładowany przez mały panel słoneczny.Moduł jest d
Płytka ARMTRONIX Wifi 30Amps: 4 kroki (ze zdjęciami)
Płytka ARMTRONIX Wifi 30Amps: WPROWADZENIE:Armtronix 30Amps Płytka przekaźnikowa jest płytą IOT.Cechy płyty to: Sterowanie bezprzewodowe.Na płycie USB do UART.Na płycie zasilacz AC do DC 230VAC do 5V DC. Wygląd i dotyk oraz rozmiar deski to 105mm X 7
ARMTRONIX WIFI SINGLE Dimmer Board V0.2: 3 kroki (ze zdjęciami)
ARMTRONIX WIFI SINGLE Dimmer Board V0.2: Ściemniacz Armtronix Wifi jest płytą IOT, która została zaprojektowana do automatyki domowej. Cechy płyty to: Sterowanie bezprzewodowe Mała obudowa Na płycie zasilanie AC na DC 230VAC do 5V DC. Wirtualny przełącznik DC Rozmiar płytki to 61,50
Taca Canon F do drukarek Pixma - drukowanie bezpośrednio na płytach CD/DVD do nadruku: 3 kroki
Taca F firmy Canon do drukarek Pixma - drukowanie bezpośrednio na płytach CD/DVD do nadruku: Jak wykonać tacę do drukowania na płycie CD do drukarki Pixma MP600 lub innej tacy firmy Canon, która wymaga tacy F