В IT после тридцати
(первая часть рассказа о том, как я в 39 лет перековался из менеджеров в разработчики)
В ноябре 2019 друзья с работы позвали меня поучаствовать в хакатоне.
Им было легко говорить: оба успешные разработчики.
А я то время работал менеджером по рискам в IT-инфраструктуре и никаких мыслей о том, чтобы стать разработчиком, у меня не было.
«Я же не программист, какая от меня польза?»
«Это промышленный хакатон, поможешь нам придумать решение. Ещё можешь слайды рисовать, кофе приносить и т.д.»
Сказано — сделано. Перед регистрацией команды нужно было выбрать задачу. В списке были такие варианты:
- с помощью машинного зрения определять, надел рабочий ли каску (Фосагро)
- проверить, не придавила ли свиноматка поросят (Русагро)
- проверить, ровные ли вышли батончики твикс (Марс)
- и ещё 9 задач.
Как ни соблазнительно было заняться спасением поросят, ребята не обладали компетенциями в машинном обучении. Так что мы взяли задачу от УГМК: создать систему умного вентилирования шахт для снижения затрат на электроэнергию.
Дело в том, что горно-добывающие компании много денег тратят на электричество для вентиляции (до трети общих расходов). Хотелось бы поиграть с этими параметрами и сэкономить деньги бизнесу (но при этом не угробить жизни людей).
Мы накидали сценарии для нашей системы, продумали архитектуру. Модель шахты свели к одному боковому туннелю (штреку). Взяли с собой парочку raspberry pi, светодиодов, паяльник и изоленту. А датчиками углекислого газа и bluetooth-маяками нас снабдили на месте. И началась потеха!

Хакатон проходил в субботу и воскресенье, в офисе Крока в Москве. Безлимитная еда и напитки, полный зал айтишников в свитерах. Мне это напомнило школьную олимпиаду по программированию, только для взрослых и с чипсами на столах.
Времени было мало: Артём писал логику системы на питоне, Валера паял контакты и пытался подружить систему с датчиками, я как мог описывал фичи. Сделали работающий прототип, в качестве вентилятора подключили кулер, дующий на салфетку.

Идея была в следующем: насыщаем весь туннель датчиками и маяками. По датчикам начинаем копить статистику загазованности. По умолчанию вентиляция в туннеле включена 100% времени. Давайте это время уменьшим? Например, пока в туннеле нет людей, вентиляцию выключим.А перед началом смены включим, с заданным интервалом.Накапливаем исторические данные — интервал становится точнее.

Резервирование и безопасность — используем принцип «в любой непонятной ситуации врубай вентиляцию». Каждый шахтёр на себе носит прибор (на основе Raspberry Pi). Если по расписанию людей в шахте быть не должно, но система показала, что в туннель зашёл человек — автоматически врубится вентиляция, заморгают красные лампочки и загудит сирена. Логику продублировали на сам носимый прибор, т.е. даже при потере связи с центральным сервером вентиляция включится.
Работа нашлась и для меня: я сверстал простую html-страничку-дэшборд, и даже прикрутил к нему анимацию с движущимся шахтёром. На схеме туннеля было видно расположение маяков и видно, в какую сторону идёт человек.

Осталось добавить веселья на демонстрации. После объяснения решения мы надели на Валеру каску и отправили в «туннель» в коридоре. На экране было видно как он идёт. Дальше Валера дышал в датчик, повышал уровень углекислого газа, включалась сирена и начинал адски дуть кулер.
Решение понравилось судьям и заказчику, мы попали в число финалистов.

В этот момент, где-то в глубине мозга у меня зародилась мысль, что быть программистом здорово.