Работа 1. Мониторинг класса
1. Задача
В прошлом году (или в параллели помладше) выяснили: к шестому уроку CO₂ в классе выходит за норму. Но это были данные за один день, снятые дежурными вручную, с пропусками.
Возражение, которое вам предъявят взрослые, звучит так: «Может, это был особенный день. Может, вы неправильно мерили. Может, вообще случайность».
И это честное возражение. Ответить на него можно только одним способом: данными за длительный срок, снятыми одинаково, без человеческого фактора.
Ваша задача: построить узел, который неделю измеряет параметры кабинета и сам записывает результаты. А потом превратить эти данные в отчёт, который поймёт человек, не разбирающийся в электронике.
2. Что строим
flowchart LR
S["Датчики<br/>CO₂ · температура · влажность"] --> E["ESP32<br/>читает раз в минуту"]
E --> M["Память<br/>SD-карта / файл"]
E --> W["Wi-Fi<br/>страница с текущими данными"]
M --> A["Анализ<br/>график, выводы"]
A --> R["Отчёт<br/>для администрации"]
Ключевое отличие от 5–7 класса: между измерением и выводом появляется программа. Она решает, когда мерить, что записывать и что показывать.
3. Три задачи, которые надо решить
Задача 1. Опрос датчика
Датчик не отдаёт данные сам — его нужно спросить. У большинства датчиков есть библиотека, но понимать, что происходит, всё равно надо: датчику нужно время на прогрев, он может вернуть ошибку, и это надо обработать.
if (!sensor.read()) {
Serial.println("Датчик не ответил");
return; // не пишем мусор в файл
}
float co2 = sensor.getCO2();Задача 2. Как часто мерить
Раз в секунду — 604 800 записей за неделю, и файл, с которым невозможно работать. Раз в час — 168 записей, но пропустишь всю динамику урока.
Разумно: раз в минуту. За неделю ~10 000 строк — читается, влезает в таблицу, динамику видно.
Это инженерное решение, и его надо уметь обосновать: частота опроса выбирается из того, как быстро меняется процесс. CO₂ в классе меняется за минуты, не за секунды.
Задача 3. Куда писать
| Способ | Плюс | Минус |
|---|---|---|
| SD-карта | просто, надёжно, не нужен интернет | надо вынимать карту |
| Wi-Fi на сервер | данные видно сразу | нужен работающий Wi-Fi и сервер |
| Память ESP32 | ничего не надо | мало места, стирается при перепрошивке |
Для школы обычно проще всего SD-карта + страничка в Wi-Fi для текущих значений.
4. Формат данных
Пиши в CSV — это обычный текст, который открывается и Excel, и Python, и блокнотом:
timestamp,co2,temp,humidity
2026-09-15T08:30:00,520,21.5,42
2026-09-15T08:31:00,535,21.5,425. Практика
Этап 1. Датчик отвечает (2 урока)
Цель: прочитать одно значение и вывести в монитор порта.
Это меньше, чем кажется, и больше, чем кажется. Здесь ловятся все проблемы: не та распиновка, не тот адрес на шине, не подтянуты линии, датчик не прогрет.
Готово, когда: в мониторе идут правдоподобные числа, а на улице датчик показывает ~400 ppm.
Этап 2. Запись в файл (2 урока)
Цель: те же данные, но в файл на SD, с временем, в CSV.
Готово, когда: вынули карту, открыли файл на компьютере — там таблица, которую можно построить графиком.
Этап 3. Неделя автономной работы (фоном)
Узел ставится в кабинете и работает. Ваша задача на это время — не трогать его. Раз в день проверяйте, что он жив.
Этап 4. Анализ и отчёт (3 урока)
Цель: превратить 10 000 строк в один понятный лист.
- Открыть CSV в таблице, построить график «время → CO₂».
- Найти закономерности: когда пики? совпадают ли с расписанием? отличаются ли дни недели?
- Посчитать: сколько процентов учебного времени воздух был выше нормы?
- Сформулировать вывод и предложение.
Что должно получиться: один лист, где график, три цифры и одно предложение, понятные завучу.
6. Работа с данными: что искать
| Вопрос | Как ответить по данным |
|---|---|
| Всегда ли душно или в конкретные дни? | сравнить кривые разных дней |
| С какого урока начинается превышение? | найти момент пересечения линии 1000 ppm |
| Помогают ли перемены? | посмотреть, падает ли график в перерывах и насколько |
| Есть ли разница понедельник/пятница? | наложить кривые друг на друга |
| Сколько времени воздух за нормой? | посчитать долю точек выше 1000 ppm |
7. Что сдаём
1. Работающий узел — измеряет, пишет, не падает за неделю.
2. Файл данных — CSV с неделей измерений.
3. Отчёт на одном листе:
- что измеряли, чем, как часто, с какой погрешностью;
- график за неделю с отмеченной нормой;
- три ключевые цифры (например: пик 1850 ppm, превышение нормы 38% учебного времени, восстановление после проветривания 12 минут);
- вывод и конкретное предложение;
- честный раздел «что могло исказить результат».
4. Защита (5 минут) — рассказать это человеку, который не разбирается в электронике.
8. Критерии оценки
| Критерий | На что смотрим |
|---|---|
| Узел работает | неделя без вмешательства, данные без дыр и мусора |
| Данные корректны | есть время, проверена ошибка датчика, есть проверка по эталону (улица ~400 ppm) |
| Анализ | график построен, закономерности найдены и названы |
| Вывод | опирается на данные, а не на «всем известно»; сформулирован конкретно |
| Честность | названы ограничения метода, неудобные результаты не спрятаны |
| Защита | понятно человеку без технического образования |
9. Куда это ведёт
Вы построили то, что в промышленности называется системой мониторинга: датчик → сбор → хранение → анализ → решение. Точно так же устроены системы на производствах, в теплицах, в дата-центрах и в умных домах — отличается масштаб, а не принцип.