IoT-системы в дипломе: как на примере умного цветочного горшка сделать ВКР по Data Engineering защищаемым

Поддомен: Data Engineering

Роль: Data/ML-инженер

Введение

Автор статьи оставил умный горшок LeafyPod без присмотра на два месяца — и растение выжило. Почему? Потому что система автономно собирала данные, анализировала влажность, освещённость, температуру и принимала решения. Это не просто «умный гаджет» — это полноценный кейс для диплома по Data Engineering. Такие системы — основа умных домов, агротеха и промышленного IoT. А для студента это шанс показать в работе реальные навыки: от сбора данных до построения пайплайнов и валидации моделей. И всё это — с минимальными затратами и максимальной защищаемостью.

Темы ВКР: как превратить LeafyPod в дипломный проект

Тема Актуальность Цель Задачи Структура ВКР
Разработка системы мониторинга микроклимата для умного растения на базе IoT-сенсоров Статья ZDNet показывает: автономность достигается за счёт непрерывного сбора и анализа данных. Это соответствует тренду на edge-обработку и low-code решения в IoT. Создать прототип системы, способной автономно поддерживать жизнеспособность растения.
  • Проанализировать существующие решения (включая LeafyPod)
  • Выбрать стек сенсоров и микроконтроллеров
  • Реализовать пайплайн сбора и хранения данных
  • Разработать алгоритм принятия решений (полив, освещение)
Гл. 1: Анализ IoT-экосистем, протоколов (MQTT, CoAP), метрик жизнеспособности растений
Гл. 2: Проектирование архитектуры, схема пайплайна, выбор БД (InfluxDB, TimescaleDB)
Гл. 3: Тестирование системы, расчёт метрик эффективности (время без вмешательства, точность срабатываний)
Построение data pipeline для IoT-устройств с использованием Apache Kafka и Python LeafyPod обрабатывает данные в реальном времени — это требует отказоустойчивых пайплайнов. Kafka — стандарт в промышленных системах. Обеспечить надёжную доставку данных от сенсоров к системе анализа.
  • Настроить Kafka-кластер (локально или в Docker)
  • Реализовать producer (на микроконтроллере или симуляторе)
  • Разработать consumer с логикой обработки
  • Интегрировать с визуализацией (Grafana)
Гл. 1: Анализ потоковых архитектур, сравнение Kafka и RabbitMQ, метрики задержки и отказоустойчивости
Гл. 2: Проектирование топологии топиков, схема сериализации (Avro), реализация пайплайна
Гл. 3: Тестирование под нагрузкой, расчёт метрик: latency, throughput, error rate
Оценка эффективности IoT-системы на основе метрик жизнеспособности растений Автор статьи оценивает успех по факту выживания растения. В ВКР нужно формализовать критерии успеха — это и есть метрики качества. Разработать методику оценки эффективности IoT-системы на основе количественных показателей.
  • Определить KPI: влажность почвы, частота полива, уровень освещённости
  • Собрать данные за 2+ недели
  • Построить отчёт в Grafana или Jupyter
  • Сравнить с ручным уходом
Гл. 1: Анализ метрик по ISO/IEC 25010 (надёжность, функциональность), методы сбора данных
Гл. 2: Разработка модели оценки, выбор инструментов визуализации
Гл. 3: Эксперимент, анализ результатов, выводы о применимости системы

Основная часть: как встроить кейс в структуру ВКР

Глава 1: Теоретический анализ — от LeafyPod к архитектурным паттернам

Не просто пересказывайте статью — анализируйте. Задайте вопросы: как LeafyPod обрабатывает данные? Локально или в облаке? Какие протоколы использует? Это позволяет перейти к архитектурным паттернам: event-driven architecture, edge computing, publish-subscribe.

Используйте C4-модель для описания системы:

Сравните с вашим решением — это покажет глубину анализа. Упомяните ГОСТ 34.19-93 при описании диаграмм — это важно для нормоконтроля.

Глава 2: Проектирование и реализация — от схемы к коду

Реализуйте пайплайн, аналогичный LeafyPod. Например, на ESP32 с датчиками влажности и освещённости. Данные отправляются через MQTT в брокер (Mosquitto), затем — в InfluxDB, визуализируются в Grafana.

Пример конфигурации MQTT-клиента на Python:

import paho.mqtt.client as mqtt
import json
import time

def on_connect(client, userdata, flags, rc):
    print("Connected with result code " + str(rc))

client = mqtt.Client()
client.on_connect = on_connect
client.connect("localhost", 1883, 60)

while True:
    data = {
        "sensor_id": "soil_moisture_01",
        "value": read_moisture(),  # функция чтения с датчика
        "timestamp": time.time()
    }
    client.publish("iot/plants/moisture", json.dumps(data))
    time.sleep(60)  # отправка раз в минуту

Для хранения используйте TimescaleDB — она оптимизирована под временные ряды. В схеме БД — таблица sensor_readings с полями: time, sensor_id, value, unit.

Глава 3: Тестирование и оценка эффективности

Не ограничивайтесь фразой «система работает». Считайте метрики:

Сравните с ручным уходом: например, ведите два горшка — один автоматический, другой ручной. Это даст статистику для защиты.

Чему вы научитесь

Типичные ошибки студентов

Ошибка 1: «Система работает» без метрик. В статье результат — выжившее растение. В ВКР — цифры. Если не измеряете, не доказываете.

Как избежать: Заложите метрики ещё в задачи. Используйте Grafana для отчётов.

Ошибка 2: Копирование архитектуры без анализа. Просто поставить MQTT — недостаточно.

Как избежать: Сравните MQTT и CoAP, обоснуйте выбор. Ссылайтесь на статью как на пример, а не эталон.

Ошибка 3: Игнорирование нормоконтроля. Диаграммы без подписей, схемы БД без масштаба.

Как избежать: Все схемы — по ГОСТ 34.19-93. Подписи, номера, пояснения в тексте.

FAQ

Какой стек выбрать для реализации, если нет железа?

Используйте симуляторы. Например, в Python напишите скрипт, генерирующий фейковые данные влажности. Имитируйте ESP32 через Docker. Главное — показать пайплайн. На защите можно сказать: «Реализация выполнена в симуляции, так как оборудование недоступно, но архитектура полностью соответствует промышленным стандартам».

Сколько кода должно быть в приложении?

Достаточно 300–500 строк ключевого кода: MQTT-клиент, обработка данных, логика полива. Остальное — конфиги, тесты. Главное — чтобы код был работоспособным и прокомментированным. Не гонитесь за объёмом — ценится качество и воспроизводимость.

Как считать эффективность, если нет реального растения?

Используйте модель. Например, задайте диапазон «нормальной влажности» (30–70%). Считайте, сколько % времени система поддерживала этот диапазон. Это и будет метрика эффективности. Можно сравнить с «идеальным» сценарием (ручной контроль по логам).

Как оформить схему архитектуры, чтобы прошла нормоконтроль?

Используйте C4 или UML. Все элементы — с подписями. Масштаб, легенда, номер рисунка (например, «Рисунок 2.1 — Контекстная диаграмма системы»). Сохраняйте в вектор (SVG или PDF), вставляйте в приложение. Обязательно ссылайтесь в тексте: «Как показано на рисунке 2.1…».

Ключевая сущность Применение в ВКР
ISO/IEC 25010 Оценка качества системы: надёжность, функциональность, удобство использования
ГОСТ 34.19-93 Оформление диаграмм, схем, приложений
MQTT Протокол передачи данных в IoT-системах
InfluxDB / TimescaleDB Хранение временных рядов с датчиков
OpenTelemetry Сбор метрик и трейсов (если реализуете мониторинг)

Чек-лист «Что проверить перед сдачей»

  • Все ссылки на статью и стандарты (ГОСТ, ISO) указаны в списке литературы
  • Задачи главы 1–3 соответствуют выводам
  • Все схемы подписаны, пронумерованы, оформлены по ГОСТ
  • Метрики эффективности рассчитаны и интерпретированы
  • Код в приложении: читаемый, с комментариями, без ошибок
  • Уникальность выше 70% (без переписывания статьи дословно)
  • Приложения: код, логи, скриншоты Grafana, схемы

Бесплатная консультация по ВКР
Если вы сомневаетесь в теме, структуре или реализации — наши специалисты помогут. Более 120 часов консультаций уже проведено для студентов технических вузов. Мы не пишем работы, но подскажем, как сделать ВКР защищаемым и современным — по теме IoT, Data Engineering, ML и другим направлениям.

Материал подготовлен экспертами компании diplom-it.ru
Мы помогаем студентам с 2010 года. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать.

Последнее обновление: 2026-04-22

Источник: I let a smart planter maintain itself while I was away for 2 months - here's the result (опубликовано 2026-04-05)