Raspberry Pi Pico W로 자동 원예 시스템 구축

Raspberry Pi Pico W로 자동 원예 시스템 구축

녹색 엄지 손가락과 약간의 인내심을 가지고 정원 가꾸기는 실내에 이국적인 식물이 몇 개 있거나 감자와 다년생 식물이 있는 본격적인 야외 정원이 있든 상관없이 사랑스러운 취미입니다.

그렇긴 하지만, 아무런 이유가 없어 보이는 이유로 식물이 죽기 시작하면 인내심이 바닥날 수도 있습니다.

Raspberry Pi Pico W는 손가락 하나 까딱하지 않고도 식물이 잘 자라도록 보장하는 솔루션을 제공하는 데 도움이 될 수 있습니다.

식물 모니터, 일부 코드 및 작은 마이크로컨트롤러가 가정 어디에서나 식물의 상태를 추적하는 방법을 살펴보겠습니다.

필요한 하드웨어

놀랍게도 많은 하드웨어가 필요하지 않습니다. Plant Monitor에는 많은 마법이 포함되어 있습니다. 시작하려면 몇 가지 항목만 있으면 됩니다.

이 식물 모니터는 악어 클립 사용을 지원하지만 이 프로젝트는 식물 모니터링 장치 뒷면에 부착된 핀 커넥터를 활용합니다.

원예 도우미 설정

이 프로젝트에는 플랜트 모니터를 Raspberry Pi Pico W에 연결하고 모든 것이 작동하도록 코드를 생성하고 조작하는 작업이 포함됩니다. 홈 인터넷 연결 내에서 액세스할 수 있는 간단한 웹 페이지를 제공하려면 웹 서버가 필요합니다.

Raspberry Pi Pico에는 다양한 모델 버전이 있습니다. 이 프로젝트에서는 Raspberry Pi Pico W를 사용해야 합니다. Pico W가 무엇을 할 수 있는지 알아보려면 Pico W가 무엇이고 무엇을 할 수 있는지에 대한 가이드를 확인하세요.

먼저 플랜트 모니터가 연결되어 있고 제대로 작동하는지 확인합니다. 이 기사의 뒷부분에서는 홈 네트워크에 연결된 브라우저 지원 장치로 플랜트를 모니터링하는 데 사용되는 간단한 웹 서버 설정을 다룹니다.

플랜트 모니터 준비

다양한 인터넷 사이트를 통해 많은 센서를 구입할 수 있으므로 일부 토양 센서는 토양에서 쉽게 마모되고 다른 센서는 요소에 상당히 잘 견딘다는 사실을 알게 될 것입니다. Monk Makes Plant Monitor는 토양에서 부식되기 쉽지 않기 때문에 좋은 옵션입니다. 이 모니터는 토양의 습기를 측정할 뿐만 아니라 습도와 온도도 측정합니다.

마이크로컨트롤러에 연결된 토양의 식물 모니터

식물 모니터에서 Raspberry Pi Pico W로 4개의 핀만 연결하면 됩니다.

  • GND는 GND로 간다
  • 3V는 3V3 출력에 연결됩니다.
  • RX_IN은 GP0으로 가는 길을 찾을 것입니다.
  • TX_OUT은 GP1과 만날 것입니다.

전원에 연결되면 Raspberry Pi Pico W는 자체 및 식물 모니터에 전원을 공급할 수 있습니다. 장치가 제대로 작동하는지 확인하는 하드웨어의 일부 표시등이 있음을 알 수 있습니다. 또한 녹색, 노란색 또는 빨간색으로 빛나는 LED 표시등이 있습니다(토양에서 감지된 수분 수준에 따라 다름).

Monk Makes Plant Monitor에는 몇 가지 훌륭한 Python 모듈이 함께 제공되지만 식물 토양의 건강 상태를 모니터링하려면 여전히 몇 가지 간단한 코드를 만들어야 합니다. MUO GitHub 리포지토리에서 다음 Python 파일을 가져올 수 있습니다.

토양 감지 부분에는 pmon.pytest.py 가 필요 하며 파이썬 파일 microdot.py , mm_wlan.pypico_w_server.py 는 나중에 간단한 웹 서버를 완성하는 데 사용됩니다.

아직 해보지 않았다면 지금이 MicroPython과 Python의 미묘한 차이점에 대해 잠시 멈추고 새로 고칠 수 있는 좋은 시간입니다.

python 파일 pmon.py 는 플랜트 모니터용 MicroPython 클래스를 생성합니다. UART는 이중 데이터 전송을 처리하고 아날로그를 디지털로 변환하는 작업도 필요합니다. 또한 이 파일에 정의된 wetness , temphumidity 함수 도 알 수 있습니다.

   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")

다음으로 MUO GitHub 리포지토리에서 가져온 test.py 파일 이 필요 합니다.

모듈 시간, pmon ( PlantMonitor 에서 ) 및 기계 가 식물의 상태를 적절하게 모니터링하는 데 필요하다는 것을 알 수 있습니다.

PlantMonitor 모듈을 가져 오면 토양 상태를 모니터링하는 데 필요한 모든 것은 간단한 while 루프입니다. 또한 인쇄 명령은 Thonny 에서 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 문을 추가할 수도 있습니다.

간단한 웹 서버

Raspberry Pi Pico W가 가정 인터넷 연결에 토양 통계를 브로드캐스트하려면 MUO GitHub 리포지토리에서 세 개의 파이썬 파일이 필요합니다.

  • 마이크로도트.py
  • mm_wlan.py
  • pico_w_server.py

microdot 파일 은 백엔드 기능을 처리하여 이 간단한 HTTP 기반 웹 서버를 생성하고 Python 코드 출력을 Raspberry Pi Pico W의 IP 주소를 사용하여 호출할 수 있는 html 기반 웹 페이지로 표시합니다.

mm_wlan.py 파일 은 무선 네트워크에 연결하는 간단한 방법을 제공합니다. Raspberry Pi Pico의 IP 주소와 연결된 메시지를 받게 됩니다. 연결에 실패하면 대신 연결 실패 메시지가 표시됩니다.

pico_w_server.py 파일은 SSID(Raspberry Pi Pico W는 2.4GHz SSID에만 연결됨)와 Wi-Fi 비밀번호를 입력하는 곳입니다 . HTML 섹션 내에서 웹 서버가 웹 브라우저에 표시할 내용을 사용자 정의할 수 있습니다. 새로 고침 섹션에서 주석을 제거하고 웹 페이지를 매 초마다 새로 고치지 않으려면 간격을 조정할 수도 있습니다.

이 파일 맨 아래에서 포트를 사용자 정의할 수도 있습니다. 이 정보를 집 밖에서 인터넷에 노출하려는 경우에 유용합니다.

test.py 파일 을 실행 하면 필요한 서버 Python 파일( mm_wlanpico_w_server )을 가져옵니다. test.py 파일 을 실행한 후 Pi(Thonny 출력에 있음)의 IP 주소를 가져오고 동일한 2.4GHz SSID에 연결된 모든 웹 브라우저에서 사용한 포트(기본값은 80)를 추가합니다. 집에서. 다음과 같은 내용이 표시되어야 합니다.

토양 통계를 표시하는 간단한 html 페이지

연결된 PC의 종속성을 줄이려면 test.py 파일을 main.py 로 변경하고 Raspberry Pi Pico W에 저장합니다. Pico에 LCD를 연결하여 디스플레이를 출력하도록 프로그래밍할 수도 있습니다. IP 주소(연결된 PC의 종속성을 제거할 때).

그 녹색 엄지손가락을 돌려줘

정교한 토양 센서와 간단한 웹 서버를 사용하여 이제 가정 어디에서나 웹 브라우저에서 식물의 상태를 모니터링할 수 있습니다.

적절하다고 생각되는 대로 코드를 자유롭게 조정하십시오. 준비가 되었으면 방금 설정한 간단한 웹 서버에 약간의 광택을 더하는 토양 감지 앱을 만드는 것을 고려하십시오.

이 프로젝트가 완성된 것처럼 느껴지도록 열 램프와 함께 펌프와 릴레이를 추가하면 완전히 자동화된 정원을 갖게 됩니다. 이제 ‘그린 썸’ 상태를 영원히 유지할 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다