← Назад к списку статей

Образование, Xeoma и Arduino

Статья от пользователя Xeoma

Prigodin Grigory, Jan 2022

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

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

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

Реализуя концепцию «экспериментального полигона», обратим внимание на статью Xeoma и системы умный дом, в которой приведен способ наложения информации на изображение, получаемое с камеры. Данные о состоянии окружающей среды получаются через сеть Internet от погодной станции Netatmo и передаются в модуль HTTP Маркировщик

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

Устранить это затруднение нам позволит маленькая микросхема-микроконтроллер, установленный на плате из семейства Arduino — платформы, сделавшей доступным процесс создания простых цифровых электронных устройств множеству людей из различных сфер деятельности.

В нашем случае Arduino взаимодействует c сервером Xeoma через упомянутый ранее модуль HTTP Маркировщик. Данный модуль доступен в редакциях «Standart», «Pro» и пробной версии Xeoma. Для его активации необходимо встроить соответствующую иконку в цепочку между модулями «Универсальная камера» и «Просмотр и архив».

Использование программы для видеонаблюдения Xeoma совместно с микро-контроллером Arduino
При необходимости ограничения доступа к модулю, в его свойствах следует задать учетные данные — имя пользователя и пароль, а так же изменить TCP-порт через который внешнее устройство будет командовать «HTTP-Маркировщиком». Важно понимать, что сохранение видеопотока с наложенными данными требует предварительного перекодирования. В случае применения IP-камеры для этого не следует разрешать опцию «Использовать запись H.264 потока в Архив без перекодирования» в модуле «Универсальная камера». При этом нагрузка на процессор, который обслуживает серверную часть Xeoma, увеличится.

Для работы модулю должна быть передана команда и данные, которые необходимо разместить в кадре. Так как передача осуществляется по локальной сети (LAN), то к ней необходимо подключить и плату Arduino.

Для начала создадим устройство с проводным подключением по сети Ethernet – установим на Arduino Uno дополнительный Ethernet Shield и снабдим наше устройство датчиком освещенности BH1750, работающим по шине I2C. Простой скетч проиллюстрирует принцип взаимодействия Arduino и Xeoma:

Использование программы для видеонаблюдения Xeoma совместно с микро-контроллером Arduino

Затем модифицируем первоначальный вариант для получения более мобильного устройства на базе контроллера ESP32. Для разнообразия BH1750 заменим на датчик температуры DS18B20. Изменения в коде незначительны:

Использование программы для видеонаблюдения Xeoma совместно с микро-контроллером Arduino

В завершение увеличим потенциал «экспериментального полигона» за счет модуля «Отправка HTTP команд», который по локальной сети совершает определенный пользователем GET/POST запрос на узел Arduino, непосредственно управляющий физическим устройством – микро-насосом, лампой или зуммером.

Для этого в цепочку, после любого модуля, генерирующего события, перетаскивается соответствующая иконка. В свойствах модуля указывается URL, по которому Xeoma будет соединяться при совершении заданного условия, например – при начале события. Для модуля
«Детектор движения» таковым событием является обнаружения изменения в кадре.

В нашем примере к детектору подключается два модуля «Отправка HTTP команд», которые будут работать по возникновению и завершению события соответственно. Таким образом, Arduino будет уведомлена о начале движения и его завершении. Её реакцией станет включение и выключение сигнального светодиода, расположенного на плате.

Использование программы для видеонаблюдения Xeoma совместно с микро-контроллером Arduino

Для проверки используем ESP32 со следующим скетчем :

Использование программы для видеонаблюдения Xeoma совместно с микро-контроллером Arduino

Как видно из приведенных выше примеров – объединение системы видеонаблюдения Xeoma и микроконтроллерных устройств на базе Arduino (а также, конечно же, других) не представляет особой сложности как для опытных специалистов в электронике, так и для совершающих свои первые шаги на этом пути, позволяя совершить много важных и интересных открытий.

*Орфография и пунктуация автора сохранены.

21 января 2022

Читайте также:
Работа на Linux
Работа на микрокомпьютере
Видеонаблюдение своими руками
Лайфхаки от Xeoma — советы и секретные возможности системы видеонаблюдения