ГлавнаяАкадемияCOURSE-16: Основы Интернета Вещей и практическое применение → Итоговый тест по Модулю 1: Введение в IoT

Итоговый тест по Модулю 1: Введение в IoT

Урок 5 · COURSE-16: Основы Интернета Вещей и практическое применение · theory

COURSE-16-M01-QUIZ — Итоговый тест по Модулю 1: Введение в IoT

Инструкции для инженера

Данный тест предназначен для проверки базовых знаний, полученных в рамках модуля «Введение в Интернет вещей». Тест состоит из 7 практических заданий, охватывающих ключевые концепции, компоненты экосистемы HI и основы проектирования IoT-решений.

---

Задание 1: Сопоставление компонентов платформы (4 балла)

Сопоставьте компонент технологического стека HI с его основным назначением в проекте автоматизации.

| Компонент | Назначение |

| :--- | :--- |

| 1. Node-RED | A. Промышленный протокол для опроса датчиков и управления модулями по шине RS-485. |

| 2. Универсальный вход (UI) | B. Легковесный протокол для обмена сообщениями между устройствами и облаком по принципу "издатель-подписчик". |

| 3. MQTT | C. Среда визуального программирования для создания сценариев (flows) автоматизации на контроллере. |

| 4. Modbus RTU | D. Физический порт контроллера для подключения датчиков типа "сухой контакт", кнопок, герконов или датчиков 1-Wire. |

Ваш ответ (укажите пары, например, 1-A, 2-B):

`________________`

Ключ к ответу и критерии оценки
  • Правильные ответы:
* 1-C: Node-RED — это среда визуального программирования.

* 2-D: Универсальный вход используется для подключения оконечных устройств, таких как кнопки и датчики.

* 3-B: MQTT — это протокол обмена сообщениями по модели "издатель-подписчик".

* 4-A: Modbus RTU — это протокол для полевой шины RS-485.

  • Оценка:
* 4 балла за 4 правильных сопоставления.

* 3 балла за 3 правильных сопоставления.

* 1 балл за 2 правильных сопоставления.

* 0 баллов за 1 или 0 правильных сопоставлений.

---

Задание 2: Логика управления вентиляцией по уровню CO2 (4 балла)

В офисном помещении установлен датчик CO2, подключенный к контроллеру HI. Необходимо автоматически включать приточную вентиляцию (подключена к реле `RL-05`), когда уровень CO2 превышает 1000 ppm, и выключать, когда он опускается ниже 800 ppm.

Какой из предложенных потоков Node-RED наиболее корректно и надежно решает эту задачу, предотвращая частое включение/выключение вентиляции (дребезг)?

A) `[Modbus Read CO2] -> [Switch: msg.payload > 1000] -> [Turn ON Relay]` B) `[Modbus Read CO2] -> [Function: if (level > 1000) return ON; else return OFF;] -> [Control Relay]` C) `[Modbus Read CO2] -> [Switch: check state] -> (if level > 1000 AND state is OFF) -> [Turn ON Relay] -> [Set state to ON]`

`-> (if level < 800 AND state is ON) -> [Turn OFF Relay] -> [Set state to OFF]`

D) `[Modbus Read CO2] -> [Inject: every 1 second] -> [Control Relay]` Ваш ответ (укажите букву):

`________________`

Ключ к ответу и критерии оценки
  • Правильный ответ: C.
  • Объяснение:
* Вариант A включает вентиляцию, но никогда ее не выключает.

* Вариант B создаст "дребезг": вентиляция будет постоянно включаться и выключаться, как только уровень CO2 будет колебаться вокруг отметки 1000 ppm.

* Вариант C корректно реализует логику с гистерезисом (двумя порогами: 1000 ppm на включение и 800 ppm на выключение) и хранит текущее состояние системы. Это классический паттерн "Конечный автомат" (FSM), предотвращающий дребезг и обеспечивающий стабильную работу.

* Вариант D не содержит никакой логики, связанной с уровнем CO2.

  • Оценка:
* 4 балла за выбор варианта C.

* 0 баллов за любой другой вариант.

---

Задание 3: Заполните пропуски (4 балла)

Заполните пропуски в определении, используя термины из контекста платформы HI.

"На платформе HI система Интернета вещей состоит из (1) __________, который собирает данные с (2) __________ (например, датчиков температуры по шине 1-Wire или счетчиков по Modbus) и управляет (3) __________ (например, реле освещения или клапанами). Вся логика взаимодействия между ними настраивается в среде (4) __________ в виде визуальных потоков (flows)."

Ваш ответ (перечислите 4 слова/термина):

`1. ________________`

`2. ________________`

`3. ________________`

`4. ________________`

Ключ к ответу и критерии оценки
  • Правильные ответы:
1. контроллера / контроллер

2. датчиков / сенсоров / устройств ввода

3. исполнительными устройствами / нагрузками / актуаторами

4. Node-RED

  • Оценка:
* По 1 баллу за каждый правильно заполненный пропуск. Всего 4 балла.

---

Задание 4: Влияние IoT на управление энергией (4 балла)

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

Ваш ответ (описание трех сценариев):

`________________`

Ключ к ответу и критерии оценки
  • Пример эталонного ответа:

1. Сценарий "Умное освещение": Автоматическое выключение света в помещениях (переговорные, коридоры) при отсутствии движения.

* Оборудование: Датчики движения (PIR), подключенные к универсальным входам (UI) контроллера. Группы освещения, подключенные к релейным выходам (RL).

* Логика: Если на входе UI нет сигнала от датчика движения в течение 10 минут, контроллер отключает соответствующий выход RL.

2. Сценарий "Контроль розеточных групп": Отключение питания розеток, к которым подключена некритичная офисная техника (мониторы, зарядные устройства), в нерабочее время (например, с 20:00 до 07:00 и по выходным).

* Оборудование: Розеточные группы, подключенные через контактор к релейному выходу (RL) контроллера.

* Логика: В Node-RED настраивается расписание (с помощью узла `Inject` или `cron-plus`), которое подает команду на отключение реле в 20:00 и включение в 07:00 в будние дни.

3. Сценарий "Климат-контроль по присутствию": Снижение интенсивности работы систем отопления/кондиционирования в переговорных комнатах, если они свободны.

* Оборудование: Датчики присутствия (например, на базе PIR или CO2), подключенные к универсальным входам (UI) или по Modbus/MQTT. Управление климатическим оборудованием через релейные выходы (RL) (например, включение/выключение фанкойла) или по Modbus/DALI (для более точного управления).

* Логика: Если датчик присутствия не фиксирует активность в течение 30 минут, контроллер переводит систему климата в режим энергосбережения (например, снижает температуру на 2°C или отключает фанкойл).

  • Критерии оценки:
* По 1 баллу за каждый корректно описанный сценарий.

* По 0.5 балла за каждое правильное указание задействованных входов/выходов.

* Максимум 4 балла.

* Снижение баллов: За неточности в описании, отсутствие привязки к оборудованию HI, нереалистичные сценарии.

---

Задание 5: Контракт сообщения MQTT (4 балла)

Вы разрабатываете систему мониторинга температуры в серверной. Датчик температуры (DS18B20) подключен к универсальному входу `UI-01` контроллера HI. Показания температуры должны публиковаться в MQTT.

Сформируйте пример `msg.payload` в формате JSON, который будет отправлен в MQTT-брокер, соблюдая паттерн "Контракт сообщения" Академии HI. Укажите топик MQTT.

Текущие данные: Ваш ответ:
    {

// Ваш JSON

}

Ключ к ответу и критерии оценки
  • Пример эталонного ответа:
* MQTT Topic: `telemetry/server_room/temperature` (или аналогичный, отражающий иерархию и тип данных)

* msg.payload (JSON):

        {

"value": 24.7,

"unit": "°C",

"source": "server_room_temp_sensor_ui01",

"ts": 1678886400000 // Пример Unix timestamp в миллисекундах

}

  • Критерии оценки:
* 1 балл за корректный и логичный MQTT Topic.

* 1 балл за наличие поля `value` с правильным типом данных.

* 1 балл за наличие поля `source` с уникальным идентификатором.

* 1 балл за наличие поля `ts` с корректным форматом Unix timestamp.

* Дополнительно (необязательно, но приветствуется): наличие поля `unit`.

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

---

Задание 6: Диагностика Modbus RTU (4 балла)

Инженер на объекте пытается подключить Modbus RTU датчик влажности к контроллеру HI по шине RS-485. После настройки узла `Modbus-Read` в Node-RED, он постоянно получает ошибку "Timeout".

Перечислите 4 наиболее вероятные причины этой ошибки и кратко опишите, как их диагностировать.

Ваш ответ (4 причины и диагностика):

`________________`

Ключ к ответу и критерии оценки
  • Пример эталонного ответа:

1. Причина: Неправильное физическое подключение RS-485. Перепутаны линии A/B, обрыв кабеля, плохой контакт.

* Диагностика: Визуальная проверка клемм A и B на контроллере и датчике. Проверка целостности кабеля мультиметром. Попытка поменять местами A и B на одной из сторон (это не повредит оборудованию, но часто решает проблему).

2. Причина: Несоответствие параметров COM-порта. Скорость (Baud Rate), четность (Parity), биты данных (Data Bits), стоп-биты (Stop Bits) на контроллере HI не совпадают с настройками датчика.

* Диагностика: Проверить документацию на датчик. Попробовать наиболее распространенные комбинации (например, 9600 8N1, 19200 8N1). Убедиться, что в Node-RED Modbus-Client настроен на правильный COM-порт (`/dev/ttyUSBx` или `/dev/ttySx`).

3. Причина: Неправильный Slave ID (Unit ID) датчика. В Node-RED указан ID, отличный от того, что настроен на датчике.

* Диагностика: Проверить Slave ID, установленный на датчике (DIP-переключатели, программная настройка). Убедиться, что этот же ID указан в узле `Modbus-Read` в Node-RED.

4. Причина: Отсутствие или неправильное терминирование шины. На длинных линиях или при наличии нескольких устройств отсутствие согласующих резисторов 120 Ом на крайних устройствах вызывает отражения сигнала.

* Диагностика: Проверить наличие терминирующих резисторов на первом и последнем устройствах шины. Убедиться, что они активированы (если есть встроенные переключатели).

5. Причина: Отсутствие питания на датчике. Датчик не включен или не получает достаточного питания.

* Диагностика: Проверить наличие напряжения питания на клеммах датчика с помощью мультиметра.

  • Критерии оценки:
* По 1 баллу за каждую корректно указанную причину и метод диагностики.

* Максимум 4 балла.

* Снижение баллов: За неточные или неполные описания, отсутствие методов диагностики.

---

Задание 7: Создание простого сценария освещения (4 балла)

В гостиничном номере необходимо реализовать сценарий "Включить свет в ванной". Для этого используется настенный выключатель (подключен к универсальному входу `UI-02` как "сухой контакт") и реле `RL-01`, управляющее освещением в ванной.

Нарисуйте ASCII-схему Node-RED flow, который будет включать/выключать свет в ванной по нажатию выключателя. Укажите типы узлов и их основные связи.

Ваш ответ (ASCII-схема flow):

`________________`

Ключ к ответу и критерии оценки
  • Пример эталонного ответа:

    // FLOW-LIGHT-BATH-001: Управление светом в ванной

//

// [rpi gpio in] - Узел для чтения состояния универсального входа UI-02

// [Function] - Узел для реализации логики переключения (триггер)

// [rpi gpio out] - Узел для управления релейным выходом RL-01

// [Debug] - Узел для отладки и просмотра сообщений

[rpi gpio in: UI-02] --(msg.payload: 1/0)--> [Function: Toggle Light] --(msg.payload: 1/0)--> [rpi gpio out: RL-01]

|

v

[Debug]

Код для узла `Function: Toggle Light`:

    // Сохраняем текущее состояние света в контексте потока

// Инициализируем состояние, если его нет (например, при первом запуске)

let currentState = flow.get('bathroomLightState') || 0; // 0 = выключен, 1 = включен

// Если пришло сообщение от выключателя (UI-02)

if (msg.payload === 1) { // Предполагаем, что 1 - это нажатие/замыкание

// Переключаем состояние

currentState = 1 - currentState; // Если было 0, станет 1; если было 1, станет 0

flow.set('bathroomLightState', currentState); // Сохраняем новое состояние

// Отправляем команду на реле

msg.payload = currentState;

return msg;

}

// Если msg.payload не 1, игнорируем (например, отпускание кнопки)

return null;

  • Критерии оценки:
* 1 балл за корректное использование узла `rpi gpio in` для чтения входа.

* 1 балл за использование узла `Function` для реализации логики переключения (toggle).

* 1 балл за корректное использование узла `rpi gpio out` для управления реле.

* 1 балл за общую логическую связность и читаемость схемы.

* Снижение баллов: За отсутствие узла `Function` (если логика реализована только через `Switch`, что менее эффективно для toggle), неверные типы узлов, отсутствие указания входов/выходов.