Съдържание:
- Стъпка 1: Консумативи
- Стъпка 2: Схема на оформяне
- Стъпка 3: Подгответе Raspberry Pi
- Стъпка 4: Модел на база данни - MySQL
- Стъпка 5: Frontend: Настройка на уеб сървъра
- Стъпка 6: Бекенд
- Стъпка 7: Поставяне на LED лентата
- Стъпка 8: Поставяне на тръбите
- Стъпка 9: Поставяне на LCD дисплея
- Стъпка 10: Поставяне на сензорите и свързване на LED лентата
- Стъпка 11: Окабеляване на Pi
- Стъпка 12: Изработка на контейнер за вода
- Стъпка 13: Краен резултат
Видео: Автоматизирана саксия за растения - Малка градина: 13 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Аз съм студент по мултимедийни и комуникационни технологии в Howest Kortrijk. За окончателното ни задание трябваше да разработим IoT проект по наш избор.
Оглеждайки идеите, реших да направя нещо полезно за майка ми, която обича отглеждането на растения, и започнах работа по автоматизирана саксия за растения.
Основните задачи за тази автоматизирана саксия за растения, Little Garden, са:
-
Измерете
- Температура
- Интензитет на светлината
- Влажност
- Влажност на почвата
Запазете измерванията в база данни
Подобрете условията за растеж на растенията, ако определена стойност е твърде ниска
Нека устройството се наблюдава и управлява чрез уебсайт
Не всяка стъпка трябва да се следва до маркировката. Много от това, което се случва, може да бъде ваше лично предпочитание или да бъде подобрено. Тази компилация е направена по начин, така че частите да могат да се възстановят след това, така че може да искате да подходите по различен начин към итерацията си, за да я направите по -постоянна
Стъпка 1: Консумативи
Повечето консумативи за този проект не са много трудни за придобиване, въпреки че в моя случай работих с много рециклирани материали. Също така трябваше да се уверя, че мога да възстановя някои материали след това.
Основни компоненти:
- Raspberry Pi 4 модел B
- Захранване на Raspberry Pi
- Малина Pi T-обущар
- 16GB micro SD карта
- Захранване на платка с 3.3V и 5V
- Платка
- 12V захранване
Сензори:
- DHT11: Сензор за влажност и температура
- BH1750: Сензор за интензивност на светлината
- Сензор за влажност на почвата
- MCP3008
Компоненти на задвижването:
- 220V водна помпа
- 12V LED лента
- Реле модул Velleman
- СЪВЕТ 50: NPN транзистор
- 16X2 LCD модулен дисплей
- PCF8574a
Резистори:
- 3 x 330 ома резистори
- 1 x 5k Ohm резистор
- 2 x 10k Ohm резистора
- 1 x 1k Ohm резистор
- 1 x 10k Potentio резистор
Материали:
- Сглобяема оранжерия/саксия за растения
- Разклонителна кутия
- Пластмасова бутилка за вода
- Въртящи се
- Джъмперни проводници + обикновен проводник
- Скрюз
- Спояваща калай + термоусадочни тръби
- Двустранна касета
- Боядисване
Инструменти:
- Пистолет за лепило
- Пробивна машина
- Острие на трион
- Поялник
- Фреза за кутии
- Четка за боядисване
Хубавото на този проект е, че той може да бъде разширен или опростен, чрез добавяне/премахване на компоненти и леко промяна на кода. Например, като замените 220V помпата с 12V помпа, можете да извадите захранващия адаптер от устройството.
Стъпка 2: Схема на оформяне
Основните схеми и електрическите схеми за устройството са показани по -горе. Тук можете да видите как всички компоненти са свързани заедно.
Общо обяснение как работят компонентите:
- DHT11 измерва влажността на въздуха в % и температурата в ° C. Комуникацията с него се управлява от I2C bu.
- BH1750 измерва интензитета на светлината в лукси. Комуникацията се управлява от I2C шина
- Сензорът за влажност на почвата създава цифров сигнал, който се преобразува от MCP3008 в четим цифров сигнал за Raspberry Pi
- 16x2 LCD модулът показва IP адресите от Pi, един след друг. Той е свързан към PCF8574a, който получава сигнал от Raspberry Pi, който ще го преобразува в редица сигнали за битовите щифтове на дисплея. Пиновете E и RS от LCD са свързани директно към Pi. Потенциозният резистор определя яркостта на екрана.
- Водната помпа е свързана към реле, което е между нея и нейното 220V захранване/контакт. Raspberry Pi може да изпрати сигнал към релето, за да затвори електрическата верига и да включи помпата.
- LED лентата е свързана към 12V захранване и TIP 50 (NPN транзистор), който превключва електрическия ток. Резисторът 1k Ohm се използва за ограничаване на изтеглената мощност от Raspberry Pi, в противен случай ще се пържи допълнително хрупкаво.
Стъпка 3: Подгответе Raspberry Pi
Ако все още нямате такъв, ще трябва да поставите едно от изображенията на Raspberry Pi OS на SD картата. Не препоръчвам използването на Lite, тъй като това ми причини проблеми в началото. След това ще трябва да се уверите, че вашият Pi е актуален, като използвате следните команди, докато Pi е свързан с интернет:
- sudo apt-get update
- sudo apt-get надстройка
След това можете да активирате или инсталирате пакетите, за да може проектът да работи, или чрез raspi-config, или чрез команди.
- SPI
- I2C
- MySQL: следваща стъпка
- SocketIO: pip install flask-socketio
След настройката можете да добавите необходимите файлове, написани на html, CSS, Javascript и Python. Целият ми код може да бъде намерен в моето хранилище на github.
Стъпка 4: Модел на база данни - MySQL
По -горе можете да видите ERD диаграмата, която се хоства чрез MariaDB. Препоръчвам да следвате това ръководство за инсталиране на MariaDB, не само за да инсталирате MariaDB, но и за да сте сигурни, че вашият Pi е защитен.
За хора, които биха искали да разберат, базата данни работи по следния начин:
Измерванията и превключвателите на задвижването се съхраняват като редове в таблицата на Metingen.
- metingId = ID на реда за измерване/превключване
- deviceId = ИД на устройството, отговорно за този ред в таблицата
-
waarde = стойност на измерването на сензора или превключвателя на задвижването
- сензор: стойност на измерването в съответните единици
- задвижвания: 0 = OFF и 1 = ON
- коментар = коментари, използвани за добавяне на допълнителна информация, например грешки
- дата = датата и часът, в които е извършено измерването/превключването
Настройките за устройството се съхраняват в Настройки.
- settingId = ИД на този ред и стойността на настройката
- deviceID = ИД на съответното устройство/сензор
- waarde = стойността на настройката
- type = тип на настройката, максимална ли е или минимална?
Не на последно място, таблицата „Устройства“съдържа информация за сензорите и задвижванията.
- deviceId = ИД на устройството в тази таблица
- naam = име на устройството/компонента
- merk = марка
- prijs = цена на компонента
- beschrijving = обобщение на компонента
- eenheid = единица за измерените стойности
- typeDevice = указва дали компонентът е сензор или задвижващ механизъм
Стъпка 5: Frontend: Настройка на уеб сървъра
Pi ще изисква да инсталирате уеб сървъра Apache, за да стартирате уеб сървъра за това устройство. Това може да стане със следната команда:
sudo apt-get инсталирайте apache2.
След като това стане, можете да отидете в папката:/var/www/html. Тук ще трябва да поставите целия код на интерфейса. След това можете да получите достъп до уебсайта, като прегледате IP адреса.
Стъпка 6: Бекенд
За да стартирате бекенда, ще трябва да стартирате файла app.py, ръчно или чрез създаване на услуга за него на Pi, така че да се стартира автоматично.
Както може да забележите, има доста файлове. Разделих кода, доколкото мога, за да имам ясен преглед и организация на кода.
Кратко обяснение:
app.py: Основният файл, в който са свързани базата данни, хардуерният код и задният код
config.py: Конфигурационният файл за databaseRepositories
Хранилища: За достъп до хранилището на данни
-
Помощник
- devices_id: класове, които помагат да се идентифицира информацията за устройството в базата данни
- lcd: за стартиране на PCF и LCD
- Задвижващи механизми: класове за работа на изпълнителните механизми
- Сензори: класове за управление на сензорите
Стъпка 7: Поставяне на LED лентата
Нарязах парче от LED лентата и я залепих в горната част на оранжерийната кутия. Лентата, която използвах, можеше да се отреже на няколко позиции и да се свърже отново, така че можете да поставите няколко ленти и след това да ги свържете отново чрез проводници, което позволява да се освети повече място.
Стъпка 8: Поставяне на тръбите
Тръбите могат да бъдат поставени по няколко начина, но в моя случай ги прикрепих отстрани на дъното, като ги държах възможно най -далеч от другата електроника и оставях водата просто да тече в мръсотията.
Стъпка 9: Поставяне на LCD дисплея
Изрязах едно цяло в капака на разпределителната кутия с трион, създавайки отвор, достатъчно голям, за да може дисплеят да проникне, но достатъчно малък, за да може печатната платка да остане зад него. След това той беше прикрепен към капака с помощта на наклони.
LCD дисплеят показва IP адресите на Raspberry Pi, което ви позволява да знаете кой адрес можете да използвате, за да сърфирате в уебсайта.
Стъпка 10: Поставяне на сензорите и свързване на LED лентата
Използвайки схемите за фризиране, запоявах връзки между проводниците и поставях резисторите вътре в проводниците, като използвах термосвиващи се тръби, за да ги изолирам.
В страничните части на капака и дъното на оранжерията бяха изрязани дупки за закрепване на въртящите се елементи, през които издърпах проводниците за сензорите и LED лентата.
Групирах проводниците по функция. Напрежението от жиците и свиващите се тръби задържа сензорите. Трябваше да използвам само лепило върху проводниците за DHT11, тъй като това се разшири допълнително.
Стъпка 11: Окабеляване на Pi
Изрязах дупки отстрани на разпределителната кутия, за да позволя на проводниците да преминат по -късно.
След това поставих макетната платка (с T-cobbler, PCF8574a, MCP3008, регулируемо съпротивление и TIP50), реле и Raspberry Pi на дъното на разпределителната кутия, която беше покрита с двустранна лента. Захранващият блок не се побираше на макета, затова трябваше да го сложа отстрани и използвах джъмперни проводници, за да го свържа с дъската.
Накрая издърпах адаптера, сензора и проводниците на задвижването през отворите, свързващи проводниците към платката, Raspberry Pi и други компоненти. Проводникът на помпата беше отрязан, за да мога да поставя краищата вътре в релето, така че да може да се използва като превключвател.
Стъпка 12: Изработка на контейнер за вода
Направих контейнер за вода от пластмасова бутилка за вода от 1 литър, като отрязах горната част с кутийка и я нарисувах за по -добър поглед. След това водната помпа беше поставена вътре. Поради правилото за комуникация на съдовете, водата потенциално може да тече през тръбите сама, но задържането на тръбата отстранява проблема.
Стъпка 13: Краен резултат
Моментът, който сте чакали. Сега можете да поставите мръсотията и семената в оранжерийната кутия и да оставите устройството да поеме. Можете да наблюдавате състоянието на устройството от уебсайта и да задавате оптималните стойности за осветлението и почвените условия.
Препоръчвам първо да поливате почвата ръчно, тъй като в началото някои замърсявания могат да бъдат доста сухи. Някои помпи също се поливат доста бавно, но трябва да бъдете много внимателни, тъй като ще се напълнят по -бързо, отколкото бихте очаквали. Наситеността над 80% може да направи почвата много намокрена. Уверете се, че сензорът за влажност на почвата е достатъчно дълбок.
Препоръчано:
Garduino - интелигентната градина с Arduino: 4 стъпки (със снимки)
Garduino - интелигентната градина с Arduino: Тези дни никой не е невинен. Има ли някой, който случайно не е убил растение ??? Трудно е да поддържате растенията си живи. Купувате ново растение и в най -лошия случай просто забравяте да го поливате. В по -добрия случай си спомняте, че съществува, но го правите
Автоматична интелигентна саксия за растения - (DIY, 3D Printed, Arduino, Self Watering, Project): 23 стъпки (със снимки)
Автоматична интелигентна саксия за растения - (DIY, 3D Printed, Arduino, Self Watering, Project): Здравейте, Понякога, когато се отдалечаваме от дома за няколко дни или сме наистина заети, домашните растения (несправедливо) страдат, защото не се поливат, когато трябва ми. Това е моето решение. Това е интелигентна саксия за растения, която включва: Вграден резервоар за вода. Сензо
APIS - Автоматизирана система за напояване на растения: 12 стъпки (със снимки)
APIS - Автоматизирана система за напояване на растения: ИСТОРИЯТА: (следваща еволюция на тази система е достъпна тук) Има доста инструкции по темата за поливането на растенията, така че едва измислих нещо оригинално тук. Това, което прави тази система различна, е количеството програмиране и обичайни
Направи си сам персонализиране на саксия за поливане (3D отпечатано): 14 стъпки (със снимки)
Направи си сам персонализираща сеялка за поливане (3D печат): Този проект е изцяло изпълнен на TinkerCAD, Това е супер лесен процес за създаване на персонализирана сеялка с просто изображение! Сеялката също е самополиваща се. За този проект ще използвате TinkerCAD, това е безплатен CAD софтуер, който е супер лесен за използване
FEDORA 1.0, интелигентна саксия за цветя: 8 стъпки (със снимки)
FEDORA 1.0, интелигентна саксия за цветя: FEDORA или Анализатор за органични резултати за декорация на цветна среда е интелигентна саксия за цветя за вътрешно градинарство. FEDORA не е просто саксия с цветя, тя може да действа като будилник, безжичен музикален плейър и малък приятел робот. Основната характеристика