Мазмұны:

Armtronix тақталарында MQTT: 3 қадам
Armtronix тақталарында MQTT: 3 қадам

Бейне: Armtronix тақталарында MQTT: 3 қадам

Бейне: Armtronix тақталарында MQTT: 3 қадам
Бейне: Диммер на Tiny85 Управляем из приложений 2024, Шілде
Anonim
Armtronix тақталарында MQTT
Armtronix тақталарында MQTT

Бұл нұсқаулықта біз сізге Linux (Debian немесе Ubuntu) негізіндегі жүйені қалай пайдалану керектігін және оған Mosquitto (Mqtt Broker) орнатуды, сонымен қатар Mqtt клиентін телефонда (Android)/ Linux негізінде қалай қолдану керектігін көрсеткіміз келеді. Mqtt арқылы хабар жіберу және алу жүйесі. Мұнымен танысқаннан кейін, біз осы тақтаны Mqtt орнатылған брокермен қалай конфигурациялауға және қосуға болатынын көрсеткіміз келеді. Сондай -ақ, Mqtt брокеріне аутентификацияны қалай қосуға болатынын және отладтау үшін кейбір негізгі кеңестер мен амалдарды көрсеткім келеді. Ендеше бастайық ………

1 -қадам: Mqtt брокерін орнату:

Mqtt брокерін орнату
Mqtt брокерін орнату
Mqtt брокерін орнату
Mqtt брокерін орнату
Mqtt брокерін орнату
Mqtt брокерін орнату
Mqtt брокерін орнату
Mqtt брокерін орнату

Сіз орната алатын бірнеше Mqtt брокерлері бар. Кейбір белгілідер төменде көрсетілгендей. Олардың кейбіреулері бұлтқа негізделген қызметтер.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Біз сізге Mosquitto -ны Linux негізіндегі жүйеге (Ubuntu 18.04) қалай орнату керектігін көрсетеміз. Мұны істеу үшін алдымен Mosquitto -ны ubuntu көздер тізіміне қосыңыз. Mosquitto Ubuntu репозиторийлерінде болғаннан кейін сіз оны apt-get көмегімен орната аласыз.

Терминалды ашыңыз. Терминалды ашу үшін Ubuntu жұмыс үстелінің төменгі сол жақ бұрышына өтіңіз, Бағдарламаны көрсету түймесін басыңыз (нүктелі 3X3 торы). Терезе ашылады. Онда сіз Терминалды іздейсіз. Терминалды нұқыңыз, сіз келесі суреттерде көрсетілгендей ашық терезені көре аласыз.

  • Қолданбаны көрсету (1 -сурет).
  • Терминалды іздеңіз (2 -сурет).
  • Терминал терезесі (3 -сурет).

Терминалды ашқаннан кейін келесі пәрмендерді енгізіңіз

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

sudo apt-get жаңартуы

sudo apt-get mosquitto орнатыңыз

Сіз Mqtt клиентін де орната аласыз. Бұған бұйрық болады

sudo apt-get москит-клиенттерді орнатыңыз

Анықтама үшін кейбір суреттер

  • Ppa қосу (4 -сурет).
  • Репо жаңартылуда (5 -сурет).
  • Mosquitto орнату (6 -сурет).
  • Mosquitto клиентін орнату (7 -сурет).

2 -қадам: MQTT (Mosquitto) тестілеу

MQTT (Mosquitto) тестілеуі
MQTT (Mosquitto) тестілеуі
MQTT (Mosquitto) тестілеуі
MQTT (Mosquitto) тестілеуі
MQTT (Mosquitto) тестілеуі
MQTT (Mosquitto) тестілеуі

Ubuntu (сол жүйе немесе басқа жүйе) арқылы mqtt тестілеу үшін бұрын sudo apt-get install mosquitto-clients командасы арқылы орнатылған mqtt клиентін орнату қажет. Егер сіз оны ұялы телефонмен (андроид) пайдаланып тексергіңіз келсе, MyMqtt қосымшасын ойын дүкенінен орнатуға болады.

Mqtt тақырыптар деп аталатын нәрседе жұмыс істейді. Түсінуді жеңілдету үшін бұл тақырыптарды компьютердің қатты дискісіндегі қалта ретінде қарастырыңыз. Бұл компьютерді компьютерлік сервер ретінде қарастырайық (mqtt әлемінде Mqtt брокері). Бұл серверде бір қалтаның болуын қарастырайық.

Қалтаның атауы: /Folder_one /

Енді осы серверге файлдарды оқу үшін немесе файлдарды жіберу/тастау үшін немесе екеуін де орындау үшін кіретін екі түрлі жүйеден (ДК/Ноутбук) екі адамды қарастырайық.

Біз екі адамды/жүйені System X, System Y деп атаймыз (Бұл Mqtt әлеміндегі Mqtt клиенттері).

Айталық, System X кейбір файлды (файл атауы: температура) «/Folder_one/» қалтасына жібереді/тастайды, бұл mqtt әлемінде біз бұл жарияланым деп атай аламыз (біз файлдың орнына хабар/жүктеме жібереміз).

Енді, Y жүйесі осы файлды немесе кез келген жаңа файлды алғысы/оқығысы келеді немесе осы қалтада жаңартқысы келеді делік, бірінші кезекте қалтаның атын және жолын білу қажет, ол біздің жағдайда «/Folder_one/». Енді ол осы қалтаға өтеді және сол файлды оқиды/алады (файл атауы: температура). Жолды/Тақырыпты білу және Mqtt әлеміндегі файлдағы/жаңа файлдардағы өзгерістерді тексеру - бұл тақырыпқа жазылу.

Жоғарыда келтірілген мысалды ескере отырып, X жүйесі «/Folder_one» сайтында жарияланады, ал Y жүйесі «/Folder_one» жазылымына ие

Сондай -ақ, X жүйесі «/Folder_one» -ға жазыла алатынын, ал Y жүйесі «/Folder_one» -ға жариялай алатынын ескеріңіз. Даналық сияқты, серверлік жүйе (Mqtt Broker) Mqtt клиентін қазіргі кездегідей орнатып, «/Folder_one» журналына жариялай алады/жазыла алады. Есте сақтау керек тағы бір нәрсе - Mqtt брокерінің IP -мекен -жайын білу қажет тақырыпты жариялау немесе оған жазылу.

Алдымен біз оны брокермен бір жүйеде орнатылған ubuntu клиенті арқылы тексереміз. Біз екі терминалды терезені ашамыз, оның бірі жарияланады, екіншісі оған жазылады. Мысал үшін біз тақырып ретінде /Folder_one қолданамыз. Тақырыпқа қосылмас бұрын ubuntu -ның IP -адресін табу қажет. Мұны істеу үшін экранның оң жақ жоғарғы бұрышын нұқыңыз, Wi -Fi параметрін таңдаңыз, сол жерден сіз ubuntu жүйесінің IP -адресін таба аласыз (қазіргі уақытта IP -брокер). Анықтама үшін бөлісілген скриншот (8 -сурет).

Немесе брокердің IP -мекен -жайын табу үшін терминалда келесі пәрменді қолдана отырып, желі құралдарын орнату арқылы IP -адресті табуға болады

sudo apt net-tools орнатыңыз

Желілік құралдарды орнату (9-сурет). Осыдан кейін ipconfig пәрменін теріңіз, сіз Mac және IP мекенжайы бар желі интерфейсінің тізімін аласыз

sudo ipconfig

Менің жүйенің IP -адресі - 192.168.1.67 (10 -сурет)

Жариялау үшін

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

Мұнда mosquitto_pub -бұл команда, содан кейін -h параметрінің идентификаторы -хост /брокердің IP -адресі (біздің жағдайда 192.168.1.67), одан кейін -t -жариялаушыға тақырып атауы (біздің жағдайда /Folder_one), одан кейін -m бұл жіберілетін хабарламаны/жүктемені білдіреді (біздің жағдайда pub_to_folderone).

Жазылу үшін

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Баспа жіберген хабарлама: pub_to_folderone

Жариялауға мысал

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “hq test mqtt”

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “mqtt жұмыс істейді”

Тақырыпқа жазылу бойынша алынған жауаптың мысалы

mosquitto_sub -h 192.168.1.67 -t /Folder_one

Баспа жіберген хабарлама:

  • pub_to_folderone
  • сәлем mqtt тесті
  • mqtt жұмыс істейді

Pub Sub екі бөлек терминал терезесінде қатар орналасқан (11 -сурет)

Android -де Mqtt тестілеу (менің mqtt)

Mymqtt қосымшасын ойын дүкенінен андроид телефоныңызға орнатыңыз (12 -сурет)

Бағдарламаны ашып, сол жақ жоғарғы бұрышын басыңыз (13 -сурет, 14 -сурет).

Параметрлерді нұқыңыз және брокердің IP мекенжайын енгізіңіз, порт әдепкі бойынша 1883 болады. Қазіргі уақытта біз аутентификацияланған mqtt брокерін пайдаланбаймыз, сондықтан пайдаланушы аты мен құпия сөз бос болады. Оны сақтап, қолданбаның жоғарғы сол жақ бұрышын қайтадан басыңыз (<Параметрлер), тартпа қайта ашылады (15 -сурет).

Тартпаның жоғарғы жағында ол брокердің IP мекенжайын және қосымшаның қосылған портын көрсетеді (Сурет 16).

Енді Жазылуды басу арқылы жазғыңыз келетін тақырыпты қосыңыз. Мұнда біз тақырыпты /Folder_one ретінде қосамыз (17 -сурет, 18 -сурет).

Осыдан кейін ubuntu жүйесінен терминалды қолдана отырып, біз тақырыпты жариялаймыз. Жариялау кезінде сіз осы мобильді қосымшада жүктелген жүктемені/хабарламаны алуыңыз керек. Мысалы, жүктемені «ARM -Automation Robotics & Mechatronics» деп жариялау. Бұйрық бұрын айтылғандай.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m “ARM -Автоматты робототехника және мехатроника”

ubuntu жүйесінен жариялау (19 -сурет).

Басқару тақтасында жарияланған хабарлама алынды (Сурет 20).

Енді Android телефонынан (My mqtt) жариялап, ubuntu жүйесіне жазылуға рұқсат етіңіз. Бұл мысал үшін біз «/mymqtt_to_pub» тақырыбын қолданамыз.

Мұны істеу үшін алдымен ubuntu жүйесінен терминал ашып, келесі пәрменді қолданып «/mymqtt_to_pub» тақырыбына жазылыңыз (Сурет 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

Енді mymqtt қосымшасының тартпасына өтіп, жариялау түймесін басыңыз. Жариялау тақырыбын қосыңыз (біздің жағдайда бұл «/mymqtt_to_pub») және біз «сәлем Ubuntu» жіберетін сияқты хабар жібереміз, жіберу түймесін басыңыз (22 -сурет, 23 -сурет).

Хабар ubuntu жүйесінің терминалдық терезесінде пайда болуы керек (24 -сурет).

Назар аударыңыз, ubuntu жүйесі де, андроид телефондары да бір желіде болуы керек немесе 1883 порты ашық болуы керек және mqtt жұмыс істеуі үшін сіз маршрутизатордың/шлюздің IP мекенжайын білуіңіз керек. Егер сіз mqtt брокеріне түпнұсқалық растаманы қосқыңыз келсе, оны төмендегі блог сілтемесі арқылы жасауға болады https://medium.com/@eranda/setting-up-authenticat… Осы блогтың екінші қадамын орындаңыз. Біз брокердің түпнұсқалығын растадық және біздің тақталар үшін аутентификацияланған брокерді қолданатын боламыз.

3 -қадам: Armtronix Board & Mqtt -пен жұмыс

Armtronix Board & Mqtt -пен жұмыс істеу
Armtronix Board & Mqtt -пен жұмыс істеу
Armtronix Board & Mqtt -пен жұмыс істеу
Armtronix Board & Mqtt -пен жұмыс істеу
Armtronix Board & Mqtt -пен жұмыс
Armtronix Board & Mqtt -пен жұмыс

Қазіргі уақытта бұл нұсқаулықта біз Wifi Single Dimmer тақтасын қолданамыз, ол синус толқынын кесу үшін Triac жүйесін қолданады, ал өз кезегінде шамды өшіреді немесе желдеткіштің жылдамдығын басқарады. Сонымен қатар біз оны mqtt аутентификация түрі арқылы байланыстырдық.

Бастапқыда біз тақтаны конфигурацияладық. Оны конфигурациялау қадамдары төменде көрсетілгендей.

Тақтада қуат Wi -Fi кіру нүктесін орналастыруды бастайды.

Андроид телефонды немесе ноутбукты пайдаланып осы кіру нүктесіне қосылыңыз (25 -сурет).

Осы кіру нүктесіне қосылғаннан кейін 192.168.4.1 түріне кіру нүктесі қосылған жүйеден/телефоннан шолғышты (chrome/firefox) ашу арқылы енгізіңіз. Деректер байланысын пайдаланбайтындығыңызға көз жеткізіңіз (3G/4G).

IP -ді енгізген кезде келесі парақты енгізу қажет веб -бет ашылады (26 -сурет).

  • SSID: Wifi AP атауы.
  • Құпия сөз: SSID құпия сөзі.
  • IoT режимі Mqtt немесе Http (Mqtt таңдаңыз).
  • Mqtt Broker IP (біздің жағдайда бұл 192.168.1.67).
  • Mqtt пайдаланушы аты мен құпия сөз, біз аутентификация түрін қолданған кезде Naren, xxxx қолдандық
  • Mqtt жариялау тақырыбы: Бұл тақта қандай тақырыпта жарияланады, бізде /testpub қолданылған.
  • Mqtt жазылу тақырыбы: Бұл тақта триакты іске қосатын командаларды тыңдайтын тақырып болады, біз /testsub қолдандық.
  • Құрылғы атауы: Бұл тақтаны іске қосу үшін alexa -ға шақыратын атыңыз, біз corvi қолдандық.

Мәліметтерді енгізгеннен кейін жіберу түймесін басыңыз, осылайша сіз 27 -суретте көрсетілгендей экранға ие боласыз, тақта кіру нүктесін орналастыруды тоқтатқанша біраз уақыт күтіңіз.

Назар аударыңыз, біз Uart арқылы тақтаны Arduino IDE сериялық мониторына қостық. Сол жақта сіз Uart арқылы басып шығаратын отладка туралы хабарларды көресіз (бұл тек сіздің сілтеме үшін).

Бұл аяқталғаннан кейін сіз отладтау экранын көре аласыз. Мәліметтердің көпшілігі сол жерде көрінеді. Осыдан кейін ол брокерге отладтау (сериялық) экранында сәтті қосылады, сіз мұны көре аласыз.

Аутентификациясы бар MQTT брокеріне қосылған. 1 -тақырыпқа жазылды.

Оны басып шығарғаннан кейін, сіз оған жазылған тақырып бойынша mqtt арқылы пәрмендерді жіберуді бастай аласыз, яғни /testsub /

Бұл үшін тақта командалары:

  • R13_ON: Триакты 100%қосу үшін.
  • R13_OFF: триакусты 0%дейін өшіру үшін.
  • Dimmer: xx: Мұндағы, xx - бұл күңгірттеу мәні және оны 0 -ден 99 -ға дейін өзгертуге болады.
  • Қалпына келтіру: тақта конфигурациясын өшіру үшін.
  • Күй: тақтаның күңгірт күйін тақтаның жариялау тақырыбына басып шығарыңыз.

Бұл пәрменді mqtt клиенті орнатылған ubuntu жүйесінен жіберу үшін оны төменде көрсетілгендей теріңіз. Аутентификацияның арқасында мұнда екі қосымша параметр қосылады -яғни пайдаланушының аты -u және -P -құпия сөз, олар регистрді ескеретінін ескеріңіз.

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 Диммер: 50

Ескерту: 50 - бұл диммер мәні

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 күйі

Соңғы мәртебе үшін мәртебе тақтаның баспа тақырыбында басылады, ол біздің жағдайда /testpub. Біздің тақтада құрылғыдағы кез келген өзгеріс тақтаның жариялау тақырыбында басылады. Мысалы, егер біз Dimmer: 50 жазылымын тақтаға физикалық түрде орындаудан гөрі тапсақ, онда тақта жариялау тақырыбының күңгірт деңгейін көрсететін хабарлама жібереді. Мысал төменде көрсетілген, Ubuntu жүйесінен тақтаның жариялау тақырыбына жазылу үшін келесі пәрменді енгізіңіз

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

біз алатын хабар

DimmerIS50

төмендегі бірнеше экран шорттары (Сурет 28, Сурет 29)

Ұсынылған: