
Иксис Пр Работы / Отчет по пр7 (за качество работы не ручаюсь, сделано на коленке)
.pdfМИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра информационных систем
Отчет по практической работе №7 по дисциплине “Инфокоммуникационные системы и сети”
Тема: Разработка концепции аппаратно-программной системы. Вариант 154
Студент гр. 2376 |
_____________________ |
Федорков Ю.А. |
Преподаватель |
______________________ |
Воробьев А.И. |
Санкт-Петербург
2024
Цель работы: Разработать концепцию аппаратно-программной системы, которая обеспечивает мониторинг выбранных студентом физических параметров жизненного пространства человека в некоторой предметной области.
Отчет должен содержать:
1. Краткое обоснование актуальности темы и необходимости проведения разработки аппаратно-программной системы мониторинга выбранных физических параметров;
2. Общее концептуальное описание разрабатываемой системы, включающее перечень умных вещей и сценарии взаимодействия умных вещей при решении какой-либо задачи в выбранной студентом предметной области.
3. Описание всех принятых технических решений и способов их реализации.
3.1. Описание используемой элементной базы, схем и скетчей всех разработанных умных вещей.
3.1.1.Ведомость элементной базы.
3.1.2.Электрические схемы устройств.
3.1.3.Программный код.
3.2.Фото и видео материалы, поясняющие ход изготовления и принцип действия умных вещей. Возможно применение симуляторов (не обязательно, если нет доступа к элементной базе).
3.3.Выбор одного из вариантов технической реализации сетевого взаимодействия умных вещей при помощи доступной элементной базы Ардуино (например, LTE, LP WI-FI, Bluetooth LE, LoRaWAN).
3.4.Общее описание протоколов первого (физического) и второго (канального) уровней эталонной модели взаимодействия открытых систем, используемые в выбранной системе сетевого
взаимодействия. В заключении формулируются выводы по результатам проделанной работы, приводятся рекомендации по использованию разработанной программно-аппаратной системы в практической деятельности и делаются обоснованные предложения по коммерциализации разработки (не более 50 слов)
ВЫПОЛНЕНИЕ РАБОТЫ
Тема: Концепция аппаратно-программной системы автоматического мониторинга и кормления рыбок в аквариуме.
1.Актуальность темы
Системы автоматического кормления рыбок становятся все более
актуальными в условиях современного ритма жизни. Владельцы аквариумов часто сталкиваются с проблемой регулярного кормления своих питомцев, особенно в период отсутствия. Неправильное или нерегулярное кормление может привести к ухудшению здоровья рыбок, что делает разработку автоматизированной системы мониторинга и кормления необходимой. Кроме того, такие системы могут помочь в поддержании оптимальных условий для жизни рыб, что особенно важно для аквариумов
счувствительными видами.
2.Общее концептуальное описание системы.
Разрабатываемая система будет состоять из следующих "умных вещей":
-Автоматическая кормушка: устройство, которое будет дозировать и выдавать корм в заданное время. Кормушка будет управляться сервоприводом, который открывает и закрывает отсек с кормом.-
-Датчик уровня воды: ультразвуковой датчик HC-SR04, который будет контролировать уровень воды в аквариуме и предотвращать переполнение или недостаток воды.
-Датчик температуры: DS18B20, который будет следить за температурой воды, обеспечивая комфортные условия для рыб.
-Модуль Wi-Fi: ESP8266, который позволит владельцу управлять системой через мобильное приложение и получать уведомления о состоянии аквариума.
Сценарии взаимодействия
1.Настройка расписания кормления: Владелец аквариума задает расписание кормления через мобильное приложение. Приложение отправляет данные на сервер, который передает команды на Arduino.
2.Кормление: В установленное время автоматическая кормушка получает команду от Arduino через Wi-Fi и выдает корм в аквариум.
3.Мониторинг состояния: Датчики уровня воды и температуры отправляют данные в приложение, позволяя владельцу следить за состоянием аквариума в реальном времени. В случае отклонений от нормы (например, слишком низкий уровень воды или высокая температура) система отправляет уведомления владельцу.
3.Описание технических решений
3.1.Элементная база
-Микроконтроллер: Arduino Uno — основной контроллер, который будет управлять всеми компонентами системы.
-Датчик уровня воды: ультразвуковой датчик HC-SR04 — используется для измерения расстояния до поверхности воды и определения уровня воды в аквариуме.
-Датчик температуры: DS18B20 — цифровой датчик температуры, который позволяет точно измерять температуру воды.

-Сервопривод: для автоматической выдачи корма. Сервопривод будет открывать и закрывать отсек с кормом в нужный момент.
-Модуль Wi-Fi: ESP8266 — обеспечивает беспроводное соединение с интернетом для удаленного управления и мониторинга.
3.1.1.Ведомость элементной базы
Наименование |
Количество |
Примечание |
|
|
|
Arduino Uno |
1 |
Микроконтроллер |
|
|
|
HC-SR04 |
1 |
Датчик уровня воды |
|
|
|
DS18B20 |
1 |
Датчик температуры |
|
|
|
Сервопривод |
1 |
Для выдачи корма |
|
|
|
ESP8266 |
1 |
Модуль Wi-Fi |
|
|
|
Резисторы, провода |
- |
Для подключения |
|
|
|
Корпус для |
1 |
Для защиты компонентов |
устройства |
|
|
|
|
|
3.1.2.Электрические схемы устройств

Arduino Uno
Подключение DS18B20 к Arduino
Подключение Сервопривода к Arduino Uno

Подключение ESP8266 к Arduino Uno
Подключение HC-SR04 к Arduino Uno
3.1.3.Программный код
1 #include <ESP8266WiFi.h>
2 #include <OneWire.h>
3 #include <DallasTemperature.h>
4 #include <Servo.h>
5
6 // Определение пинов
7 #define TRIG_PIN 9
8 #define ECHO_PIN 10
9 #define SERVO_PIN 11
10 #define ONE_WIRE_BUS 2
11
12// Настройка Wi-Fi
13const char* ssid = "YOUR_SSID"; // Замените на ваш SSID
14const char* password = "YOUR_PASSWORD"; //
Замените на ваш пароль
15
16 // Инициализация датчиков
17OneWire oneWire(ONE_WIRE_BUS);
18DallasTemperature sensors(&oneWire);
19Servo myServo;
20
21 // Переменные для хранения данных
22 long duration;
23 float distance;
24 float temperature;
25
26 void setup() {
27 Serial.begin(115200);
28
29// Подключение к Wi-Fi
30WiFi.begin(ssid, password);
31while (WiFi.status() != WL_CONNECTED) {
32delay(1000);
33Serial.println("Подключение к Wi-Fi...");
34}
35Serial.println("Подключено к Wi-Fi");
36
37// Настройка пинов
38pinMode(TRIG_PIN, OUTPUT);
39pinMode(ECHO_PIN, INPUT);
40myServo.attach(SERVO_PIN);
41
42// Инициализация датчика температуры
43sensors.begin();
44}
45
46 void loop() {
47// Получение данных с датчика температуры
48sensors.requestTemperatures();
49temperature = sensors.getTempCByIndex(0);
50Serial.print("Температура: ");
51Serial.println(temperature);
52
53// Получение данных с ультразвукового датчика
54digitalWrite(TRIG_PIN, LOW);
55delayMicroseconds(2);
56digitalWrite(TRIG_PIN, HIGH);
57delayMicroseconds(10);
58digitalWrite(TRIG_PIN, LOW);
59
60duration = pulseIn(ECHO_PIN, HIGH);
61distance = (duration * 0.034) / 2; // Расчет
расстояния в см
62Serial.print("Расстояние до воды: ");
63Serial.println(distance);
64
65// Условие для автоматического кормления
66if (distance < 10) { // Если уровень воды ниже
10 см
67Serial.println("Уровень воды низкий!");
68// Здесь можно добавить уведомление владельцу
69}
70
71// Пример автоматического кормления
72if (millis() % 60000 < 1000) { // Каждую
минуту
73 myServo.write(90); // Открыть кормушку

74delay(2000); // Кормление в течение 2 секунд
75myServo.write(0); // Закрыть кормушку
76Serial.println("Кормление выполнено");
77}
78
79delay(1000); // Задержка перед следующим циклом
80}
3.2.Фото и видеоматериалы
3.3.Выбор одного из вариантов технической реализации сетевого взаимодействия
Для реализации сетевого взаимодействия в данной системе выбрана технология Wi-Fi с использованием модуля ESP8266. Это решение позволяет: