Инженерный тур. 3 этап
С увеличением численности населения мегаполисы сталкиваются с проблемами многокилометровых пробок, нехватки парковочных мест и ухудшения экологии из-за транспортной инфраструктуры.
Участникам третьего этапа предлагается разработать микрорайон умного города, оснащенный технологиями, которые помогут снизить трафик, оптимизировать использование парковок и повысить экологическую устойчивость. Решение должно включать:
- умные светофоры,
- фонари,
- парковки,
- шлагбаумы,
которые интегрируются в единую городскую сеть для обмена данными и быстрого реагирования на экстренные ситуации. Команда должна реализовать эти системы, включая локальный сервер для мониторинга и рекомендаций жителям, чтобы сделать инфраструктуру удобной и эффективной.
С ростом численности населения становится все более остро проблема многокилометровых пробок, нехватки парковочных мест и траты времени на дорогу у большинства жителей мегаполисов. Следствием также является загрязнение воздуха, а обеспечение транспортной инфраструктуры увеличивает энергопотребление.
Умные сервисы для мониторинга систем в микрорайонах города — это идеальное решение для комфортной среды проживания людей и транспортной инфраструктуры, где технологии работают на их удобную логистику, эргономичность, экологичность и безопасность.
Так, американский город Сан-Диего решил проблему многокилометровых пробок путем создания крупнейшей городской платформы «Интернет вещей». Ее основу составляет система освещения из 3500 уличных фонарей, оборудованных датчиками.
Каждый такой фонарь теперь не только светит, но и видит, слышит город благодаря встроенным сенсорам — камерам, микрофонам, динамикам и датчикам окружающей среды. На основе этих данных автоматическая система управляет потоком трафика и отслеживает достаточность свободных мест на парковках, регулирует интенсивность освещения улиц и контролирует качество воздуха.
А как внедрить технологии в каждый российский город? Именно такая задача и поставлена перед инженерными командами: создать микрорайон в составе умного города с транспортной системой, включающей в себя умные светофоры и фонари, парковки и шлагбаумы. Каждый микрорайон является частью общей технологичной системы умного города с единым центром и логистикой, позволяющей получить, обработать и реагировать на экстренные ситуации.
Система микрорайона должна отслеживать и анализировать данные датчиков и реагировать на запросы городского центра по тому или иному обращению, будь то корректировка освещения или изменение графика перекрытия переезда.
Умные светофоры и парковки позволят сократить трафик на дорогах и упростят взаимодействие жильцов с микрорайоном.
Создаваемая система, охватывающая все необходимые системы для комфортной жизни, позволит применить ее в любом городе России, которые в перспективе, благодаря новому поколению инженеров, могут стать «умными».
Количество участников в команде: 4–5 человек.
В команде должно быть не менее двух программистов для следующего функционала:
- Программист электронных устройств.
- Программист верхнего уровня (веб-система).
- Программист взаимодействия электронных устройств (тестировщик).
Кроме того, два инженера, которые способны не только собирать конструкции, но в целом координировать проект и продемонстрировать его работоспособность:
- Архитектор систем/проектировщик/монтажник.
- Тим-лидер.
Количество тех или иных ролей в каждой команде может быть свободным и не фиксируется строго за человеком, принявшем на себя определенную роль.
- Микрорайон для каждой команды, монтирующийся в полигон умного города. Полигон включает трассу с черной линией и места для парковки электрокаров, железную дорогу, проходящую через микрорайоны всех команд.
- Трафик в виде мобильных роботов «Динамика ЙоТик М1».
- Набор электроники (контроллер «ЙоТик 32», исполнительные устройства, датчики, крепеж, провода, отвертки) для создания инфраструктуры микрорайона для каждой команды.
- Ноутбуки.
- Роутер Wi-Fi на 2,4 ГГц с доступным интернетом.
- ПО Arduino IDE.
- Паяльные станции.
- Набор инструментов для монтажа объектов микрорайона (монтаж проводов, сверление и др.).
Каждой команде требуется собрать и запрограммировать несколько составляющих своего микрорайона умного города с транспортной системой.
Требуется собрать и запрограммировать умный светофор, который выполняет контроль трафика, переключая с определенным интервалом разрешающий и запрещающий сигнал светофора. При помощи датчика расстояния он определяет количество электрокаров, которые проехали через него за определенное время.
Необходимо посылать уведомления на локальный сервер: при обнаружении чрезмерного загрязнения воздуха отправлять на сервер состояние светофора, данные о загрязнении воздуха и показателях температуры, влажности воздуха.
Нужно собрать и запрограммировать умный фонарь, который будет автоматически включать свет при обнаружении низкой освещенности, отправлять на сервер команды информацию об освещенности и состоянии света (включен/выключен).
Необходимо собрать и запрограммировать умную парковку, которая будет постоянно общаться с сервером команды и отправлять данные:
- о занятости парковки,
- об уровне зарядки электрокара,
- о времени до полной зарядки,
кроме того, посылать уведомления на сервер команды о нештатных ситуациях: возникновении возгорания или утечки жидкого электролита из батареи электромобиля.
Требуется собрать и запрограммировать умный шлагбаум, способный получать данные с городского сервера о расписании поезда и за некоторое время до его приезда перекрывать переезд, а также получать с соседнего шлагбаума данные о задержке поезда и вводить корректировки для своего расписания.
Локальный сервер собирает и отображает информацию о состоянии различных устройств и датчиков, кроме того, дает рекомендации жителям. Он выполняет следующие функции:
- Мониторинг состояния устройств и датчиков. Сервер отображает текущее состояние всех подключенных устройств и собирает данные с датчиков.
- Рекомендации для жителей. На основе температуры и влажности сервер советует, какую одежду стоит надеть. Учитывая уровень загрязнения воздуха, он предлагает воздержаться выходить из дома или отменить поездку в загрязненный район.
- Жители могут отслеживать время зарядки своего электрокара и заранее бронировать парковочное место.
- Шлагбаум, основываясь на расписании и задержке прибытия поезда на соседний переезд, производит корректировки для точного перекрытия переезда без задержек.
- При обнаружении нештатных ситуаций, например, возгорании парковочного места, камера, которая расположена на улице с происшествием, производит фотофиксацию и выводит ее на сервер.
Необходимо подключить локальный сервер к городскому для обеспечения возможностей:
- изменять уровень освещения в районе;
- увеличивать интервал, разрешающий движение с одной из улиц на светофоре;
- выводить фотографии на сервер для фиксации нештатных ситуаций;
- получать данные с соседнего шлагбаума о времени, на которое опоздал поезд, с целью корректировки времени перекрытия железнодорожного переезда;
- бронировать парковочное место, отслеживать занятость парковок и уровень заряда электрокара, который стоит на парковке.
Локальный сервер должен посылать усредненные показатели по району и отправлять рекомендации о том:
- какую одежду лучше надеть, основываясь на значениях температуры и влажности;
- следует ли воздержаться от выхода на улицу вследствие загрязнения воздуха;
- стоит ли поехать в район с повышенным уровнем загазованности.
Задания оцениваются жюри в соответствии с описанием критерия. Количество баллов за выполненное задание прописано и не делится на два в случае, если команда выполнила задание всего на половину.
| Баллы | Критерии | |
|---|---|---|
Максимальное количество баллов: 161 Примечание: задания делятся на два типа:
Выполненные демонстрационные задания показывают в начале защиты: это правильно настроенные процессы отслеживания датчиков, управление исполнительными устройствами. Баллы за сценарные задания начисляются за правильное взаимодействие умных устройств микрорайона с локальным сервером, локальный сервер, в свою очередь, должен взаимодействовать и подчиняться городскому серверу. |
||
| Демонстрационные задания | ||
| Мониторинг системы | 0–20 | 1 балл за каждое устройство, которое корректно изменяет свое состояние с определенным интервалом (определяется участником), состояние устройства дублируется в монитор порта. 1 балл за каждое устройство, которое корректно выводит измеряемые показатели в монитор порта с единицами измерения. Если устройство не имеет единиц измерения (например, датчик протечки), то в монитор порта выводится его состояние: есть протечка/нет протечки. Умный фонарь:
Умная парковка:
Умная камера: вывод видеопотока с камеры на веб-сайт. Умный железнодорожный переезд:
Умный светофор:
|
| Максимально баллов: 20 | ||
| Сценарные задания | ||
Сценарий № 1 Контроль трафика |
||
| Цветовые сигналы | 0–6 | Для каждой стороны светофора:
Соответствие сигналов с расположением светодиода:
|
| Определение трафика | 0–4 | Для каждого датчика расстояния:
|
| Загрязнение воздуха | 0–2 | Пункты не суммируются:
где 0 — нет загрязнения, 3 — предельный уровень загрязнения. |
| Определение параметров окружающей среды | 0–2 |
|
| Изменение периодов разрешающего сигнала для определенной улицы | 0–4 |
|
| Отправка данных на локальный сервер | 0–8 |
|
| Максимально баллов: 26 | ||
Сценарий № 2 Автоматическое освещение |
||
| Определение уровня освещенности | 0–5 | Для каждого датчика освещенности:
|
| Автоматическое включение света | 0–5 | Для каждого светодиодного модуля:
|
| Отправка данных на локальный сервер | 0–6 |
|
| Максимально баллов: 16 | ||
Сценарий № 3 Умная парковка |
||
| Определение занятости парковки | 0–1 |
|
| Определение протечки | 0–1 |
|
| Определение возгорания | 0–1 |
|
| Определение заряда электрокара | 0–3 | Известно, что электрокар для зарядки заезжает на парковку с зарядом батареи равным 0%, зарядка до 100% занимает ровно 1 мин (60 с):
|
| Отправка данных на локальный сервер | 0–8 |
|
| Максимально баллов: 14 | ||
Сценарий № 4 Перекрытие железнодорожного переезда |
||
| Определение поезда | 0–1 |
|
| Включение запрещающего сигнала переезда | 0–1 |
|
| Изменение состояния шлагбаума | 0–2 |
|
| Обмен данными с локальным серверов | 0–5 |
|
| Перекрытие ж/д переезда | 0–6 | Пункты не суммируются:
|
| 0–1 | За 15 с до прибытия поезда:
|
|
| 0–2 | За 10 с до прибытия поезда:
|
|
| Открытие ж/д переезда | 0–2 |
|
| Максимально баллов: 20 | ||
Сценарий 5 Локальный сервер |
||
| Вывод информации с умных устройств в веб-интерфейс | 0–10 | 0 — вывод информации с датчиков умных устройств не производится. 1 балл за каждый выведенный показатель:
|
| Отправка команд на умные устройства | 0–10 | 0 — локальный сервер не имеет возможности отправлять команды управления на умные устройства. 2 балла за каждый пункт:
Примечание: управление устройствами с локального сервера становится активным, если разрешающий флаг для управления устройствами, полученный с городского сервера, активен. |
| Рекомендации для жителей | 0–7 | Рекомендации по одежде:
|
| 0–5 | Рекомендации о воздержании выхода на улицу, приезда в город:
Примечание: всего существует 3 вида рекомендаций, их содержание определяется командой, по содержанию можно четко понять, насколько высок уровень загрязнения. |
|
| Фотофиксация нештатных ситуаций | 0–5 | Нештатной ситуацией считается возгорание или протечка на умной парковке, превышение уровня загрязнения воздуха до предельного уровня:
|
| Максимально баллов: 37 | ||
Сценарий № 6 Городской сервер |
||
| Обмен данными с городским сервером | 0–2 |
|
| Взаимодействие с умным фонарем | 0–6 |
|
| Взаимодействие с умным светофором | 0–4 |
|
| Фотофиксация нештатных ситуаций | 0–5 |
|
| Взаимодействие с умным шлагбаумом | 0–3 |
|
| Взаимодействие с умной парковкой | 0–5 |
|
| Рекомендации для жителей | 0–3 |
|
| Максимально баллов: 28 | ||
Дополнительные баллы*
- При использовании проводов для подключения оборудования, которые были спаяны самостоятельно, присваивается 5 баллов. Количество баллов зависит от чистоты пайки (от 1 до 5 баллов).
- Автоматическая отправка в гугл-таблицу лог процессов.
Каждой команде была выдана часть микрорайона, которая составляла \(1/8\) от общего полигона.
Так как задача комплексная, рекомендуется придерживаться следующего алгоритма решения поставленных задач (см. рис. 7.2).
Сначала нужно проанализировать состав и расположение умных устройств на выданной части полигона. Все шлейфы и кабели питания паяются участниками самостоятельно, поэтому необходимо придумать длину кабелей и оптимизировать их количество.
Пайка должна быть аккуратной, потому что при равенстве баллов данный критерий тоже оценивается. Кроме того, аккуратность коммуникаций поможет самим участникам не запутаться в том, что куда подключается. После сборки и пайки все устройства располагаются непосредственно на полигоне для дальнейшего тестирования и представления экспертам
Параллельно сборке идет процесс программирования отдельных устройств. Необходимо определить состав устройства, прописать его логику работы и способ взаимодействия с локальным сервером.
Чтобы обеспечить эффективное взаимодействие умных устройств с локальным сервером, изначально важно четко сформулировать принципы коммуникации и перечень передаваемых параметров. Необходимо также определиться с рабочим режимом каждого устройства — управляется ли оно исключительно локальным сервером, либо функционирует согласно заранее заданному сценарию, который активируется с локального сервера.
После того как внутренняя инфраструктура связи между устройствами микрорайона успешно развернута и функционирует стабильно, следующим этапом производится подключение к городскому серверу посредством предварительно заданной конфигурации сети и протокола UDP.
Для этого требуется разработать специализированный обработчик входящих пакетов от городского сервера, обеспечивающий корректный прием и обработку поступающих данных. Дополнительно необходимо настроить регулярную отправку показателей состояния микрорайона на городской сервер.
После успешного установления обмена данными с городским сервером управление устройствами микрорайона осуществляется исходя из специального флага («тумблера»), определяющего режим управления:
- когда флаг отключен, устройства функционируют автономно, либо регулируются непосредственно с локального сервера («рычажки»);
- когда флаг активирован, контроль над устройствами переходит к городскому серверу, позволяя осуществлять удаленное управление с использованием соответствующих настроек («рычажков») на стороне города.
Повышение точности прогнозирования расписания поездов требует регулярного получения с городского сервера актуальной информации о текущих отклонениях от графика, происходящих на смежных участках путей. Здесь особую роль играет протокол UDP, благодаря которому возможна одновременная передача данных сразу с нескольких контроллеров, расположенных в различных районах (всего восемь), объединенных единым сервером.
Для обработки этих сведений целесообразно создать структуру данных, представленную массивом из восьми элементов, каждый из которых соответствует отдельному району. Основываясь на полученных значениях отклонений, алгоритм сможет своевременно корректировать график движения собственного района, улучшая общую эффективность транспортного процесса.
Программный код эталонных решений этой задаче можно найти по ссылкам ниже:
- Репозиторий от разработчиков задачи: https://gitverse.ru/volkova_k/NTO.
- Работу команды-победителя «Коломята» можно найти по ссылке: https://disk.yandex.ru/d/Fb9cysw_DUZnUA.
Важнейший элемент работы — постоянное самостоятельное тестирование своей работы. Полезным будет изучение современной методологии разработки программного кода, например, Scrum. При испытаниях с большим объемом работы и ограниченным временем грамотное управление ресурсами и четкая постановка задач может сыграть ключевую роль.
- Курс «Введение в программирование (C++)»: https://stepik.org/course/363/promo#toc.
- Курс «Программирование на языке C++»: https://stepik.org/course/7/promo.
- Уроки Arduino и робототехники от AlexGyver: https://alexgyver.ru/lessons/.
- Онлайн-симулятор контроллера Йотик 32: https://books.mgbot.ru/books/wokwi.html#1.


