Разработка интеллектуального шлюза системы умного дома на базе микроконтроллера для связи конечных устройств и облачной платформы интернета вещей

Разработка интеллектуального шлюза системы умного дома на базе микроконтроллера для связи конечных устройств и облачной платформы интернета вещей

В статье описывается авторский взгляд на разработку интеллектуального шлюза системы умного дома, к которому подключаются устройства, данные которых обрабатываются и передаются в облачные сервисы или передаются на конечные устройства, что позволяет осуществить локальную автоматизацию.

Авторы публикации

Рубрика

IT-Технологии

Журнал

Журнал «Научный лидер» выпуск # 33 (78), август ‘22

Дата публицакии 13.08.2022

Поделиться

Объектом исследования является система интеллектуального шлюза системы умного дома на базе микроконтроллера для связи конечных устройств и облачной платформы интернета вещей.

Задачами являются:

1) Анализ рынка на уже готовые аналогичные решения.

2) Составление технической документации для работы оборудования.

3) Написание метода по отправки данных на облачное решение от ThingWorx.

4) Написания логики соединения умных устройств между интеллектуальными узлами.

5) Создание графического интерфейса для работы с устройством и выполнения автоматизации устройств.

В данной работы было принято решение использовать одноплатный микрокомпьютер «Raspberry Pi», потому что его технические характеристики, небольшой размер и возможность запускать программный код на скриптовом языке «Python» идеально подходит для разработки графического приложения по автоматизации умных устройств и вывода информации в интернет.

По мере увеличения широты применения Интернета вещей будет генерироваться все больше данных в процессе работы, всё больше новых компаний и устройств по реализации продукции умных вещей, внедрение этих устройств требует не мало времени и ресурсов, хорошую часть времени занимает написание программного кода для автоматизации и работы данных устройств. Таким образом, создание системы локальной автоматизации с помощью соединения логических связей между узлами, а именно устройствами, логическими операциями и константами, на сегодняшний день необходимо для быстрого развёртывания систем интернета вещей.

Многие крупные промышленные предприятия уже установили оборудование Интернета вещей на своих производственных линиях. Средний и мелкий бизнес, а также компании агропромышленного комплекса и сферы ЖКХ пока не готовы выделять соответствующие бюджеты. Но будущее однозначно за новыми инновационными технологиями, поэтому их повсеместное использование лишь вопрос времени, тем более если устройство будет технологически удобным, то компаниям будет выгодно покупать их, чем у конкурентов.

Анализируя рынок были рассмотрены технологии и методы, которые другие компании используют при разработке умных устройств. На данный момент в России можно приобрести готовые умные устройства и шлюз для работы с ними у нескольких крупных компаний: Xiaomi, NooLite, Redmond, Rubetek. При анализе рынка не были учтены частные компании, у которых нужно оставлять заявку для приобретения устройств.

В сравнении цен на шлюз для управления устройствами через мобильное приложение или интернет, дешевле всего продавала компания REDMOND, единственный минус устройств, что они подключаются к шлюзу только по Bluetooth, что уменьшает радиус действия оборудования в пределах нескольких комнат, но зато у компании REDMOND большой выбор умных вещей, начиная от розеток, удлинителей, камер, детектором дыма, настенным выключателем и заканчивая чайниками, фенами, утюгами и мультиварками.

Следующей компанией является Xiaomi, у данный компании качественные устройства с красивым дизайном и качественной работой, в список умных устройств входят: умная розетка, датчик протечки, датчик открытия дверей и окон, датчик дыма. Умные устройства подключаются к управляющему шлюзу с помощью протокола ZigBee, шлюз подключается к сети Wi-Fi и после передаёт данные в облако и появляется возможность управлять устройствами через интернет.

У компании Rubetek к центру управления устройства присоединяются по протоколу Z-Wave на частоте 869 Мгц, а также данные передаются по радиочастоте 433 МГц, передают данные на устройства, подключенные к Wi-Fi, после на главный шлюз, а он в свою очередь выводит данные на облачное решение. Из минусов пользователи отмечают проблемы в работе приложения и сильное разряжение аккумулятора от его использования, из плюсов, что устройства работают с голосовым помощником Алиса. На рисунке 2 показана схема подключения устройств компании Rubetek.

Ethernet шлюз PRF-64 от компании nooLite, из плюсов компании то, что они продают адаптер MTRF-64 USB, который позволяет подключать и управлять устройствами через компьютер с USB. Устройства работают на 433 МГц радиочастоте.

Проанализировав рынок устройств и шлюзов, было принято решение разрабатывать собственный шлюз, который позволял бы подключать готовые устройства от разных компании, например, по протоколу ZigBee от Xiaomi и компании nooLite через адаптер MTRF-64.

Для реализации системы интеллектуального шлюза умного дома на базе микроконтроллера для связи конечных устройств и облачной платформы интернета вещей было выбрано использовать одноплатный микрокомпьютер на операционной системе Linux, а именно Raspberry Pi, в нём уже встроен Wi-Fi модуль для подключения к облачной платформе ThingWorx, есть Bluetooth для подключения к умным устройствам, а также цифровые входы для датчиков, аналоговые данные с АЦП ADS1115. Для присоединения умных устройств от компании nooLite будет использоваться адаптер MTRF-64 который позволяет подключаться по радиочастоте к уже готовым умным вещам. Для того, чтобы это всё взаимодействовало и работало, программный код будет писаться на языке программирования Python, а управляться система будет через графический интерфейсам, написанный на том, что языке, что и основная программа по автоматизации и взаимодействии с устройствами. На рисунке 1, показана схема устройства.

Рисунок 1 – Схема подключения устройств к шлюзу

Смоделированное устройство предоставлено на рисунке 2.

Рисунок 2 – Смоделированное устройство

Для отправки данных на ThingWorx необходимо отправлять REST API запросы, используя образец URL-адреса: <http/https:><хост:порт>/Thingworx/<набор_сущностей>/<сущность>/<набор_характеристик>/<характеристика>?<параметры_запроса>. Данный образец позволяет отправлять данные на сервер и принимать новые данные в ответе на запрос.

Для начала необходимо собирать url ссылку в которой данные для подключения заполняет пользователь один раз через программу: appKey, serviceName, thingName. Необходимо также создавать отдельный поток, чтобы работа приложения не блокировалась, в котором интервально раз в 1 секунду собираем данные для отправки в формате JSON и отправляем на сервер.

При разработке приложения была написана логика соединения устройств между логическими узлами, начинается всё с того, что существует два словаря, первый содержит в себе коды доступа к словарю и классы по логическим узлам, а второй содержит коды доступа к словарю и непосредственно экземпляры классов по узлам, что в первом случае позволяет на сцене графика реализовывать много логических узлов, а во втором случае позволяет однозначно объявлять устройства и при перетаскивании заново умного устройства на сцену будет пересоздаваться старое, что не позволит создавать на сцене дубликатов.

У каждого класса есть сокеты, которые принимают в себя значения с других узлов, сокеты - это места для возможности соединения логическими связями между другими узлами.

Для работы и автоматизации устройств был разработан графический интерфейс, при запуске которого появляется главная форма, на которой расположено подвижные виджеты: логические узды, узлы подключенных вещей, чтобы была возможность перемещать их в области экрана для удобства использования или вынести в отдельное окно. Также располагается область для графиков на котором можно рисовать связи между устройствами. С помощью возможности drag and drop – перетащить и отпустить мы можем переносить логические узлы и узлы подключенных вещей, настраивать связи между ними и логическую работу, например, на рисунке 3 показан графический интерфейс после связи устройств по сценарию, если входные данные с датчика освещенности больше порогового значения равного 70, то мы включаем лампу, и если данные с датчика температуры больше значения равного 10, то включаем вентилятор. Пример программы по автоматизации показан на рисунке 3.

Рисунок 3 – Графический интерфейс после связи устройств по сценарию

Таким образом был спроектирован интеллектуальный модуль-сервер для подключения умных устройств, используя плату Raspberry Pi, модуль MTRF-64, АЦП ADS1115.

Был разработан графический интерфейс по автоматизации устройств с помощью логических узлов и по отправке данных на платформу ThingWorx.

Таким образом, в ходе написания данной работы, были выполнены все задачи, которые были поставлены: обобщение, обработка и анализ рынка на уже готовые аналогичные решения, составление технической документации для работы оборудования, написание метода по отправки данных на облачное решение от ThingWorx, написания логики соединения умных устройств между интеллектуальными узлами, создание графического интерфейса для работы с устройством и выполнения автоматизации устройств.

Список литературы

  1. Bell Charles, MySQL for the Internet of Things: Data management for sensors and connected devices/ Charles Bell — New York: Business Media New York, 2016. — 317 с. — ISBN 978-1-4842-1293-6.
  2. Интерфейс ThingWorx REST API// support.ptc.com [Электронный ресурс]. - Режим доступа: https://support.ptc.com/help/thingworx_hc/thingworx_8_hc/ru/index.html#page/ThingWorx%2FHelp%2FREST_API%2FThingWorxRESTAPI.html%23, свободный. (Дата обращения 30.03.2022).
  3. Как работают датчики в IoT и чем они отличаются друг от друга// mcs.mail.ru [Электронный ресурс]. – Режим доступа: https://mcs.mail.ru/blog/datchiki-v-iot-ot-termometrov-do-umnyh-ustrojstv, свободный. (Дата обращения 25.03.2022).
  4. Лучано Рамальо - Python. К вершинам мастерства / Пер. с англ. Слинкин А. А. – М.: ДМК Пресс, 2016. – 768 с.: ил.
  5. Одноплатные компьютеры на Linux, первое знакомство с Raspberry Pi// ph0en1x.net [Электронный ресурс]. – Режим доступа: https://ph0en1x.net/85-tiny-computers-on-linux-raspberry-pi-howto.html, свободный. (Дата обращения 04.04.2022).
  6. Протоколы интернета вещей: как обмениваются данными IoT-устройства, серверы и пользовательские приложения// zen.yandex.ru [Электронный ресурс]. – Режим доступа: https://zen.yandex.ru/media/mcs/protokoly-interneta-vescei-kak-obmenivaiutsia-dannymi-iotustroistva-servery-i-polzovatelskie-prilojeniia-5fa3c1d1f278637dd47ca387, свободный. (Дата обращения 30.03.2022).
  7. Программирование платы raspberry pi через язык python// electronicparts.ru [Электронный ресурс]. – Режим доступа: https://electronicparts.ru/uroki/programmirovanie-platy-raspberry-pi-cherez-yazyk-python.html, свободный. (Дата обращения 04.04.2022).
  8. Умный дом: делаем систему управления домом на расстоянии// electronicparts.ru [Электронный ресурс]. – Режим доступа: https://electronicparts.ru/uroki/umnyj-dom-delaem-sistemu-upravleniya-domom-na-rasstoyanii.html, свободный. (Дата обращения 25.03.2022).
  9. Dmitry G. Korzun. The Smart-M3 Platform: Experience of Smart Space Application Development for Internet of Things / Dmitry G. Korzun, Alexey Kashevnik, Sergey Balandin, Alexander V. Smirnov // Internet of Things, Smart Spaces, and Next Generation Networks and Systems. – 2015. – Vol. 9247. – P. 56- 67.
  10. Gastón C. Hillar, Internet of Things with Python: Interact with the world and rapidly prototype IoT applications using Python/ Gastón C. Hillar— Birmingham: Packt Publishing Ltd, 2016. — 365 с. — ISBN 978-1-78588-138-1.

Предоставляем бесплатную справку о публикации,  препринт статьи — сразу после оплаты.

Прием материалов
c по
Осталось 5 дней до окончания
Размещение электронной версии
Загрузка материалов в elibrary