В серверной ночами время течет медленно, поэтому приходится чем-то заниматься, чтобы занять голову. Кто-то собирает марки, кто-то строит домики из спичек, а Энди прорыл в стене огромную дыру… Ой, это другая клевая история. А вот наша – вообще огонь. Так получилось, что у нас, что ни сотрудник – то и швец, и жнец, и на дуде игрец. И однажды наш системный администратор Дмитрий решил разработать систему мониторинга температуры для ректификационной колонны. А вот что из этого вышло:
«Ректификационная колонна – это такое устройство в самогонном аппарате для разделения бинарных и многокомпонентных жидкостей на фракции. Для управления процессами при ректификации через веб-интерфейс.
Изначально проект был на плате ESP8266 (выглядит так). Она хороша тем, что идет с IEEE 802.11 – набором стандартов связи для коммуникации в беспроводной локальной зоне (Wi-Fi). Это значит, что не нужно думать, как организовать связь микроконтроллера с интернетом – все уже в комплекте.
Чертеж прототипа был сделан в Sprint Layout, а методом лазерно-утюжной технологии изготовлен и опытный образец. После всех доработок продукт отправился на производство, кто бы мог подумать, куда – правильно, в Китай 😅.
Что касается платы, то ее размеры подбирались под дисплей LCD2004. Это облегчало монтаж в корпус.
Telegram-bot – всему голова
В один прекрасный день мы с руководителем задумались, как было бы здорово оптимизировать систему мониторинга температуры в серверной комнате. И тут меня осенило, а почему бы не использовать этот проект и для серверной, зря, что ли, изучал программирование на C++? Сказано – сделано.
В итоге программа работает так:
⚙️ при подаче питания на микроконтроллер выполняется инициализация дисплея LCD2004 и датчика DS18B20;
⚙️ идет подключение к Wi-Fi;
⚙️ если подключение успешно, отправляем в чат TG-бота «Bot started up»;
⚙️ идет мониторинг t, значение фиксируется в зависимости от условий.
Чем выше температура, тем чаще нужно отправлять уведомления, чтобы понять, надо ли бежать в серверную или еще можно попить кофе. Алгоритм следующий:
🔧 при t < 18 градусов – оповещение раз в час;
🔧 при t = 18-20 – раз в полчаса;
🔧 при t = 20-25 – раз в 10 минут;
🔧 при t > 25 – уведомление идет каждую минуту.
Реализовать такой алгоритм было для меня одной из самых сложных задач. А тут еще сразу при тестировании выяснилось, что если первое сообщение было получено при t до 18 градусов, то повторное оповещение будет только через час, независимо от того, насколько изменится температура. А час – это вечность, если «железо» кипит. Пришлось редачить код: ввести переменные, куда будут записываться время от старта ПО и время, прошедшее с момента отправки последнего сообщения. На каждой итерации – проверка текущего диапазона t.
В итоге получили небольшой и надежный код. Используем уже два таких устройства почти год – полет нормальный.
Отдельно хочу выразить огромную благодарность Арсению Акимову, который проконсультировал меня по многим вопросам относительно программирования на C++ и в целом оказал поддержку».
#софт
@aerodisk_official — трезво про импортозамещение в ИТ
«Ректификационная колонна – это такое устройство в самогонном аппарате для разделения бинарных и многокомпонентных жидкостей на фракции. Для управления процессами при ректификации через веб-интерфейс.
Изначально проект был на плате ESP8266 (выглядит так). Она хороша тем, что идет с IEEE 802.11 – набором стандартов связи для коммуникации в беспроводной локальной зоне (Wi-Fi). Это значит, что не нужно думать, как организовать связь микроконтроллера с интернетом – все уже в комплекте.
Чертеж прототипа был сделан в Sprint Layout, а методом лазерно-утюжной технологии изготовлен и опытный образец. После всех доработок продукт отправился на производство, кто бы мог подумать, куда – правильно, в Китай 😅.
Что касается платы, то ее размеры подбирались под дисплей LCD2004. Это облегчало монтаж в корпус.
Telegram-bot – всему голова
В один прекрасный день мы с руководителем задумались, как было бы здорово оптимизировать систему мониторинга температуры в серверной комнате. И тут меня осенило, а почему бы не использовать этот проект и для серверной, зря, что ли, изучал программирование на C++? Сказано – сделано.
В итоге программа работает так:
⚙️ при подаче питания на микроконтроллер выполняется инициализация дисплея LCD2004 и датчика DS18B20;
⚙️ идет подключение к Wi-Fi;
⚙️ если подключение успешно, отправляем в чат TG-бота «Bot started up»;
⚙️ идет мониторинг t, значение фиксируется в зависимости от условий.
Чем выше температура, тем чаще нужно отправлять уведомления, чтобы понять, надо ли бежать в серверную или еще можно попить кофе. Алгоритм следующий:
🔧 при t < 18 градусов – оповещение раз в час;
🔧 при t = 18-20 – раз в полчаса;
🔧 при t = 20-25 – раз в 10 минут;
🔧 при t > 25 – уведомление идет каждую минуту.
Реализовать такой алгоритм было для меня одной из самых сложных задач. А тут еще сразу при тестировании выяснилось, что если первое сообщение было получено при t до 18 градусов, то повторное оповещение будет только через час, независимо от того, насколько изменится температура. А час – это вечность, если «железо» кипит. Пришлось редачить код: ввести переменные, куда будут записываться время от старта ПО и время, прошедшее с момента отправки последнего сообщения. На каждой итерации – проверка текущего диапазона t.
В итоге получили небольшой и надежный код. Используем уже два таких устройства почти год – полет нормальный.
Отдельно хочу выразить огромную благодарность Арсению Акимову, который проконсультировал меня по многим вопросам относительно программирования на C++ и в целом оказал поддержку».
#софт
@aerodisk_official — трезво про импортозамещение в ИТ