Домашни > Време е да помислите за проектите си! > Решения > Решението на Дуйгу Дуран

Резултати
0 точки от тестове
5 точки от учител

5 точки общо

0 успешни теста
0 неуспешни теста
Код

 1"""
 2
 3[Title/Звание]
 4
 5SmartHive - умният помощник на модерния пчелар
 6
 7
 8[Description/Обрисовка]
 9
10    SmartHive представлява client-server система за мониторинг и предсказване на роево състояние при пчелните семейства.
11Системата съдържа виртуални кошери, които симулират ESP32 устройства, като изпращат сензорни данни за температура,
12влажност, тегло и акустика към Django сървър. Той, от своя страна, ги записва, анализира и визуализира резултатите в удобен
13панел (dashboard).
14
15    Акустичните данни се използват за изграждане и сравнителен анализ на три алтернативни архитектури на невронни мрежи -
16многослоен перцептрон (MLP), едномерна конволюционна невронна мрежа (1D CNN) и рекурентна мрежа (GRU), които
17класифицират състоянието на колонията като swarm, pre-swarm, non-swarm. Кошерите с най-висок риск от роене се визуализират
18под формата на списък в началния панел, а данните за температура, влажност, тегло се използват за общ мониторинг и
19изобразяване на седмичните тенденции на всеки кошер.
20
21    SmartHive има за цел подпомагане на пчеларя при приоритизиране на мануалните прегледи, нужни за овладяване на пчелите
22по време на основния медосбор (май-август), като предоставя информация кои кошери изискват внимание и дава оценка за
23общото състояние на семействата, на база постъпващите сензорни данни.
24
25
26[Functionalities/Надарености]
27
28• Виртуален кошер симулира ESP32 устройство като чете dataset и изпраща сензорни данни към Django сървър през зададен
29  интервал от време.
30• Сървърът приема постъпващите данни чрез API endpoint и ги записва към съответния кошер според идентификатора на
31  устройството (вграден MAC адрес на ESP32).
32• Системата анализира акустичните данни чрез три невронни мрежи - MLP, 1D CNN, GRU.
33• В началния изглед на системата се визуализира панел (dashboard) с две отделни секции - списък с кошерите с най-висок
34  риск от роене и графики за кошери, които имат най-добър прираст в теглото през последната седмица.
35• Потребителят може да разглежда всички пчелини и принадлежащите им кошери.
36• Потребителят може да отвори детайлен изглед на кошер с графики за последните сензорни данни и история на прогнозите.
37• Потребителят може да избира времеви период, за който да се визуализират сензорните данни и прогнозите.
38
39
40[Milestones/Възлови точки]
41
42• Модул виртуален кошер
43    Представлява отделно Python приложение, което симулира работата на ESP32 модул. Стартира се от терминала като се
44    подава MAC адреса на устройството като параметър, чете готов dataset и изпраща сензорни данни към Django server
45    чрез POST заявки при зададен интервал.
46
47• Модул за прием на сензорни данни
48    Приема POST заявки от виртуалните кошери, валидира получените измервания, разпознава кошера по MAC адреса на
49    устройството и записва данните в БД.
50
51• Модул за пчелини, кошери и сензорни устройства
52    Моделира основните обекти в приложението - пчелини, кошери, сензорни устройства и измервания. Всеки пчелин съдържа
53    един или повече кошери, а всеки кошер е свързан с ESP32 устройство чрез уникалния му идентификатор.
54
55• Модул за предсказване на роене
56    Акустичните данни се използват за изграждане и сравнителен анализ на три алтернативни архитектури на невронни мрежи -
57    MLP, 1D CNN и GRU. Всяка архитектура завършва с класификационен слой със Softmax функция, който връща вероятностно
58    разпределение между трите целеви състояния на колонията - swarm, pre-swarm и non-swarm. Резултатите от трите модела
59    се сравняват и се използват за формиране на крайната прогноза за риск от роене.
60
61• Модул за графики
62    Визуализира сензорните данни и прогнозите чрез графики и обобщени справки. Позволява проследяване на тенденциите на
63    отделен кошер за избран период от време.
64
65• Модул за тестове
66    Покрива основната бизнес логика с автоматизирани unit тестове. За външни тежки зависимости като невронните мрежи се
67    използват mock обекти.
68
69
70[Estimate in man-hours/Времеоценка в човекочасове]
71
72 ~65 часа.
73
74
75[Usage of technologies/Потребление на технологии]
76
77• Django - уеб приложение
78• Bootstrap - стилизиране
79• SQLite - БД
80• Matplotlib - графики и визуализации
81• TensorFlow/Keras - невронни мрежи за предсказване на роене
82• Pandas - четене и обработка на dataset-и
83• NumPy - числова обработка и подготовка на входове за моделите
84• requests - API повиквания
85• unittest - автоматизирани тестове
86
87"""


----------------------------------------------------------------------
Ran 0 tests in 0.000s

NO TESTS RAN

Дискусия
Виктор Бечев
20.05.2026 10:57

Знам, че с Йоан го обсъдихте надълго и нашироко, но и без информацията от този разговор - на мен ми харесва. Не просто има парчета функционалност, но има и real-world употреба, което е checkbox, който трудно се отбелязва при курсов проект _(не ни е изискване, но определено е по-интересно и за нас и за студента, който го прави)_. На практика ако смениш симулацията с реални сензори - получаваш работещо приложение. Имаш и интересни проблеми за решаване, защото това да събираш данни от сензори може да изиска различен подход от това просто да имаш една релационна база данни и Django модел. Не казвам, че го изисква, просто гадая. При все - ще изисква мисъл, което е най-ценното.
История
Това решение има само една версия.