Оглавление:

Мини-Серр: 11 ступеней
Мини-Серр: 11 ступеней

Видео: Мини-Серр: 11 ступеней

Видео: Мини-Серр: 11 ступеней
Видео: Подкатил к девушке ревнивого бодибилдера | Паркур-Пранк😱 2024, Июль
Anonim
Мини-Серр
Мини-Серр
Мини-Серр
Мини-Серр

В студенческие годы у меня есть дурная привычка что-то забывать. Из-за этого, если я хочу вырастить определенный сорт растений, я обычно забываю о нем, и оно умирает, потому что некому о нем заботиться.

Я постараюсь решить эту проблему с помощью Mini-Serre. Mini-Serre - это автоматизированная система мониторинга садоводства, которая отправляет данные различных типов датчиков, установленных на веб-сервер, работающий на Raspberry Pi. Таким образом, пользователь может отслеживать свои растения на веб-сайте, где бы они ни находились. Эта концепция разрабатывается как заключительный проект в течение первого года развития мультимедийных и коммуникационных технологий в Ховест Кортрейк, Бельгия.

Шаг 1: материалы

Материалы
Материалы

Для создания этого проекта вам потребуются следующие предметы:

Электроника

  1. Raspberry pi 3 - комплект
  2. Макетная плата
  3. Разъемы типа папа-папа
  4. Разъемы типа "папа-мама"
  5. Dallas 18B20 (датчик температуры)
  6. Фоточувствительный датчик света с обнаружением фоторезистора
  7. MCP3008
  8. Потенциометр
  9. ЖК дисплей
  10. Резисторы
  11. Синий светодиод
  12. RGB светодиод

Корпус:

13. Kweekkas Central Park (https://www.brico.be/nl/tuin-buitenleven/moestuin/…) 14. Деревянная пластина (нижняя часть корпуса) 15. Гвозди 16. Винты

Инструменты:

17. Молоток 18. Пила 19. Отвертка 20. Сверло

Шаг 2: Изготовление схемы

Создание схемы
Создание схемы
Создание схемы
Создание схемы

На шаге 2 мы собираемся сделать схему для этого проекта. Это абсолютный минимум, который вам нужен, если вы хотите, чтобы он работал. Воспользуйтесь таблицей фритзинга и схемой, чтобы сделать копию схемы. Здесь вам понадобятся все электрические материалы из шага 1.

Информация о схеме:

К MCP3008 подключены 2 датчика: датчик освещенности и датчик влажности почвы. Датчик температуры имеет цифровой выход и использует вывод GPIO на Raspberry Pi.

Дополнительный:

Я также реализовал ЖК-дисплей, который в дальнейшем упростит подключение к Raspberry Pi без необходимости подключения к ноутбуку. Это не обязательно, но настоятельно рекомендуется.

Шаг 3: Создайте базу данных

Создать базу данных
Создать базу данных

Очень важно хранить данные с датчиков организованным, но в то же время безопасным способом. Вот почему я решил хранить свои данные в базе данных. Таким образом, только я могу получить доступ к этой базе данных (с личной учетной записью) и поддерживать ее порядок. На картинке выше вы можете найти мою схему из моей базы данных, а ниже - файл для экспорта базы данных в программу базы данных, например MySQL.

База данных-программа Важно, чтобы наша база данных могла работать самостоятельно с нашей Raspberry Pi. Вы можете сделать это, загрузив MySQL или MariaDB для Raspberry Pi. Сначала вы хотите создать базу данных на своем компьютере в MySQL Workbench. Затем вы экспортируете эту базу данных как автономный файл. Теперь подключитесь к базе данных Raspberry Pi через MySQL Workbench и восстановите базу данных здесь. Теперь у вас есть база данных, запущенная на вашем Raspberry Pi!

Шаг 4: Запись данных датчика в базу данных

После того, как база данных будет запущена на вашем Raspberry Pi, мы хотим, чтобы наши датчики могли хранить в ней свои данные. Мы можем сделать это, создав 3 отдельных скрипта (что и сделано в PyCharm). Приятная функция, включенная в PyCharm, заключается в том, что вы можете подключиться к своему Pi, и таким образом вы можете получить доступ к своей базе данных и писать прямо в нее. Данные также напрямую считываются Raspberry Pi, и светодиоды загораются в соответствии с тем, что вам нужно.

Горит синий светодиод: почва недостаточно влажная. Светодиод RGB горит зеленым: все в порядке. Светодиод RGB горит красным: слишком жарко, откройте крышу, чтобы немного остыть. Светодиод RGB горит синим: слишком холодно, закройте крышу, если она открыта.

Вы можете скачать все скрипты из моего репозитория на github:

Примечание. Я использовал свою личную информацию для входа в базы данных, поэтому вам, возможно, придется изменить ее, чтобы она соответствовала вашей.

Примечание. Папка DB1 содержит класс «база данных», который импортируется в коде, который будет подключаться к вашей базе данных.

Шаг 5: Отображение вашего IP на дисплее

Отображение вашего IP на дисплее
Отображение вашего IP на дисплее

На дисплее отображается IP-адрес, на котором работает ваш Raspberry Pi, таким образом вы можете легко подключиться к Raspberry Pi без каких-либо проводов. Я также написал для этого сценарий, который считывает IP-адрес вашего пи и отображает его на дисплее (обратите внимание, что ваши контакты GPIO совпадают, иначе это может не сработать). Raspberry Pi запускает этот сценарий автоматически при запуске. Вы можете сделать это, добавив код в файл rc.local на Raspberry Pi. Вы можете попасть туда, набрав «sudo nano /etc/rc.local» перед последней строкой кода, в которую вы хотите добавить «Python3.5 / home / user / filelocation &».

Вы можете найти сценарий здесь:

Примечание: '&' в конце, это заставит скрипт запускаться один раз и немедленно остановит его, чтобы другие скрипты могли работать так же.

Шаг 6: Измерение датчиков каждые 10 минут

Измерение датчиков каждые 10 минут
Измерение датчиков каждые 10 минут

Мы не хотим, чтобы наша база данных заполнялась сенсорными данными за 0,001 секунды, в противном случае базе данных будет сложно справляться со всеми поступающими данными, и это может привести к сбою. Вот почему я добавил записку в crontab на Raspberry Pi. Crontab - это программа, которая отслеживает запланированные задачи, поэтому вы можете просто запускать скрипт каждые 10 минут только один раз.

Как это настроить:

Вы можете настроить это, сначала набрав в командной строке Raspberry Pi «crontab -e», это откроет редактор для crontab. Прокрутите файл до конца и добавьте 3 строки, по одной для каждого датчика.

'* / 10 * * * * python3.5 / home / user / filepath / sensor1'

Примечание. «* / 10» - это 10 минут, которые мы хотим проводить между каждым измерением. Код, который я ввел после того, как это версия Python, которую вы запускаете, и файл, который вы хотите запустить, поэтому вам нужно написать одну строку для каждого датчика, потому что они существуют из 3 разных файлов.

Шаг 7: Создание веб-сайта

Создание веб-сайта
Создание веб-сайта

Свой сайт я сделал в программе под названием Atom. Это очень простая в использовании программа, и ее можно посоветовать, если вы новичок в написании HTML и CSS, как я.

Вы можете найти весь использованный код и изображения по этой ссылке:

Я сделал интерфейс веб-сайта в Visual Studio Code, поэтому, если вы не планируете создавать HTML и CSS самостоятельно, вы можете просто добавить файлы в новую папку в Visual Studio Code вместо Atom.

Шаг 8: Создание серверной части

Back-end и front-end - это то, что на самом деле заставляет что-то происходить на только что созданном веб-сайте. В бэкэнде мы снова подключаемся к нашей базе данных, вместо того, чтобы помещать данные в базу данных. Теперь мы прочитаем все данные с разных датчиков и с помощью Socket. IO отправим их в наш интерфейс, чтобы мы могли отобразить их на веб-сайте.

Вы можете найти код серверной части здесь:

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

Шаг 9: Создание Front-end

Интерфейс - это то место, где мы объединяем наш код HTML и CSS вместе с JavaScript и нашим сервером. Написанный мной JavaScript пытается установить соединение с серверной частью, которая должна быть запущена. Теперь серверная часть будет отправлять нам все данные с датчиков, и мы можем сделать несколько функций в JavaScript, которые редактируют файл HTML, чтобы он соответствовал нашим текущим значениям.

Код JavaScript можно найти здесь:

Примечание: убедитесь, что вы ссылаетесь в своем HTML-коде на правильную папку вместо вашего JavaScript, иначе это может не сработать.

Шаг 10: Изготовление теплицы

Изготовление теплицы
Изготовление теплицы
Изготовление теплицы
Изготовление теплицы

Я купил готовый пакет от Brico:

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

Шаг 11: Собираем все вместе

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

Мы почти готовы! Всего лишь один последний шаг, и вы готовы к работе. Возьмите Raspberry Pi и теплицу, сделайте несколько отверстий, чтобы вы могли пропустить через них светодиоды, сделайте отверстие для дисплея и отверстие для блока питания Raspberry Pi. Поместите все в теплицу, подключите Pi, и все готово! У тебя своя теплица!

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