
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Этот проект является продолжением нашего более раннего проекта с Greenhouse (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
В этом проекте мы добавили базу данных, в которой мы регистрируем все наши данные, а затем визуализируем их с помощью красного узла для лучшего обзора.
В нашей базе данных мы регистрируем такие данные, как влажность, температура и влажность почвы, которые показаны на разных диаграммах.
Помимо регистрации данных, мы также можем контролировать, какой профиль активен в теплице, и управлять им удаленно.
Затем мы также можем управлять насосом и вентилятором вручную.
Шаг 1. Руководство по установке

Первый шаг - установить все различные компоненты.
Внутри скобок () мы указали, куда подключается компонент. Так, например, Arduino подключается к Raspberry Pi через USB-кабель.
Используемое оборудование:
- Ардуино (Raspberry Pi)
- Малина Pi 3 B +
- Влагомер почвы (Arduino)
- Датчик DHT11 (Arduino)
- Погружной водяной насос HG-320 (реле)
- Реле 5V (Arduino)
- Компьютерный вентилятор (реле)
- Электропитание 230 В (насос)
Используемое программное обеспечение:
- Raspbian (ОС для Raspberry Pi)
- IDE Arduino
- Python (Raspberry Pi) - PySerial- MySQLclient
- Node-Red (Raspberry Pi) - Pythonshell - Summariser - MySQL - Панель инструментов
- Сервер MySQL (freemysqlhosting.net)
Сначала вам нужно будет подключить аппаратные компоненты, поэтому следуйте этому руководству, чтобы построить теплицу: Руководство по установке.
Затем вам нужно будет установить Raspbian OS на Raspberry Pi. После этого вам нужно будет установить Python, а затем установить библиотеки python.
Следующим шагом является установка Node-Red на Raspberry Pi, а затем перейдите к диспетчеру поддонов и установите указанные ранее модули.
Затем перейдите на этот сайт Free MySQL Server и создайте бесплатный сервер MySQL.
Когда все это будет сделано, вы готовы перенести скрипт python на Raspberry Pi, импортировать скрипт Node-Red и загрузить код для Arduino.
Шаг 2: демонстрация контроля


Шаг 3: Список частей / программного обеспечения, используемых в проекте
Мы использовали следующую технологию для изготовления теплицы
- Ардуино
- Raspberry Pi
- Узел-красный
- Python
- PHPMyAdmin
Шаг 4: Список I / 0

Шаг 5: Схема подключения
Шаг 6: Код Arduino
Код Arduino работает путем печати данных, измеренных датчиками, в последовательном соединении, где они считываются Raspberry Pi и передаются в базу данных.
Arduino также имеет несколько цифровых входных контактов, подключенных к Raspberry Pi, которые считывает Arduino, и если один из трех становится ВЫСОКИМ, профиль изменится из-за оператора IF.
Также мы обновили код, чтобы использовать Миллис вместо задержки, что позволяет постоянно читать кнопки и остальную часть кода вместо интервала старой задержки.
Шаг 7: Raspberry Pi 3 B +

Мы использовали Raspberry Pi 3 B + для подключения нашего Arduino к Интернету и базе данных MySQL. Это позволило нам хранить данные с наших датчиков и создавать визуальный интерфейс для конечного пользователя. Для пользовательского интерфейса мы использовали Node-Red с палитрой Dashboard.
Но прежде чем мы смогли показать данные наших датчиков на Node-Red, нам нужен был способ загрузки данных в базу данных MySQL, и для этого мы создали скрипт Python, который будет работать на нашем Raspberry Pi.
Шаг 8: Python

Скрипт Python используется для получения данных по последовательному каналу связи, идущему от Arduino. Затем сценарий отправляет данные в базу данных MySQL.
Мы использовали две библиотеки: pyserial и mysqlclient.
Итак, первым шагом будет загрузка этих двух библиотек:
- PySerial
- MySQLclient
PySerial используется для сбора данных от Arduino через последовательную связь.
устройство = '/ dev / ttyUSB0'
arduino = serial. Serial (устройство, 9600)
Первая строка используется для определения нашего COM-порта. На Raspberry Pi это / dev / ttyUSB0, который мы используем для Arduino. Вторая строка предназначена для открытия последовательного порта для Arduino. Мы просто определяем, какой COM-порт и с какой скоростью работает соединение.
Остальная часть кода выполняется в цикле while.
Затем мы используем несколько блоков Try и Except. Сначала код пытается запустить внутри блока Try, если это не удается, запускает блок Except. Но если блок Try работает нормально, он не запускает блок Except, а просто выполняет остальную часть кода.
Итак, внутри блоков Try у нас есть код, который считывает последовательную связь и затем отправляет ее в нашу базу данных MySQL.
гигролист = arduino.readlines (1)
templist = arduino.readlines (2) влажный список = arduino.readlines (3)
Таким образом, приведенный выше код предназначен для чтения строк в последовательной связи. Число в конце кода определяет строку, которая была прочитана в серийном номере. Итак, эти строки классифицируются по разным переменным.
Когда данные от Arduino получены, мы использовали модуль mysqlclient для отправки данных на наш сервер MySQL.
db = _mysql.connect (host = "sql7.freemysqlhosting.net", user = "sql7256552", passwd = "3ebtbP8FQ2", db = "sql7256552")
Эта строка предназначена для подключения к нашей базе данных MySQL. Он указывает сервер, имя пользователя, пароль и базу данных, к которой он должен подключиться внутри сервера. Здесь вы должны указать подключение к вашей БД MySQL.
db.query ("INSERTINTO` TempHumid` (`temp`,` humid`, `hygro`) VALUES (% s,% s,% s)"% (temp, humid, hygro))
Итак, здесь мы берем наше соединение с БД и делаем SQL-запрос. В запросе говорится, что значения необходимо вставить в таблицу «TempHumid», а затем в столбцы «temp», «humid» и «hygro». Последняя часть «(% s,% s,% s)» представляет собой форматирование строки и используется для предоставления базе данных формата, который она может читать.
И все это действие помещается в цикл while, чтобы мы продолжали получать данные, отправляемые на сервер MySQL.
Если вы хотите увидеть весь код, загрузите скрипт Python (TempHumid.py).
Шаг 9: MySQL


Для сервера MySQL мы использовали бесплатный сервис на www.freemysqlhosting.net. Мы могли бы создать локальный сервер на Raspberry Pi, но мы выбрали бесплатную услугу, чтобы сделать его полностью подключенным к облаку / Интернету.
Чтобы получить доступ к MySQL, вам нужно перейти на phpmyadmin.co и войти в систему с учетными данными из своей учетной записи freemysqlhosting.
Находясь внутри, вы должны создать таблицу под названием «TempHumid», внутри этой таблицы вы должны создать 4 столбца с именами «ID», «temp», «humid» и «hygro». В первом столбце (ID) нужно поставить галочку в поле A_I (Auto Increment). Это сделано для того, чтобы в столбце ID каждому набору данных был присвоен идентификатор. Все следующие столбцы должны быть установлены как INT (целые числа), а стандартное значение равно NULL.
Шаг 10: красный узел



В нашем проекте мы использовали Node-Red для создания графического интерфейса. Node-Red работает на Raspberry Pi и собирает данные из нашей базы данных MySQL и показывает эти данные с помощью датчиков в форме пончика и графических диаграмм, чтобы конечный пользователь мог отслеживать данные. Преимущество Node-Red в том, что его можно просматривать на любом устройстве, а это означает, что размер сайта будет изменен для данного устройства, которое просматривает контент.
Чтобы установить программу Node-Red, посмотрите на шаг 1 и загрузите документ под названием «Node-Red.docx». Затем скопируйте и вставьте текст в Node-Red с помощью функции импорта в правом верхнем углу.
После этого измените настройки БД для вашей БД MySQL.
Рекомендуемые:
Автоматическая комнатная теплица на базе Ikea Socker: 5 шагов

Автоматическая комнатная теплица на основе Ikea Socker: Привет, это мой первый инструктаж. Я многому научился с этим сообществом, и я думаю, что пришло время ответить на мои скромные идеи. Мне очень жаль, что я плохо владею английским, но я сделаю все, что в моих силах. Идея заключалась в том, чтобы сделать настольную теплицу, в которой я мог бы выращивать семена и
Потрясающая теплица с автоматическим поливом, подключением к Интернету и многим другим: 7 шагов (с изображениями)

Потрясающая теплица с автоматическим поливом, подключением к Интернету и многим другим: добро пожаловать в эту инструкцию. В начале марта я была в садовой лавке и увидела теплицы. И так как я уже давно хотел создать проект с заводами и электроникой, я пошел дальше и купил его: https://www.instagram.com/p
MAG (Миниатюрная автоматическая теплица): 9 ступеней

МАГ (Миниатюрная автоматическая теплица): Моя мама большую часть времени очень занята. Поэтому я хотел помочь ей автоматизировать ее теплицы. Таким образом, она может сэкономить немного времени, так как ей не нужно будет поливать растения. Я смогу добиться этого с помощью MAG (Miniature Automatic Garden). Как в
IGreenhouse - Интеллектуальная теплица: 17 шагов (с фотографиями)

IGreenhouse - Интеллектуальная теплица: выращенные дома фрукты и овощи часто лучше, чем те, которые вы покупаете, но иногда вы можете потерять свою теплицу из виду. В этом проекте мы сделаем умную теплицу. Эта оранжерея автоматически открывает и закрывает его окна и дверь
Умная теплица: 12 шагов

Умная теплица: у вас когда-нибудь была проблема, что в вашей теплице было слишком жарко, поэтому все ваши растения погибли из-за того, что вы забыли открыть вентиляционные отверстия? Не смотрите дальше, умная теплица - это решение этой проблемы. как построить тебя