IoT в моей жизни. Кейс №2 — Датчик углекислого газа | OTUS

Курсы

Программирование
PHP Developer. Basic
-50%
Специализация PHP Developer iOS Developer. Professional Golang Developer. Professional Python Developer. Basic iOS Developer. Basic Архитектура и шаблоны проектирования MS SQL Server Developer Highload Architect Специализация C++ Developer Cloud Solution Architecture Специализация Java-разработчик Android Developer. Professional Программист С Специализация Fullstack developer VR/AR - разработчик Microservice Architecture Software Architect Team Lead Web-разработчик на Python Rust Developer NoSQL C# Developer. Professional Разработчик программных роботов (RPA) на базе UiPath и PIX Kotlin Backend Developer React.js Developer Node.js Developer Flutter Mobile Developer Symfony Framework C# Developer. Basic Unreal Engine Game Developer Groovy Developer
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

IoT в моей жизни. Кейс №2 — Датчик углекислого газа

В предыдущей заметке шёл разговор о создании Agile-gong'a – системы автоматизированного звукового оповещения в офисе. Вторым полезным решением для нас оказалось подключение датчика углекислого газа. Также подключили по MQTT. Опять же, схема сборки железа тривиальная.

43k2fe4eelk5xoqim_glfewy_mq_1-1801-9742ad.png

Да, кстати, реализацией как первого, так и второго кейса мы занимались в рамках хакатона внутри компании. И никто из нас в работу железа не погружался, да и необходимости в этом не возникало.

qhgot85lm95m8o27rriitmpixrm_1-1801-d05724.jpeg

Дальше порядок действий такой же. Модель включает параметр ppm (1000 ppm = 0,1% содержания СО2), который передает устройство, но оно не слишком наглядное, поэтому тут же в модели выведен еще один параметр — процент содержания CO2. Он рассчитывается как значение ppm, деленное на 10000.

5sucsnqy_5nc89zfwu8ttjxqwqy_1-1801-16a441.png

Здесь вы также можете заметить две команды на включение лампочки. Ее решили использовать для индикации. А управляем мы ей, конечно, из автомата платформы. После подключения устройства отображение параметров следующее. Эти значения принимаются и отображаются в режиме реального времени, но также можно посмотреть прошлые накопленные пакеты в истории или отобразить график изменения параметра за определенный период.

brgmn_3f4e0l3y6kfdbuz6tdkci_1-1801-2ddacb.png

Автомат для этого объекта работает следующим образом. В верхнем состоянии происходит выключение лампочки. В нижнем — запуск таймера на минуту и включение лампочки. Переход из первого состояния во второе происходит по событию получения данных от устройства с выполнением условия, что значение ppm больше 600 единиц. Возврат (переход из второго состояния в первое) происходит по срабатыванию таймера.

ucelokruw3sr2vid9wi7sqb7lfa_1-1801-97efcd.png

У вас может возникнуть два вопроса.

  1. А зачем автомат? Не проще ли на самой железке прописать такие условия? Ведь тут все так просто.
  2. Зачем тут таймер?

На самом деле, польза от автомата есть даже в таком простом кейсе. Этот датчик с лампочкой на время отладки я положила у себя на столе, и каждый раз, когда приходила на работу, лампочка загоралась, так как значение порога в автомате было довольно низкое. Какое-то время я пробовала разные значения в автомате и в итоге пришла к оптимальному значению в 600 единиц. Для подбора нужного значения мне нужно было просто поменять значение в автомате и сохранить его. Никакой перепрошивки устройства. А если это устройство мы перенесем в кабинет, где нужно поддерживать лучшее состояние воздуха и необходимо частое проветривание, то значение можно опять же просто поменять. Быстро и удобно.

Здесь поставлен таймер на минуту. Это необходимо, чтобы в течение минуты мы находились в состоянии высокого уровня CO2 и не реагировали на то, что какое-то время продолжает приходить высокое значение. Иначе, мы бы постоянно мигали лампочкой, совершая переходы до тех пор, пока состояние воздуха не нормализуется. Вы уже могли догадаться, что сделать переход в начальное состояние можно и по-другому. Также по событию получения данных, но в которых выполняется противоположное условие — ppm<600. Тогда мы будем находиться во втором состоянии ровно до тех пор, пока не придет нормальное значение.

Все статьи на эту тему: - "IoT в моей жизни. Кейс №1 — Agile-gong"; - "IoT в моей жизни. Кейс №2 — Датчик углекислого газа"; - "IoT в моей жизни. Кейс №3 — СКУД"; - "IoT в моей жизни. Кейс №4 — Умный огород".

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться