Със зелен палец и малко търпение, градинарството е прекрасно хоби, независимо дали имате няколко екзотични растения на закрито или имате пълна градина на открито с картофи и многогодишни растения.
Имайки предвид това, има и моменти, в които търпението ви може да се изчерпи, когато растенията започнат да умират поради това, което изглежда не е основателна причина.
Raspberry Pi Pico W може да помогне да се осигури решение, за да се гарантира, че растенията ще процъфтяват, без изобщо да си мръдне пръста (е, почти).
Нека прегледаме как монитор за растение, някакъв код и малък микроконтролер ще следят здравето на вашето растение от всяко място в дома ви.
Необходим хардуер
Изненадващо, не е необходим много хардуер. Голяма част от магията се съдържа в Plant Monitor. Наистина се нуждаете само от няколко елемента, за да започнете.
- Plant Monitor от Monk Makes
- 4x женски-мъжки джъмпера
- Raspberry Pi Pico W
Въпреки че този монитор за растенията поддържа използването на щипки тип "крокодил", този проект използва щифтовите конектори, прикрепени към задната страна на устройството за наблюдение на растенията.
Настройване на асистента за градинарство
Този проект включва свързване на растителния монитор към вашия Raspberry Pi Pico W, както и създаване и манипулиране на код, за да може всичко да работи. Ще е необходим уеб сървър, за да обслужва проста уеб страница, достъпна в рамките на вашата домашна интернет връзка.
Има различни версии на модела на Raspberry Pi Pico. За този проект ще трябва да използвате Raspberry Pi Pico W. За да научите на какво е способен Pico W, вижте нашето ръководство за какво представлява Pico W и какво може да прави.
Първо, нека се уверим, че мониторът на завода е свързан и работи правилно. По-късно в статията ще се заемете с настройването на прост уеб сървър, използван за наблюдение на вашето предприятие с всяко устройство с активиран браузър, свързано към вашата домашна мрежа.
Подготовка на Plant Monitor
С много сензори, които можете да закупите чрез различни интернет сайтове, ще научите, че някои почвени сензори ще се износят лесно в почвата, а други се противопоставят на елементите доста добре. Monk Makes Plant Monitor е хубав вариант, тъй като не е склонен да корозира в почвата. Този монитор не само измерва влажността на почвата, но също така измерва влажността и температурата.
Само четири пина ще трябва да бъдат свързани от монитора на завода към вашия Raspberry Pi Pico W:
- GND преминава към GND
- 3V се свързва към 3V3 Out
- RX_IN ще намери своя път до GP0
- TX_OUT ще се срещне с GP1
Веднъж свързан към захранването, вашият Raspberry Pi Pico W ще може да захранва себе си и монитора на растението. Ще забележите някои светлини на хардуера, които потвърждават, че устройството работи. Освен това има LED светлина, която ще свети в зелено, жълто или червено (в зависимост от нивото на влага, открито в почвата).
Въпреки че Monk Makes Plant Monitor идва с някои страхотни модули на python, все пак ще трябва да създадете някакъв прост код, за да наблюдавате здравето на почвата на вашето растение. Можете да вземете следните файлове на Python от нашия MUO GitHub хранилище.
Ще имаш нужда pmon.py и test.py за частта за отчитане на почвата и файловете на python microdot.py, mm_wlan.py, и pico_w_server.py ще се използва за завършване на простия уеб сървър по-късно.
Сега е страхотно време да направите пауза и да се освежите фини разлики между MicroPython и Python ако вече не сте го направили.
Файлът на Python, pmon.py, създава MicroPython Class за монитора на растението. UART ще се погрижи за дуплексното предаване на данни и след това е необходима и известна работа по преобразуването на аналогови в цифрови. Ще забележите също, мокрота, темп, и влажност функции, които също се дефинират в този файл.
дефget_wetness(себе си):
връщане int(себе си.request_property("w"))дефget_temp(себе си):
връщане float(себе си.request_property("T"))дефget_humidity(себе си):
връщане float(себе си.request_property("з"))дефled_off(себе си):
себе си.uart.write("аз")
дефled_on(себе си):
себе си.uart.write("Л")
След това ще ви трябва test.py файл, получен от нашия MUO GitHub хранилище.
Ще забележите, че модулите време, pmon (от PlantMonitor), и машина са необходими за правилното наблюдение на здравето на вашето растение.
Като PlantMonitor модулът е импортиран, всичко, което е необходимо за наблюдение на почвените условия, е прост цикъл while. Също така, печат командата ще изведе показанията за влага на почвата, температура и влажност след изпълнение test.py в Тони.
time.sleep(2) # Време за стартиране на PlantMonitor
pm = PlantMonitor()
докатоВярно:
w = pm.get_wetness()
t = pm.get_temp()
h = pm.get_humidity()
печат(„Влажност: {0} Температура: {1} Влажност: {2}“.format (w, t, h))
време.сън(1)
Не ви се напоява растението, когато почвата е твърде суха? Задайте вашето реле на помпата към щифт на Raspberry Pi Pico и използвайте оператор if, за да следите за стойност на влажност (от 100), за да задейства вашата водна помпа, чрез реле, за включване и подаване на вода отново.
реле1 = Пин(15, ПИН. ИЗВЪН) #релето е свързано до GP15 и GND
ако w = 24# следете за стойност на влажност 24/100
relay1.value(1) # включете релето
реле1(0) # изключете релето
Ще искате да направите някои тестове, за да намерите този перфектен баланс, за да сте сигурни, че вашето растение е доволно от количеството вода, което получава. Можете също така да добавите друг if оператор за включване на нагревателна лампа, чрез реле, ако вашето растение е твърде студено.
Прост уеб сървър
Ще ви трябват три python файла от нашия MUO GitHub хранилище, за да може вашият Raspberry Pi Pico W да излъчва статистическите данни за почвата към вашите домашни интернет връзки:
- microdot.py
- mm_wlan.py
- pico_w_server.py
The микроточка файлът обработва бек-енд функциите за създаване на този прост HTTP-базиран уеб сървър и показва извеждане на код на python като базирана на html уеб страница, която може да бъде извикана чрез IP адреса на Raspberry Pi Пико У.
The mm_wlan.py предлага лесен начин за свързване към безжична мрежа. Или ще получите IP адрес на вашия Raspberry Pi Pico и свързано съобщение. Ако връзката не е успешна, вместо това ще получите съобщение за неуспешна връзка.
The pico_w_server.py файлът е мястото, където въвеждате SSID (не забравяйте, че Raspberry Pi Pico W се свързва само с 2,4 GHz SSID) и вашата Wi-Fi парола. В рамките на раздела HTML можете да персонализирате какво вашият уеб сървър ще показва в уеб браузър. Можете също така да премахнете коментарите от раздела за опресняване и да промените интервала, ако не искате уеб страницата да се опреснява всяка секунда или така.
В най-долната част на този файл можете също да персонализирате порта. Това е удобно, ако искате да изложите тази информация в интернет извън дома си.
Когато стартирате своя test.py файл, необходимите сървърни python файлове (mm_wlan и pico_w_сървър) се импортират за вас. След като изпълните test.py файл, вземете IP адреса, ако вашият Pi (намерен в изхода на Thonny) и добавете порта, който сте използвали (по подразбиране е 80) от всеки уеб браузър, който е свързан към същия 2,4 GHz SSID у дома. Трябва да видите нещо подобно:
За да намалите зависимостта на вашия свързан компютър, променете test.py файл към main.py и спестете от своя Raspberry Pi Pico W. Може също така да помислите за свързване на LCD към вашия Pico, така че да програмирате дисплея да извежда IP адреса (когато премахнете зависимостта на вашия свързан компютър).
Върни този зелен палец
С усъвършенстван сензор за почвата и прост уеб сървър вече можете да наблюдавате здравето на вашето растение от уеб браузър навсякъде във вашия дом.
Чувствайте се свободни да променяте кода, както сметнете за добре. Ако сте готови, помислете за създаването на приложение за отчитане на почвата, което добавя малко лак към простия уеб сървър, който току-що сте настроили.
За да направите този проект да се почувства завършен, добавете помпа и реле, заедно с нагревателна лампа, и ще имате напълно автоматизирана градина. Сега ще можете завинаги да поддържате статуса си „зелен палец“.