Съдържание:
- Консумативи
- Стъпка 1: Първоначална настройка (в зависимост от вашата операционна система)
- Стъпка 2: Настройка на Mosquitto:
- Стъпка 3: Приключете
Видео: Безжична комуникация SmartHome: Екстремните основи на MQTT: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Основи на MQTT:
** Ще правя серия за домашна автоматизация, ще премина през стъпките, които предприех, за да науча всичко, което съм правил в бъдеще. Този Instructable е базовата линия за това как да настроя MQTT за използване в моите бъдещи Instructables. Ученията в това съдържание обаче ще бъдат приложими за всеки проект, който бихте искали да предприемете. **
Интернет на нещата:
Интернет на нещата завладява света и особено в общности като нашата тук, в Instructables. Откакто се присъединих към тази общност, тя се утвърди с изграждането на хора
Устройства, свързани и контролирани през интернет. При работа с Internet of Things е трудно да не се стигне до протокола MQTT. Това е комуникационен протокол, подобен на други, използвани в Интернет днес, като HTTP или FTP, но начинът, по който работи, е различен, което го прави идеален за приложения на Internet of Things.
Какво е MQTT:
MQTT (Message Queuing Telemetry Transport е лек комуникационен протокол, използващ архитектура за публикуване/абониране. HTTP, който повечето интернет използва, е изграден върху система за заявка/отговор. Това означава, че получава заявка от клиент и изпраща отговор на този клиент. MQTT също има сървър (наречен брокер), както и много клиенти. За разлика от HTTP, MQTT позволява на клиентите да публикуват или да се абонират за конкретни „теми“. Това позволява по -широка комуникация чрез централизирана точка, брокерът. Всеки възел може да публикува в тема на брокера и всеки възел, абониран за тази тема, ще получи съобщението. Клиентите могат да се абонират и за множество теми и след това да получат множество директиви или актуализации.
Цялата система се управлява от събития и позволява съобщенията от брокера да се изпращат до всеки абониран клиент. Така че вместо HTTP, когато клиентът изисква информацията, клиентът се избутва информацията директно от брокера при получаване. Има вградени услуги, които позволяват различни предпазни мерки, като QOS спецификации. Спецификацията на QOS позволява на брокер да определи дали дадено съобщение трябва да бъде доставено най -много веднъж, поне веднъж или точно веднъж. Това гарантира, че данните се доставят по необходимия начин на всеки клиент. Клиентите също могат да поискат публикуваните съобщения към тяхната тема да бъдат буферирани в брокера, в случай че са изключени от него по някаква причина. След като се върнат онлайн, тези данни ще бъдат изпратени до клиента.
Темата не е нищо особено, това са просто различни низове, които са комбинирани и разделени с наклонени черти. Форматът в примера, който ще се използва по -долу, е следният: дом/спалня/таванна светлина. Всяка наклонена черта се поставя след тема за обозначаване на подтема. Така че съобщение може да бъде публикувано до дома, където всички устройства в къщата ще го получат. Тя може да бъде публикувана директно в дома/спалнята, където всички устройства в спалнята ще получат съобщението. И може да слезе до конкретното устройство, както е показано първо за дома/спалнята/таванната светлина, където само таванната светлина в спалнята ще получи съобщението. Начинът, по който можем да абстрахираме отделни устройства като това чак до цяла екосистема, е изключително удобен, особено що се отнася до домашната автоматизация. Има и други начини за разбиване на темите и ще ги разгледам по -нататък в бъдещите инструкции, където приложението има най -голям смисъл.
Консумативи
Необходимо е само едно от следните неща:
Ubuntu:
Подсистема на Windows за Linux: https://ubuntu.com/wsl (Само ако нямате Linux/MacOS)
MacOS: Изисква MacBook
Това се изисква:
Mosquitto MQTT брокер - Изтеглено с помощта на apt -get (Документация:
Стъпка 1: Първоначална настройка (в зависимост от вашата операционна система)
MacOS/Linux:
Не е необходима настройка, просто отворете терминала си и преминете към Настройка на Mosquitto!
Windows:
Ако използвате Windows, ще трябва да инсталирате подсистемата Windows за Linux. Това е супер лесен за използване и изключително ценен инструмент, който ви позволява да стартирате терминал на Ubuntu в рамките на Windows. Няма нужда да инсталирате и двойно зареждате Ubuntu, само за да тествате разработката в терминала!
Стъпки за инсталиране:
1. Отидете в Windows Store и потърсете ubuntu
2. Изтеглете и инсталирайте подсистемата Windows за Linux
3. Отворете приложението и следвайте инструкциите, за да завършите настройката и сте готови да продължите!
Стъпка 2: Настройка на Mosquitto:
Както е обсъдено във въведението за MQTT, протоколът изисква брокер (сървър). Този брокер е базовата точка за всички установени връзки към всеки клиент. Всички съобщения се предават и се поставят на опашка в този брокер. Има много възможности за избор за брокер и можете да ги намерите онлайн, но този, който ще използваме, е може би най -често срещаният: Mosquitto.
Mosquitto е базиран на Linux MQTT брокер с много функционалност. Няма да навлизам в спецификата на тази функционалност в момента, но няколко основни изисквания, които тя изпълнява, са удостоверяване на потребител/парола и TLS криптиране, всички от които са полезни при разработването на устройства с Интернет на нещата.
Стъпки:
Всички тези стъпки трябва да бъдат завършени в терминален прозорец.
1. Инсталирайте Mosquitto и MQTT клиенти
sudo apt-get инсталирайте комари-комари-клиенти
2. Абонирайте се за тема
mosquitto_sub -t "тест"
Това, което прави, се абонира за тема. Тази тема се обозначава с "-t", а стойността на темата е "тест". Тази стойност след "-t" може да бъде всичко, което искате, освен за няколко специални резервации.
3. Отворете нов прозорец на терминала и публикувайте съобщение на тема „тест“
mosquitto_pub -t "тест" -m "Здравей свят с MQTT!"
Това публикува съобщение към темата "тест", което позволява на другия ни терминален екземпляр да получи съобщението от страната на абонамента. Публикуваното съобщение се обозначава с "-m", а стойността на съобщението е "Hello World With MQTT". Това съобщение, също като темата, може да бъде променено на каквото искате!
4. Отидете на първия терминален прозорец, за да видите резултатите си! Трябва да получите съобщение с надпис „Hello World With MQTT“. Ако не виждате това, уверете се, че сте въвели правилната тема. Ако сте завършили успешно това, продължете да играете с него. Опитайте различни теми, с подтеми и различни съобщения!
Стъпка 3: Приключете
Това е! След като приключите всичко, разбирате основите на това как работи MQTT. Това е много елементарен урок, който просто показва минимума на протокола MQTT. Бъдещите инструктори ще разгледат по -задълбочено как протоколът работи на практика с Интернет на нещата, особено с модули ESP8266, работещи с Arduino. Първото ми практическо приложение ще бъде интелигентната кафеварка, която имам в момента в стаята си. Ако искате да научите как да направите кафемашина, която може да се контролира както от телефона, така и от Alexa, не забравяйте да ме последвате за още уроци.
Препоръчано:
Безжична комуникация LoRa от 3 до 8 км с ниска цена E32 (sx1278/sx1276) Устройство за Arduino, Esp8266 или Esp32: 15 стъпки
Безжична комуникация LoRa от 3 до 8 км с ниска цена E32 (sx1278/sx1276) Устройство за Arduino, Esp8266 или Esp32: Създавам библиотека за управление на EBYTE E32 въз основа на серия Semtech на устройство LoRa, много мощно, просто и евтино устройство. Можете да намерите 3Km версия тук, 8Km версия тук Те могат да работят на разстояние от 3000m до 8000m и имат много функции и
Безжична шифрована комуникация Arduino: 5 стъпки
Безжична шифрована комуникация Arduino: Здравейте на всички, Във тази втора статия ще ви обясня как да използвате чипа Atecc608a за защита на вашата безжична комуникация. За това ще използвам NRF24L01+ за безжичната част и Arduino UNO. Микрочипът ATECC608A е проектиран от
Дълъг обхват, 1,8 км, безжична комуникация между Arduino и Arduino с HC-12 .: 6 стъпки (със снимки)
Дълъг обхват, 1,8 км, безжична комуникация между Arduino и Arduino с HC-12 .: В тази инструкция ще научите как да комуникирате между Arduinos на дълги разстояния до 1,8 км на открито. HC-12 е безжичен сериен порт комуникационен модул, който е много полезен, изключително мощен и лесен за използване. Първо ще напуснеш
Безжична комуникация с помощта на трансивър модул NRF24L01 за проекти, базирани на Arduino: 5 стъпки (със снимки)
Безжична комуникация, използваща трансивер модул NRF24L01 за проекти, базирани на Arduino: Това е вторият ми инструкционен урок за роботите и микроконтролерите. Наистина е невероятно да видите вашия робот жив и работещ според очакванията и повярвайте ми, че ще бъде по -забавно, ако управлявате вашия робот или други неща безжично с бързо и
Как правилно да измерваме консумацията на енергия на модулите за безжична комуникация в епохата на ниска консумация на енергия?: 6 стъпки
Как правилно да измерваме консумацията на енергия на безжичните комуникационни модули в епохата на ниска консумация на енергия?: Ниската консумация на енергия е изключително важно понятие в Интернет на нещата. Повечето IoT възли трябва да се захранват от батерии. Само чрез правилно измерване на консумацията на енергия на безжичния модул можем да преценим точно колко батерия съм