Internet of Things.
Впервые концепция сети смарт-устройств была сформулирована еще в 1982 году в Carnegie Mellon University. Там же был установлен, первый подключенный к сети интернет прибор — автомат по продаже прохладительных напитков. Особенность, которого заключалась в том, что он мог сообщать информацию о запасах и наличии охлажденной продукции. [4]
В настоящее время индустрия IoT переживает бурный рост. По прогнозам аналитической компании, Gartner, Inc. в 2017 году во всем мире задействовано 8,4 млрд устройств. Что на 31% больше, по сравнению с 2016 г., в 2020 году это число достигнет 20,4 млрд., в промышленности 5,8 млрд. [11]. А объем рынка в 2020 году составил почти 7 трлн. долларов [6]. Рост обусловлен тем, что IoT это следующий шаг развития всемирной сети интернет. И эта концепция способна повлиять на нашу жизнь так же сильно как появление сети интернет. Компанией Cisco был предложен термин Internet of Everything (IoE), IoE является следующей ступенью развития, которая: «Объединит людей, данные и вещи, чтобы сделать сетевые соединения более актуальными и ценными». [7]
Тем не менее IoT, молодая концепция, для ее реализации необходимо объединить в единую сеть как можно больше устройств. На данный момент многие компании создают устройства, воплощающие свое видение IoT как для простых пользователей, так и для промышленности. Но все они стараются привязать потребителя к своим собственным экосистемам, как правило, такие устройства не обладают оптимальным набором интерфейсов, и основаны на микропроцессорах, что ведет к излишнему удорожанию и энергопотреблению. Поэтому нами предложена идея создание открытой платформы, способной работать с любым видом датчиков, снабженной основными интерфейсами передачи данных, максимально открытой и доступной большинству пользователей (рис.1).
Рис. 1 блок схема контроллера для осуществления концепции IoT
Данное устройство представляет собой модуль — расширение для популярной платформы arduino и имеет:
· Совместимость как с arduino Mega так и с arduino DUE;
· Встроенный интерфейс Ethernet на базе Wiznet5500;
· 16 опторазвязанных дискретных входов;
· 16 аналоговых входоввыходов с защитой от перенапряжения;
· 8 ШИМ выходов, 4 из них с мощными выходными ключами (до 500 мА/50В) + 4 дискретных мощных выхода;
· 8 аналоговых входов/выходов без защиты;
· 1-Wire интерфейс для подключения термодатчиков;
· Интерфейс DMX-512 вход и выход для управления освещением;
· Интерфейс Modbus RTU.
Необходимо отметить наличие разъема формата UEXT. Данный разъем представляет собой совокупность интерфейсов: I2C, SPI, UART. При помощи данного разъема можно подключить большое количество различных модулей расширений. Основополагающей особенностью предложенного вида устройств, является возможность подключения к локальной или глобальной сети. Безусловно, наиболее качественное и стабильное соединение с сетью, осуществляется посредством кабеля, но не всегда есть такая возможность. В качестве альтернативы можно использовать беспроводные технологии: Wi-Fi, ZegBee[8,9] или Z-Wave[10]. Подключить модули необходимые для работы с беспроводными интерфейсами или другой периферией можно через разъем UEXT.
Разработка программного обеспечения.
Написание программного обеспечения является трудоемким процессом, требующим определенной квалификации. Что, безусловно, усложнит процесс внедрения устройства или сделает его не возможным.
В качестве примера разберем процесс написания программы для включенияотключения освещения помещения при срабатывании датчика движения. Для обмена сообщениями датчик и управляющее устройство будут использовать сетевой протокол MQTT работающий поверх TCPIP. Общение происходит по принципу издатель-подписчик. Можно выделить следующие плюсы использования протокола MQTT [11,12]:
- Прост в использовании. Протокол представляет собой программный блок без лишней функциональности, который может быть легко встроен в любую сложную систему;
- Шаблон проектирования издатель-подписчик удобен для большинства решений с датчиками. Дает возможность устройствам выходить на связь и публиковать сообщения, которые не были заранее известны или предопределены;
- Лёгок в администрировании;
- Снижена нагрузка на канал связи;
- Работа в условиях постоянной потери связи или других проблем на линии;
- Нет ограничений на формат передаваемых данных.
Итак, прежде всего нам понадобиться настроить блоки перед построением логики программы. Для этого перетаскиваем на рабочее поле:
- Output mqtt;
- Input mqtt;
- Function switch;
- Function change;
- Function trigger.
Далее необходимо произвести настройку этих блоков и соединить все блоки вместе как это показано на рис. 3.
Рис. 3 Программа включения света по срабатыванию датчика движения в среде NodeRed
В результате, если указанные устройства подключены к сети, при срабатывании датчик движения отправит сообщение в топик zavod/cex_1/LightMotionSensor. Подписанный на это сообщение блок Function switch сгенерирует сообщение YES. Так как диммер принимает на вход только числовые значения от – 0 (выключен) до 100 (максимальная яркость) то необходимо изменить формат этого сообщения на числовой. Для этого используется блок Function change. После которого произойдет отправка сообщения в топик zavodcex_1Dimmer о включении диммера. Теперь свет будет включаться при срабатывании датчика движения. Данная программа кажется не завершенной, поэтому добавим блок Function trigger. Который после 60 секунд отправит диммеру сообщение о выключении (рис.4).
Рис 4. Программа включения света по срабатыванию датчика движения и отключение по таймеру 60 сек. в среде NodeRed
Вывод
Из вышеизложенного можно сделать вывод, что программирование контроллеров упрощается, сегмент Internet of Things активно развивается, с каждым годом будет появляться все больше устройств, взаимодействующих между собой. В данной ситуации важно иметь максимально доступное устройство с оптимальным набором переферии, для облегчения внедрения Internet of Things.
Список используемых источников
http://www.linux.com/NEWS/21-OPEN-SOURCE-PROJECTS-IOT.
http://www.informationweek.com/strategic-cio/executive-insights-and-innovation/internet-of-things-done-wrong-stifles—innovation/a/d-id/1279157
6. Meulen R. «Gartner Says 8.4 Billion Connected «Things» Will Be in Use in 2017, Up 31 Percent From 2016». [Электронный ресурс]: /режим доступа: https://www.gartner.com/newsroom/id/3598917.
7. Karl A. «Internet of Everything vs. Internet of Things». [Электронный ресурс]: /режим доступа: http://techgenix.com/internet-of-everything.
9. Лекнин В. «Сети ZigBee. Зачем и почему?» [Электронный ресурс]: /режим доступа: https://habr.com/post/155037.
12. «Что такое MQTT и для чего он нужен в IIoT?» Описание протокола MQTT. [Электронный ресурс]: /режим доступа: https://ipc2u.ru/articles/prostye-resheniya/chto-takoe-mqtt.
13. «Gartner Says 5.8 Billion Enterprise and Automotive IoT Endpoints Will Be in Use in 2020». [Электронный ресурс]: /режим доступа: https://www.gartner.com/en/newsroom/press-releases/2019-08-29-gartner-says-5-8-billion-enterprise-and-automotive-io.
DEVELOPMENT OF CONTROLLER WITHIN THE FRAMEWORK OF THE INTERNET OF THINGS CONCEPT
A.A. Makarov, E.M.Yumashev (Russian State University them. A. N. Kosygin)
The article considers the device that allows to facilitate the implementation of the concept of Internet of Things in industry and everyday life. And also shows how to write a program in a high-level environment NodeRed.
Key words: Internet of Things, arduino.