Изградете автоматизирана система за градинарство с Raspberry Pi Pico W

Изградете автоматизирана система за градинарство с Raspberry Pi Pico W
Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Със зелен палец и малко търпение, градинарството е прекрасно хоби, независимо дали имате няколко екзотични растения на закрито или имате пълна градина на открито с картофи и многогодишни растения.





Имайки предвид това, има и моменти, в които търпението ви може да се изчерпи, когато растенията започнат да умират поради това, което изглежда не е основателна причина.





Raspberry Pi Pico W може да помогне да се осигури решение, за да се гарантира, че растенията ще процъфтяват, без изобщо да си мръдне пръста (е, почти).





Нека прегледаме как монитор за растение, някакъв код и малък микроконтролер ще следят здравето на вашето растение от всяко място в дома ви.

Необходим хардуер

Изненадващо, не е необходим много хардуер. Голяма част от магията се съдържа в Plant Monitor. Наистина се нуждаете само от няколко елемента, за да започнете.



Въпреки че този монитор за растенията поддържа използването на щипки тип 'крокодил', този проект използва щифтовите конектори, прикрепени към задната страна на устройството за наблюдение на растенията.

Настройване на асистента за градинарство

Този проект включва свързване на растителния монитор към вашия 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 ще се погрижи за дуплексното предаване на данни и след това е необходима и известна работа по преобразуването на аналогови в цифрови. Ще забележите също, мокрота , темп , и влажност функции, които също се дефинират в този файл.

    def get_wetness(self): 
        return int(self.request_property("w"))

    def get_temp(self):
        return float(self.request_property("t"))

    def get_humidity(self):
        return float(self.request_property("h"))

    def led_off(self):
        self.uart.write("l")

    def led_on(self):
        self.uart.write("L")

След това ще ви трябва test.py файл, получен от нашия MUO GitHub хранилище .

Ще забележите, че модулите време, pmon (от PlantMonitor ), и машина са необходими за правилното наблюдение на здравето на вашето растение.

Като PlantMonitor модулът е импортиран, всичко, което е необходимо за наблюдение на почвените условия, е прост цикъл while. Също така, печат командата ще изведе показанията за влага на почвата, температура и влажност след изпълнение test.py в Тони.

 time.sleep(2) # PlantMonitor startup time 
pm = PlantMonitor()

while True:
    w = pm.get_wetness()
    t = pm.get_temp()
    h = pm.get_humidity()
    print("Wetness: {0} Temp: {1} Humidity: {2}".format(w, t, h))
    time.sleep(1)

Не ви се напоява растението, когато почвата е твърде суха? Задайте вашето реле на помпата към щифт на Raspberry Pi Pico и използвайте оператор if, за да следите за стойност на влажност (от 100), за да задействате вашата водна помпа, чрез реле, за включване и подаване на вода отново.

 relay1 = Pin(15, Pin.OUT) #relay is wired up to GP15 and GND 

if w = 24 # watch for a wetness value of 24/100

relay1.value(1) # turn on the relay
    relay1(0) # turn off the relay

Ще искате да направите някои тестове, за да намерите този перфектен баланс, за да сте сигурни, че вашето растение е доволно от количеството вода, което получава. Можете също така да добавите друг if оператор за включване на нагревателна лампа, чрез реле, ако вашето растение е твърде студено.

Прост уеб сървър

Ще ви трябват три python файла от нашия MUO GitHub хранилище , за да може вашият Raspberry Pi Pico W да излъчва статистическите данни за почвата към вашите домашни интернет връзки:

  • microdot.py
  • mm_wlan.py
  • pico_w_server.py

The микроточка обработва бек-енд функциите за създаване на този прост HTTP-базиран уеб сървър и показва изходния код на Python като html-базирана уеб страница, която може да бъде извикана с помощта на IP адреса на Raspberry Pi Pico W.

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 можете да персонализирате какво вашият уеб сървър ще показва в уеб браузър. Можете също така да премахнете коментарите от секцията за опресняване и да промените интервала, ако не искате уеб страницата да се опреснява всяка секунда или така.

най -добрият начин да получите Microsoft Office

В най-долната част на този файл можете също да персонализирате порта. Това е удобно, ако искате да изложите тази информация в интернет извън дома си.

Когато стартирате своя test.py файл, необходимите сървърни python файлове ( mm_wlan и pico_w_сървър ) се импортират за вас. След като изпълните test.py файл, вземете IP адреса, ако вашият Pi (намерен в изхода на Thonny) и добавете порта, който сте използвали (по подразбиране е 80) от всеки уеб браузър, който е свързан към същия 2,4 GHz SSID у дома. Трябва да видите нещо подобно:

  проста html страница, показваща статистически данни за почвата

За да намалите зависимостта на вашия свързан компютър, променете test.py файл към main.py и спестете от вашия Raspberry Pi Pico W. Може също така да помислите за свързване на LCD към вашия Pico, така че да програмирате дисплея да извежда IP адреса (когато премахнете зависимостта на вашия свързан компютър).

Върни този зелен палец

С усъвършенстван сензор за почвата и прост уеб сървър вече можете да наблюдавате здравето на вашето растение от уеб браузър навсякъде във вашия дом.

Чувствайте се свободни да променяте кода, както сметнете за добре. Ако сте готови, помислете за създаването на приложение за отчитане на почвата, което добавя малко лак към простия уеб сървър, който току-що сте настроили.

За да направите този проект да се почувства завършен, добавете помпа и реле, заедно с нагревателна лампа, и ще имате напълно автоматизирана градина. Сега ще можете завинаги да поддържате статуса си „зелен палец“.