Съдържание:

Безжична комуникация SmartHome: Екстремните основи на MQTT: 3 стъпки
Безжична комуникация SmartHome: Екстремните основи на MQTT: 3 стъпки

Видео: Безжична комуникация SmartHome: Екстремните основи на MQTT: 3 стъпки

Видео: Безжична комуникация SmartHome: Екстремните основи на MQTT: 3 стъпки
Видео: SMLIGHT SLZB-06 - Zigbee координатор с Ethernet, wi-fi, POE и USB C, zigbee2mqtt и ZHA 2024, Ноември
Anonim
Безжична комуникация SmartHome: Екстремните основи на MQTT
Безжична комуникация SmartHome: Екстремните основи на MQTT
Безжична комуникация SmartHome: Екстремните основи на MQTT
Безжична комуникация SmartHome: Екстремните основи на MQTT

Основи на 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, не забравяйте да ме последвате за още уроци.

Препоръчано: