Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Иксис Пр Работы / Отчет по пр7 (за качество работы не ручаюсь, сделано на коленке)

.pdf
Скачиваний:
2
Добавлен:
20.12.2024
Размер:
857.08 Кб
Скачать

МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)

Кафедра информационных систем

Отчет по практической работе №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. Это решение позволяет: