Разработка программного модуля для управления датчиками уровня жидкости
Введение
Объект и предмет исследования
Поставленные задачи
Анализ предметной области
Интерфейсы передачи данных
Средства измерения уровня жидкости
Аналоги разрабатываемой системы
Функциональные требования к системе
Диаграмма вариантов использования
Проектирование программного продукта
Архитектура системы
Выбор проектных решений
Выбор проектных решений
Исследование выходных значений
Программная реализация мобильного приложения
Пользовательские уведомления
Заключение
Спасибо за внимание!
4.48M
Категория: ФизикаФизика

Разработка программного модуля для управления датчиками уровня жидкости

1. Разработка программного модуля для управления датчиками уровня жидкости

Выполнил: Холодов Ф.А., студент кафедры О7, гр. И504Б
Руководитель: Логунова Т.В., к. т. н., доцент кафедры О7

2. Введение

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

3. Объект и предмет исследования

Объектом исследования являются методы взаимодействия устройств
интернета вещей.
Предметом исследования являются методы построения программного
обеспечения для устройств интернета вещей.
3

4. Поставленные задачи

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

5. Анализ предметной области

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

6. Интерфейсы передачи данных

Wi-Fi
Bluetooth
LoRaWan
«Стриж»
Скорость передачи данных 300+ Мбит/с
До 3 Мбит/с
5 Кбит/с
50 бит/с
Энергопотребление
Высокое
Низкое
Низкое
Низкое
Дальность
100 м
10-100 м
3-15 км
До 10-40 км
Защита информации
WEP, WPAWPA2, WPA3, AES, 40и
TKIP и другие
шифрование
Варианты топологий
«Звезда», «Точка-точка»
Совместимость
экосистема
«Звезда»
64-битное 64-битное шифрование
«Звезда», «Точка-точка»
и Обширная экосистема со Поддерживается широким Постепенная
множеством совместимых спектром устройств
стандартизация
устройств
LoRa Alliance
ГОСТ, XTEA или AES
«Звезда»
Достаточно
небольшой
усилиями список устройств
6

7. Средства измерения уровня жидкости

Для
разработки
автоматизированной
системы
были
рассмотрены
различные по принципу работы датчики уровня жидкости, в результате чего
был
выбран
ёмкостный
тип
уровнемеров,
благодаря
следующим
особенностям:
• низкое энергопотребление;
• простота внедрения в систему;
• малые габариты;
• простой принцип действия;
• отказоустойчивость;
7

8. Аналоги разрабатываемой системы

*Тут ещё есть над чем поработать, поэтому пока не буду вставлять таблицу*
8

9. Функциональные требования к системе

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

10. Диаграмма вариантов использования

10

11. Проектирование программного продукта

Диаграмма последовательности работы системы
11

12. Архитектура системы

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

13. Выбор проектных решений

Было принято решение о разработке кроссплатформенного мобильного
приложения, доступного на операционных системах Android и IOS. Для
достижения этого было решено использовать язык программирования Dart и
фреймворк Flutter. Подходящая интегрированная среда разработки для
данного набора технологий – Android Studio.
Для разработки микропроцессорного программного обеспечения был
выбран язык C. Для загрузки прошивки в память устройства использовалось
расширение для Visual Studio Code – Espressif IDF.
13

14. Выбор проектных решений

Схема датчика уровня жидкости
14

15. Исследование выходных значений

Опытным
путём
выходные
были
получены
значения
АЦП,
соответствующие
разному
объёму
жидкости
сосуде.
После
в
аппроксимации
квадратным
полиномом была получена функция
y=-0.4909x^2+1.1005x+0.5059, где x –
выход АЦП, а y – объём воды.
График соответствия экспериментальных
данных и аппроксимированной функции
15

16. Программная реализация мобильного приложения

Реализованное мобильное приложение
позволяет
в
реальном
времени
обновлять данные об уровне жидкости
в сосуде и выводить его на экран.
Виджеты
обновляются
шаблону
проектирования
получающему
данные
благодаря
из
BLoC,
MQTT-
клиента.
Пользовательский интерфейс разработанного
приложения
16

17. Пользовательские уведомления

Пользователь
может
определять
условия получения push-уведомлений,
а также сообщения, которые будут
выводиться при достижении жидкости в
сосуде
критических
уровней.
Push-
Меню настройки уведомлений
уведомления реализованы с помощью
сервиса Firebase Cloud Messaging.
Пример push-уведомления
17

18. Заключение

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

19. Спасибо за внимание!

English     Русский Правила