search icon search icon ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ

Инженерный тур. 3 этап

Общая информация

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

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

  • умные светофоры,
  • фонари,
  • парковки,
  • шлагбаумы,

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

Легенда задачи

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

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

Так, американский город Сан-Диего решил проблему многокилометровых пробок путем создания крупнейшей городской платформы «Интернет вещей». Ее основу составляет система освещения из 3500 уличных фонарей, оборудованных датчиками.

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

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

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

Умные светофоры и парковки позволят сократить трафик на дорогах и упростят взаимодействие жильцов с микрорайоном.

Создаваемая система, охватывающая все необходимые системы для комфортной жизни, позволит применить ее в любом городе России, которые в перспективе, благодаря новому поколению инженеров, могут стать «умными».

Требования к команде и компетенциям участников

Количество участников в команде:  4–5 человек.

В команде должно быть не менее двух программистов для следующего функционала:

  • Программист электронных устройств.
  • Программист верхнего уровня (веб-система).
  • Программист взаимодействия электронных устройств (тестировщик).

Кроме того, два инженера, которые способны не только собирать конструкции, но в целом координировать проект и продемонстрировать его работоспособность:

  • Архитектор систем/проектировщик/монтажник.
  • Тим-лидер.

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

Оборудование и программное обеспечение
  1. Микрорайон для каждой команды, монтирующийся в полигон умного города. Полигон включает трассу с черной линией и места для парковки электрокаров, железную дорогу, проходящую через микрорайоны всех команд.
  2. Трафик в виде мобильных роботов «Динамика ЙоТик М1».
  3. Набор электроники (контроллер «ЙоТик 32», исполнительные устройства, датчики, крепеж, провода, отвертки) для создания инфраструктуры микрорайона для каждой команды.
  4. Ноутбуки.
  5. Роутер Wi-Fi на 2,4 ГГц с доступным интернетом.
  6. ПО Arduino IDE.
  7. Паяльные станции.
  8. Набор инструментов для монтажа объектов микрорайона (монтаж проводов, сверление и др.).
Описание задачи

Каждой команде требуется собрать и запрограммировать несколько составляющих своего микрорайона умного города с транспортной системой.

Задание 1. Контроль трафика

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

Необходимо посылать уведомления на локальный сервер: при обнаружении чрезмерного загрязнения воздуха отправлять на сервер состояние светофора, данные о загрязнении воздуха и показателях температуры, влажности воздуха.

Задание 2. Автоматическое освещение

Нужно собрать и запрограммировать умный фонарь, который будет автоматически включать свет при обнаружении низкой освещенности, отправлять на сервер команды информацию об освещенности и состоянии света (включен/выключен). 

Задание 3. Умная парковка

Необходимо собрать и запрограммировать умную парковку, которая будет постоянно общаться с сервером команды и отправлять данные:

  • о занятости парковки,
  • об уровне зарядки электрокара,
  • о времени до полной зарядки,

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

Задание 4. Перекрытие железнодорожного переезда

Требуется собрать и запрограммировать умный шлагбаум, способный получать данные с городского сервера о расписании поезда и за некоторое время до его приезда перекрывать переезд, а также получать с соседнего шлагбаума данные о задержке поезда и вводить корректировки для своего расписания.

Задание 5. Локальный сервер

Локальный сервер собирает и отображает информацию о состоянии различных устройств и датчиков, кроме того, дает рекомендации жителям. Он выполняет следующие функции:

  • Мониторинг состояния устройств и датчиков. Сервер отображает текущее состояние всех подключенных устройств и собирает данные с датчиков.
  • Рекомендации для жителей. На основе температуры и влажности сервер советует, какую одежду стоит надеть. Учитывая уровень загрязнения воздуха, он предлагает воздержаться выходить из дома или отменить поездку в загрязненный район.
  • Жители могут отслеживать время зарядки своего электрокара и заранее бронировать парковочное место.
  • Шлагбаум, основываясь на расписании и задержке прибытия поезда на соседний переезд, производит корректировки для точного перекрытия переезда без задержек.
  • При обнаружении нештатных ситуаций, например, возгорании парковочного места, камера, которая расположена на улице с происшествием, производит фотофиксацию и выводит ее на сервер.

Задание 6. Городской сервер

Необходимо подключить локальный сервер к городскому для обеспечения возможностей:

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

Локальный сервер должен посылать усредненные показатели по району и отправлять рекомендации о том:

  • какую одежду лучше надеть, основываясь на значениях температуры и влажности;
  • следует ли воздержаться от выхода на улицу вследствие загрязнения воздуха;
  • стоит ли поехать в район с повышенным уровнем загазованности.
Система оценивания

Задания оцениваются жюри в соответствии с описанием критерия. Количество баллов за выполненное задание прописано и не делится на два в случае, если команда выполнила задание всего на половину.

Таблица: Критерии оценивания
Баллы Критерии

Максимальное количество баллов: 161

Примечание: задания делятся на два типа:

  • демонстрационные,
  • сценарные.

Выполненные демонстрационные задания показывают в начале защиты: это правильно настроенные процессы отслеживания датчиков, управление исполнительными устройствами.

Баллы за сценарные задания начисляются за правильное взаимодействие умных устройств микрорайона с локальным сервером, локальный сервер, в свою очередь, должен взаимодействовать и подчиняться городскому серверу.

Демонстрационные задания
Мониторинг системы 0–20

1 балл за каждое устройство, которое корректно изменяет свое состояние с определенным интервалом (определяется участником), состояние устройства дублируется в монитор порта.

1 балл за каждое устройство, которое корректно выводит измеряемые показатели в монитор порта с единицами измерения. Если устройство не имеет единиц измерения (например, датчик протечки), то в монитор порта выводится его состояние: есть протечка/нет протечки.

Умный фонарь:

  • Включение/выключение белых светодиодов на каждом модуле MGL-RGB3. (максимум 4 балла)
  • Вывод информации об уровне освещенности с каждого датчика MGS-L75. (максимум 4 балла)

Умная парковка:

  • Вывод расстояния с датчика расстояния MGS-D20.
  • Вывод наличия/отсутствия протечки с датчика протечки MGS-WT1.
  • Вывод уровня инфракрасного и видимого излучения в монитор порта c датчика пламени.

Умная камера: вывод видеопотока с камеры на веб-сайт.

Умный железнодорожный переезд:

  • Вывод данных с датчика расстояния MGS-D20.
  • Включение/выключение красного сигнала светофора на модуле светодиодов MGL-RGB3.
  • Вращение сервопривода MG90S из положения «перекрыто» в положение «открыто».

Умный светофор:

  • Вывод информации с каждого датчика расстояния MGS-D20. (максимум 2 балла)
  • Переключение между 3 сигналами светофора (красный — верхний, желтый — средний, зеленый — нижний) на адресной светодиодной ленте WS2812B.
  • Вывод информации с датчика концентрации СО и летучих органических соединений MGS-CO30.
  • Вывод информации о температуре, влажности и атмосферном давлении с датчика MGS-THP80.
Максимально баллов: 20
Сценарные задания

Сценарий № 1

Контроль трафика

Цветовые сигналы 0–6

Для каждой стороны светофора:

  • 0 — адресная светодиодная лента не имеет возможности отображать цветовые сигналы или не запрограммирована.
  • 1 — адресная светодиодная лента изменяет цветовой сигнал, согласно последовательности: красный — 15 с, желтый — 2 с, зеленый — 15 с.
  • 2 — каждому световому сигналу соответствует свой светодиод на ленте, при этом два и более светодиода гореть не должны.

Соответствие сигналов с расположением светодиода:

  • красный — нижний/левый светодиод;
  • желтый — средний светодиод;
  • зеленый — верхний/левый светодиод.
Определение трафика 0–4

Для каждого датчика расстояния:

  • 0 — датчики расстояния, расположенные на улицах, не имеют возможности определять трафик, не запрограммированы.
  • 2 — датчики расстояния определяют индивидуально для каждой улицы количество электрокаров за 1 мин.
Загрязнение воздуха 0–2

Пункты не суммируются:

  • 0 — датчик концентрации \(\ce{CO2}\) и летучих органических веществ не имеет возможности определять уровень загрязнения воздуха или не запрограммирован.
  • 1 — датчик определяет повышение концентрации \(\ce{CO2}\) и летучих органических веществ.
  • 2 — датчик определяет повышение концентрации \(\ce{CO2}\) и летучих органических веществ и присваивает ему уровень загрязнения воздуха по шкале 0–3,

где 0 — нет загрязнения, 3 — предельный уровень загрязнения.

Определение параметров окружающей среды 0–2
  • 0 — датчик ТВА не имеет возможности определить температуру, влажность воздуха и атмосферное давление.
  • 2 — датчик ТВА определяет температуру, влажность воздуха и атмосферное давление.
Изменение периодов разрешающего сигнала для определенной улицы 0–4
  • 0 — увеличение времени разрешающего сигнала светофора со стороны улицы с большим трафиком не производится.
  • 2 — производится увеличение времени разрешающего сигнала светофора со стороны улицы с большим трафиком.
  • 2 — при изменении времени разрешающего сигнала светофора на определенной улице на противоположной улице разрешающий сигнал светофора становится меньше на то же время (не допускается включение разрешающего сигнала светофора со стороны двух улиц).
Отправка данных на локальный сервер 0–8
  • 0 — данные не отправляются на локальный сервер.
  • 2 — на локальный сервер отправляются сведения о состоянии уровня загрязнения воздуха.
  • 2 — отправляются данные о состоянии разрешающего сигнала светофора для каждой улицы.
  • 2 — на локальный сервер отправляются данные о температуре, влажности воздуха и атмосферном давлении.
  • 2 — на локальный сервер отправляются данные о количестве электрокаров за 1 мин на каждой улице.
Максимально баллов: 26

Сценарий № 2

Автоматическое освещение

Определение уровня освещенности 0–5

Для каждого датчика освещенности:

  • 0 — датчик освещенности не имеет возможности определять уровень освещенности на улице.
  • 1 — датчик освещенности определяет низкую освещенность на улице.
Автоматическое включение света 0–5

Для каждого светодиодного модуля:

  • 0 — светодиодный модуль не включает белую подсветку при обнаружении низкой освещенности.
  • 1 — светодиодный модуль автоматически включает свет при обнаружении низкой освещенности.
Отправка данных на локальный сервер 0–6
  • 0 — данные не отправляются на локальный сервер.
  • 3 — отправляются данные об уровне освещенности на улице с каждого фонаря.
  • 3 — отправляются данные о состоянии каждого фонаря (вкл/выкл).
Максимально баллов: 16

Сценарий № 3

Умная парковка

Определение занятости парковки 0–1
  • 0 — датчик расстояния не имеет возможности определить занятость парковки.
  • 1 — датчик расстояния определяет занятость парковки.
Определение протечки 0–1
  • 0 — датчик протечки не имеет возможности определить протечку.
  • 1 — датчик протечки определяет протечку.
Определение возгорания 0–1
  • 0 — датчик пламени не имеет возможности определить возгорание.
  • 1 — датчик пламени определяет возгорание.
Определение заряда электрокара 0–3

Известно, что электрокар для зарядки заезжает на парковку с зарядом батареи равным 0%, зарядка до 100% занимает ровно 1 мин (60 с):

  • 0 — умная парковка не имеет возможности определить уровень заряда электрокара по шкале 0–100%.
  • 3 — умная парковка фиксирует, в какой момент электрокар заехал на парковку, принимает это за старт зарядки и рассчитывает уровень заряда, основываясь на том, что зарядка до 100% занимает ровно 1 мин.
Отправка данных на локальный сервер 0–8
  • 0 — умная парковка не отправляет данные на локальный сервер.
  • 2 — умная парковка отправляет на локальный сервер состояние парковки (занята/не занята).
  • 2 — при нахождении электрокара на парковке на сервер передается уровень заряда электрокара в диапазоне 0–100%.
  • 2 — отправляется состояние протечки (есть/нет).
  • 2 — отправляется состояние возгорания (есть/нет).
Максимально баллов: 14

Сценарий № 4

Перекрытие железнодорожного переезда

Определение поезда 0–1
  • 0 — датчик расстояния не имеет возможности определить появление поезда.
  • 1 — датчик расстояния определяет появление поезда.
Включение запрещающего сигнала переезда 0–1
  • 0 — модуль светодиодов не имеет возможности включить запрещающий сигнал (красный свет).
  • 1 — модуль светодиодов включает запрещающий сигнал (красный свет).
Изменение состояния шлагбаума 0–2
  • 0 — сервопривод не имеет возможности опустить/поднять шлагбаум.
  • 1 — сервопривод имеет возможность опустить/поднять шлагбаум.
  • 1 — положение шлагбаума должно быть либо четко горизонтальным, либо вертикальным, допускается погрешность сервопривода.
Обмен данными с локальным серверов 0–5
  • 0 — умный шлагбаум не имеет возможности отправлять и получать данные с локального сервера.
  • 1 — с локального сервера принимается информация о времени прибытия поезда.
  • 1 — с локального сервера принимается индекс отклонения поезда от расписания.
  • 3 — при обнаружении отклонения поезда на сервер отправляет индекс отклонения в секундах, при задержке индекс положительный, при раннем приезде индекс отрицательный.
Перекрытие ж/д переезда 0–6

Пункты не суммируются:

  • 0 — умный шлагбаум не имеет возможности перекрыть железнодорожный переезд.
  • 3 — перекрытие железнодорожного переезда, используя только расписание.
  • 6 — перекрытие железнодорожного переезда, используя расписание с учетом индекса отклонения с предыдущего переезда.
0–1

За 15 с до прибытия поезда:

  • 0 — модуль светодиодов не имеет возможности включить запрещающий сигнал (красный свет).
  • 1 — модуль светодиодов включает запрещающий сигнал (красный свет).
0–2

За 10 с до прибытия поезда:

  • 0 — сервопривод не имеет возможности опустить/поднять шлагбаум.
  • 1 — сервопривод имеет возможность опустить/поднять шлагбаум.
  • 1 — положение шлагбаума должно быть либо четко горизонтальным, либо вертикальным, допускается погрешность сервопривода.
Открытие ж/д переезда 0–2
  • 0 — умный шлагбаум не открывает переезд.
  • 1 — после проезда поезда через 3 с железнодорожный переезд открывается.
  • 1 — после проезда поезда через 3 с выключается запрещающий сигнал светофора.
Максимально баллов: 20

Сценарий 5

Локальный сервер

Вывод информации с умных устройств в веб-интерфейс 0–10

0 — вывод информации с датчиков умных устройств не производится.

1 балл за каждый выведенный показатель:

  • Умный фонарь: 4 показателя освещенности.
  • Умный светофор:

    • температура, влажность воздуха и атмосферное давление.
    • степень загрязнения воздуха.
    • количество электрокаров в минуту для каждой улицы.
  • Умная парковка:

    • наличие возгорания.
    • наличие протечки.
    • занятость парковки (свободно/занято/забронировано).
    • уровень заряда электрокара.
  • Умный шлагбаум:

    • время до закрытия шлагбаума.
    • индекс отклонения от расписания.
Отправка команд на умные устройства 0–10

0 — локальный сервер не имеет возможности отправлять команды управления на умные устройства.

2 балла за каждый пункт:

  • Умный светофор: возможность изменить длительность разрешающего сигнала светофора для определенной улицы.
  • Умный фонарь:

    • изменение режима работы для каждого фонаря: ручной/автоматический;
    • изменение состояния каждого фонаря вкл/выкл (не должно быть доступно в автоматическом режиме).
  • Умный шлагбаум:

    • изменение режима работы для шлагбаума: ручной/автоматический;
    • изменение состояния шлагбаума открыто/закрыто (не должно быть доступно в автоматическом режиме).

Примечание: управление устройствами с локального сервера становится активным, если разрешающий флаг для управления устройствами, полученный с городского сервера, активен.

Рекомендации для жителей 0–7

Рекомендации по одежде:

  • 0 — рекомендации отсутствуют, основываясь на температуре и влажности.
  • 2 — при рекомендации учитывается влажность воздуха.
  • 2 — при рекомендации учитывается температура воздуха.
  • 3 — существует 3 вида рекомендаций, содержание рекомендации определяется командой, по содержанию можно четко понять, какие показатели завышены.
0–5

Рекомендации о воздержании выхода на улицу, приезда в город:

  • 0 — рекомендации отсутствуют, основываясь на уровне загрязнения воздуха.
  • 5 — на основе уровня загрязненности даются рекомендации.

Примечание: всего существует 3 вида рекомендаций, их содержание определяется командой, по содержанию можно четко понять, насколько высок уровень загрязнения.

Фотофиксация нештатных ситуаций 0–5

Нештатной ситуацией считается возгорание или протечка на умной парковке, превышение уровня загрязнения воздуха до предельного уровня:

  • 0 — при обнаружении нештатных ситуаций не производится фотофиксация и отправка фото в телеграм-бот.
  • 5 — при обнаружении нештатной ситуации производится фотофиксация и отправка фото в телеграм-бот.
Максимально баллов: 37

Сценарий № 6

Городской сервер

Обмен данными с городским сервером 0–2
  • 0 — локальный сервер не имеет возможности получать и отправлять данные на городской сервер.
  • 2 — локальный сервер отправляет информацию с умных устройств, получает команды для управления, данные с других микрорайонов.
Взаимодействие с умным фонарем 0–6
  • 0 — локальный сервер не имеет возможности, основываясь на команды с городского сервера, изменять степень освещения улиц.
  • 1 — локальный сервер передает данные о состоянии каждого фонаря: вкл/выкл.
  • 1 — локальный сервер передает на городской сервер усредненные данные об уровне освещенности улиц.
  • 2 — локальный сервер, основываясь на данных с городского сервера, изменяет степень освещения улиц, передается яркость в процентах 0–100%.
  • 2 — локальный сервер, основываясь на данных с городского сервера, имеет возможность в ручном режиме включить или выключить определенный фонарь.
Взаимодействие с умным светофором 0–4
  • 0 — локальный сервер не имеет возможности управлять интервалом разрешающего сигнала светофора, основываясь на данных с городского сервера.
  • 1 — локальный сервер передает на городской сервер усредненные данные о загруженности каждой улицы.
  • 1 — локальный сервер отправляет данные о сингале светофоров.
  • 2 — локальный сервер управляет состоянием сигнала светофора, основываясь на данных с городского сервера.
Фотофиксация нештатных ситуаций 0–5
  • 0 — локальный сервер не имеет возможности отправить фотографию на городской сервер при возникновении нештатной ситуации.
  • 5 — локальный сервер отправляет фотографию в беседу города при возникновении нештатной ситуации.
Взаимодействие с умным шлагбаумом 0–3
  • 0 — локальный сервер не имеет возможности передавать и получать время отклонение поезда от расписания на городской сервер.
  • 1 — локальный сервер передает индекс отклонения от расписания.
  • 1 — локальный сервер передает данные о состоянии переезда: открыто/закрыто.
  • 1 — локальный сервер управляет состоянием железнодорожного переезда, основываясь на данных с городского сервера.
Взаимодействие с умной парковкой 0–5
  • 0 — локальный сервер не может передавать и получать данные с городского сервера для работы с умной парковкой.
  • 1 — локальный сервер передает на городской сервер состояние парковки (занята/не занята).
  • 1 — локальный сервер передает на городской сервер уровень заряда электрокара, если он стоит на парковке.
  • 3 — при получении команды с городского сервера о бронировании места, парковка ставит статус забронировано, пока на нее не приедет электрокар, который занял место.
Рекомендации для жителей 0–3
  • 0 — локальный сервер не имеет возможности передавать на городской сервер информацию с датчиков или рекомендации по одежде, воздержании прибытия в микрорайон.
  • 1 — локальный сервер передает данные о температуре, влажности воздуха и атмосферного давления.
  • 1 — локальный сервер передает на городской сервер рекомендации по одежде.
  • 1 — локальный сервер передает на городской сервер информацию о рекомендации о воздержании прибытия в микрорайон, основываясь на уровне загрязнения воздуха.
Максимально баллов: 28

Дополнительные баллы*

  1. При использовании проводов для подключения оборудования, которые были спаяны самостоятельно, присваивается 5 баллов. Количество баллов зависит от чистоты пайки (от 1 до 5 баллов).
  2. Автоматическая отправка в гугл-таблицу лог процессов.
Решение задачи

Рис. 7.1. Изображение полигона

Каждой команде была выдана часть микрорайона, которая составляла \(1/8\) от общего полигона.

Общий алгоритм решения

Так как задача комплексная, рекомендуется придерживаться следующего алгоритма решения поставленных задач (см. рис. 7.2).

Рис. 7.2. Алгоритм решения командной задачи

Сборка микрорайона

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

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

Программирование умных устройств

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

Локальный веб-сервер

Чтобы обеспечить эффективное взаимодействие умных устройств с локальным сервером, изначально важно четко сформулировать принципы коммуникации и перечень передаваемых параметров. Необходимо также определиться с рабочим режимом каждого устройства — управляется ли оно исключительно локальным сервером, либо функционирует согласно заранее заданному сценарию, который активируется с локального сервера.

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

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

Городской сервер

После успешного установления обмена данными с городским сервером управление устройствами микрорайона осуществляется исходя из специального флага («тумблера»), определяющего режим управления:

  • когда флаг отключен, устройства функционируют автономно, либо регулируются непосредственно с локального сервера («рычажки»);
  • когда флаг активирован, контроль над устройствами переходит к городскому серверу, позволяя осуществлять удаленное управление с использованием соответствующих настроек («рычажков») на стороне города.

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

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

Программный код эталонных решений этой задаче можно найти по ссылкам ниже:

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

Материалы для подготовки
text slider background image text slider background image
text slider background image text slider background image text slider background image text slider background image