Uploaded by lavrentev.projector

ISC Internet of things fv

advertisement
интернет вещей
Интернет вещей
для энтузиастов:
метеостанция с визуализацией
Интернет вещей развивается сегодня благодаря не только компаниям,
предлагающим решения, специально предназначенные для работы
в Интернете вещей, но и энтузиастам, которым остро необходимы новые
инструменты работы с взаимодействующими «умными» вещами.
Ключевые слова: Интернет вещей
Keywords: Arduino, Internet of Things, InterSystems
Эдуард Лебедюк
«У
мные» вещи обычно содержат
сенсоры для получения данных,
исполнительные устройства для
влияния на внешнюю среду, модуль связи
для передачи данных в центр управления
сетью и управляющий микроконтроллер.
Еще совсем недавно для создания подобных
устройств необходимо было знать основы
микроэлектроники, уметь паять и обладать
различными навыками работы с «железом», однако с появлением решений наподобие открытой аппаратно-программной
платформы Arduino ситуация изменилась.
Ориентированные на непрофессиональных
разработчиков инструменты построения
систем автоматики позволяют снизить
порог вхождения в сферу программирования микроконтроллеров. Наличие элементарных средств разработки, простота
создания схем без пайки и большой выбор
готовых совместимых модулей вызвали
пополнение армии энтузиастов, которым
по плечу генерировать новые идеи и создавать устройства, способные работать
в среде Интернета вещей [1].
Однако разработка устройств на базе
Arduino — только часть работы. Нужно
еще обеспечить хранение показаний, получаемых от многочисленных сенсоров,
сбор статистики и визуализацию данных,
поэтому следующим шагом после создания собственно устройства является организация сохранения данных во внешней базе. Для этого можно использовать
карты памяти, передачу через Ethernet и
Wi-Fi на удаленные носители и т. п., но все
это требует либо дополнительного оборудования, либо написания большого объема
кода. Минимально необходимая конфигурация — прямая связь через COM-порт, по
которому одновременно может осуществляться и питание устройства.
Одним из вариантов выбора СУБД,
а также сервера приложений может быть
InterSystems Cachе´, которая работает с различными типами устройств, получая данные напрямую через COM-порт без какихлибо промежуточных уровней (веб-сервер,
файлы и пр.). Это важно, так как большинство устройств Интернета вещей [2], как
правило, имеют ограниченный объем памяти для хранения программ. СУБД работает с такими физическими и логическими
устройствами, как диски, магнитные ленты, файлы, терминалы, TCP- и COM-порты
и т. д., а поставляемый вместе с Cachе´ модуль аналитики BI DeepSee позволяет визуализировать полученные данные.
Взаимодействие с СУБД Cachе´ осуществляется средствами языка Cachе´ ObjectScript
[3] и выполняется в пять этапов: с помощью команды OPEN регистрируется факт
получения текущим процессом доступа к
устройству; устройство инициируется как
текущее с помощью команды USE; по команде READ данные считываются с устройства,
а по команде WRITE передаются на устройство; переключение на другое устройство
осуществляется командой USE; работа с
устройством завершается по команде CLOSE.
На практике этот процесс выглядит так.
На Arduino собирается схема для чтения
данных из COM-порта, включающая светодиод на указанное число миллисекунд. Для
работы с такой схемой требуется простая
программа на Cи, принимающая данные по
COM-порту и при передаче новой строки
интерпретирующая ее как число миллисекунд, на которые включается светодиод. Для подключения этой схемы к СУБД
Cachе´ нужно написать метод SendSerial
обращения к COM-порту [4].
Затем к Arduinо подключается клавиатура и начинается передача данных, например, для обеспечения дополнительной
аутентификации пользователя с помощью делегации авторизации — механизма, позволяющего получать сведения для
авторизации пользователя из внешних
источников вроде «умных» вещей или би-
Сервер
«Умная» вещь
СУБД Cachе´
База данных
телемерии
Wi-Fi
Ethernet
BI Deep See
Сеть
com порт
Ethernet
Метеостанция на Arduino
Прошивка
(Си-код)
Датчик освещенности
«Умная» вещь
Датчики температуры
и влажности
Рис. 1. Пример подключения метеостанции к Интернету вещей
34 • Открытые системы • 01/2016 • www.osmag.ru
интернет вещей
ометрического сканера отпечатков пальцев. В [4] приведен пример кода на Cи для
подключения к COM-порту и отправки по
нему символов, нажатых на клавиатуре, а
в СУБД Cachе´ требуется теперь написать
соответствующий метод ReceiveOneLine
подключения к порту и получения строки.
Все эти действия можно считать подготовкой для сбора «умного» устройства,
способного работать в среде Интернета вещей. В качестве примера такого устройства
можно рассмотреть метеостанцию, собирающую базовую информацию об окружающей среде: температуру, влажность
и освещенность. Такие устройства могут
применяться в «умных» домах, которым
требуется знать температуру за окном для
управления различными системами дома.
На рис. 1 приведена примерная схема подключения метеостанции к Интернету вещей.
Для сборки метеостанции используются фоторезистор (датчик освещенности)
и датчик DHT11 для измерения температуры и влажности. На рис. 2 приведена
схема подключения этих сенсоров к модулю Arduino.
После загрузки кода на Arduino модуль
начинает посылать данные на COM-порт
в формате H=34.0;T=24.0;LL=605. Где H —
влажность (от 0 до 100%); T — температура в градусах Цельсия; LL — освещенность
Рис. 3. Пример визуализации данных
от метеостанции
в условных единицах
(от 0 до 1023). Всю
эту телеметрию надо
загрузить в СУБД
Cachе´ — для этого потребуется хранимый
класс Arduino.Info,
записывающий полученные от метео- Рис. 2. Метеостанция в сборе
станции сведения и
время их получения. В Arduino.Info можно ства благодаря обработке всех доступных
еще добавить метод ReceiveSerial, который сведений. И все же сколь бы «умными» ни
в бесконечном цикле принимает данные в были устройства, успех будет возможен
формате Arduino и преобразует их в объ- лишь при условии массовости их проникекты класса Arduino.Info. После этого надо новения во все сферы жизни, и тогда козапустить модуль Arduino и выполнить на личество перейдет в качество.
терминале метод ReceiveSerial:
***
do ##class(Arduino.Info).ReceiveSerial()
СУБД InterSystems Cachе´ может служить
Для визуализации полученных данных основой для создания развитой инфраможно использовать модуль BI DeepSee из структуры Интернета вещей, позволяя
СУБД Cachе´, а также открытые утилиты: обеспечить связь с устройствами различREST API MDX2JSON (предоставление ин- ных типов, что открывает широкие возможформации об объектах DeepSee в формате ности для организации взаимодействия
JSON) и DeepSee Web (клиент для визуали- с прикладными устройствами и управзации данных) [5]. При этом разработчику ления ими. Аналитические возможности
не обязательно знать SQL или разбираться этой СУБД позволяют в реальном времев тонкостях настройки СУБД — имеется ни визуализировать данные, полученные
готовый класс с данными (в нашем при- от устройств. Чем шире будет сеть таких
мере это Arduino.Info), свойства которого «умных» устройств, созданных в том чивыбираются в мастере визуализации в ка- сле и энтузиастами, тем больше появится
честве мер и измерений OLAP-куба. Затем возможностей для анализа и визуализации
на основе OLAP-куба строится сводная различной информации, тем ближе бутаблица — также в визуальном средстве дет индустрия к решению главной задачи
с помощью простого «перетаскивания» Интернета вещей — широкой интеграции
на строки и столбцы необходимых мер и технологий с повседневной жизнью. 
измерений куба. На последнем этапе выбирается один из способов визуализации: Литература
график, таблица, круговая диаграмма, вре- 1. Михаил Борисов. Доступный мониторинг
производственных процессов // Открытые
менной ряд и др.
Все данные, полученные от метеостан- системы.СУБД. — 2015. — № 3. — С. 13–15.
ции, могут быть сведены в одну панель URL: http://www.osp.ru/os/2015/03/13046892
(рис. 3), содержащую графики яркости (дата обращения: 18.03.2016).
(хорошо виден рассвет в районе 5:50), тем- 2. Рой Уонт, Бил Шилит, Скотт Дженсон.
Механизмы Интернета вещей // Открытые
пературы и влажности.
Метеостанции — лишь полезная вещь системы.СУБД. — 2015. — № 1. — С. 38–42.
для дома, но с привязкой к географиче- URL: http://www.osp.ru/os/2015/01/13045328/
ским координатам такие устройства мо- (дата обращения: 15.03.2016).
гут непрерывно передавать информацию 3. URL: http://docs.intersystems.com/
метеорологам, которые получат возмож- cache20152/csp/docbook/DocBook.UI.Page.
ность создавать точные прогнозные мо- cls?KEY=GIOD_iodevcomms (дата обращедели. Другой пример — фитнес-трекеры, ния: 18.03.2016).
собирающие данные о пройденном рас- 4. URL: https://github.com/intersystemsстоянии, но если добавить к ним датчики ru/ArduinoSnippets/blob/master (дата обпульса, температуры и систематизировать ращения: 18.03.2016).
собранные сведения, то персональная ме- 5. URL: https://github.com/intersystems-ru
дицина получит инструмент раннего выяв- (дата обращения: 18.03.2016).
ления заболеваний. Таким образом, «умные» метеостанции и лампочки — всего Эдуард Лебедюк (lebeduk93@gmail.com) —
лишь предвестники изменений, которые инженер-консультант, корпорация
обещает Интернет вещей, способный ра- InterSystems, аспирант РЭУ
дикально улучшить качество жизни обще- им. Г. В. Плеханова (Москва).
www.osmag.ru • 01/2016 • Открытые системы • 35
Download