Оглавление:

Проект ЭлектроТерра: 9 шагов
Проект ЭлектроТерра: 9 шагов

Видео: Проект ЭлектроТерра: 9 шагов

Видео: Проект ЭлектроТерра: 9 шагов
Видео: Вебинар - Развитие Технологий от "Гаража" до "Академии" 2024, Ноябрь
Anonim
Проект ЭлектроТерра
Проект ЭлектроТерра

Сделала «умный» террариум / виварий как школьный проект.

ElectroTerra управляется Raspberry Pi, на котором размещен веб-сайт и хранятся данные, собранные с датчиков, в базе данных MariaDB.

Сайт показывает температуру и относительную влажность с датчиков и позволяет управлять вентилятором и светодиодной лентой. Эта полоса также может автоматически работать с датчиком LDR.

Я предполагаю некоторые практические знания об использовании Raspberry Pi, Arduino, MariaDB (Mysql) и разводке макетов.

Запасы

Я составил список материалов, чтобы вы могли найти все необходимое для этого проекта.

Шаг 1: Настройка Raspberry Pi

Сначала вам нужно настроить основы для Raspberry Pi:

Я использовал ssh-соединение для управления Pi с помощью ноутбука:

Для кодирования я использовал Visual Studio Code с расширением ssh:

Чтобы сделать веб-сайт доступным в вашей частной сети, вы можете проверить эту инструкцию на шагах 1-3: https://www.instructables.com/id/Host-your-website-on-Raspberry-pi/ Нет дополнительной сборки безопасности в этом проекте, так что остерегайтесь выставлять его в Интернете.

Шаг 2: Создание электронной схемы

Создание электронной схемы
Создание электронной схемы

На схеме фритзинга вы можете увидеть все необходимые компоненты в этом проекте. 1-проводной датчик температуры можно заменить встроенным датчиком температуры DHT22.

Arduino питается от Pi через USB-кабель.

Шаг 3: Программирование Arduino +

Arduino + Программирование
Arduino + Программирование
Arduino + Программирование
Arduino + Программирование

Поскольку функции в библиотеках Arduino для DHT22 и драйвера светодиодной ленты очень проработаны, я решил добавить Arduino для этих частей.

Поэтому вам нужна IDE Arduino.

Обязательно импортируйте эти библиотеки:

  • Библиотека DHT:
  • RGBdriver: в репозитории electroterra на github

Шаг 4: Тестирование датчиков и исполнительных механизмов на Pi

В репозитории Github есть несколько тестовых файлов для отдельных компонентов.

Это классы: mcp.py (охватывающий аналоговые данные из LDR) pcf.py (передача данных I2C) и pcf_lcd.py (интерфейс с ЖК-дисплеем).

Шаг 5: База данных

База данных
База данных
База данных
База данных

Создайте базу данных electroterra на Mysql worckbench через файл дампа (final_dump_electroterra.sql в репозитории Github) с некоторыми тестовыми данными.

Существует проблема совместимости при использовании мастера «Переадресация инженера в базу данных» в Mysql Workbench. Обязательно удалите параметр VISIBLE в операторах sql, поскольку он не работает в MariaDB.

Шаг 6: интерфейс

Внешний интерфейс
Внешний интерфейс

Код HTML, CSS и Javascript можно найти в репозитории Github. Их следует поместить в каталог, в котором будет размещен веб-сайт. Дизайн оптимизирован для мобильного использования и был протестирован на последних стабильных версиях Chrome, Firefox и Edge.

Шаг 7: бэкэнд

Код app.py, datarepository.py и Database.py должен находиться в домашнем каталоге пользователя Pi. Чтобы Pi запускал файл автоматически при перезагрузке, используйте эти инструкции:

Вы можете найти код в репозитории github:

Шаг 8: соединяем все вместе

Собираем вещи вместе
Собираем вещи вместе
Собираем вещи вместе
Собираем вещи вместе

Эта установка является доказательством правильности концепции.

Вентилятор фиксируется горячим клеем. В вентиляционной планке просверлены дополнительные отверстия для проводки.

Далее был ящик для электронных деталей. Использовался простой пластиковый ящик. Рассмотрите возможность добавления вентиляционной полосы на случай перегрева.

Шаг 9: Тестирование

Image
Image
Тестирование
Тестирование

Включите Raspberry Pi и блоки питания.

Перейдите к IP-адресу, отображаемому на ЖК-дисплее.

Таким образом, вы можете контролировать данные и управлять исполнительными механизмами.

Рекомендуемые: