Xây dựng hệ thống làm vườn tự động với Raspberry Pi Pico W
Với ngón tay cái màu xanh lá cây và một chút kiên nhẫn, làm vườn là một sở thích đáng yêu bất kể bạn có một vài loại cây kỳ lạ trong nhà hay có một khu vườn ngoài trời đầy ắp khoai tây và cây lâu năm.
Như đã nói, cũng có những lúc sự kiên nhẫn của bạn có thể cạn kiệt khi thực vật bắt đầu chết mà dường như không có lý do chính đáng nào cả.
Raspberry Pi Pico W có thể giúp cung cấp một giải pháp để đảm bảo rằng cây trồng sẽ phát triển mạnh mà không cần nhấc một ngón tay nào (tốt, gần như vậy).
Hãy xem lại cách một thiết bị theo dõi thực vật, một số mã và một bộ vi điều khiển nhỏ sẽ theo dõi tình trạng của cây từ bất kỳ đâu trong nhà bạn.
Mục Lục
Phần cứng cần thiết
Đáng ngạc nhiên, không có nhiều phần cứng cần thiết. Rất nhiều phép thuật được chứa trong Plant Monitor. Bạn thực sự chỉ cần một vài mục để bắt đầu.
Mặc dù thiết bị giám sát nhà máy này hỗ trợ sử dụng kẹp cá sấu, nhưng dự án này sử dụng các đầu nối chốt được gắn vào mặt sau của thiết bị giám sát nhà máy.
Thiết lập Trợ lý làm vườn
Dự án này liên quan đến việc kết nối màn hình nhà máy với Raspberry Pi Pico W của bạn, cũng như tạo và thao tác mã để mọi thứ hoạt động. Một máy chủ web sẽ được yêu cầu để phục vụ một trang web đơn giản có thể truy cập được trong kết nối internet tại nhà của bạn.
Có nhiều phiên bản mô hình khác nhau của Raspberry Pi Pico. Đối với dự án này, bạn sẽ cần sử dụng Raspberry Pi Pico W. Để tìm hiểu về khả năng của Pico W, hãy xem hướng dẫn của chúng tôi về Pico W là gì và nó có thể làm gì.
Trước tiên, hãy đảm bảo rằng màn hình nhà máy được kết nối và hoạt động bình thường. Ở phần sau của bài viết, bạn sẽ giải quyết việc thiết lập một máy chủ web đơn giản được sử dụng để giám sát nhà máy của bạn bằng bất kỳ thiết bị hỗ trợ trình duyệt nào được kết nối với mạng gia đình của bạn.
Chuẩn bị màn hình thực vật
Với nhiều cảm biến có sẵn để mua qua các trang web khác nhau, bạn sẽ biết được rằng một số cảm biến đất sẽ dễ bị mòn trong đất và những cảm biến khác chịu được các yếu tố khá tốt. Monk Makes Plant Monitor là một lựa chọn hay vì nó không dễ bị ăn mòn trong đất. Màn hình này không chỉ đo độ ẩm của đất mà còn đo độ ẩm và nhiệt độ.
Chỉ cần kết nối bốn chân từ màn hình thực vật với Raspberry Pi Pico W của bạn:
- GND chuyển sang GND
- 3V kết nối với 3V3 Out
- RX_IN sẽ tìm đường đến GP0
- TX_OUT sẽ gặp GP1
Sau khi được kết nối với nguồn điện, Raspberry Pi Pico W của bạn sẽ có thể cung cấp năng lượng cho chính nó và bộ điều khiển nhà máy. Bạn sẽ nhận thấy một số đèn trên phần cứng xác nhận rằng thiết bị đang hoạt động bình thường. Đồng thời, có một đèn LED sẽ phát sáng màu xanh lá cây, vàng hoặc đỏ (tùy thuộc vào mức độ ẩm được phát hiện trong đất của bạn).
Mặc dù Monk Makes Plant Monitor đi kèm với một số mô-đun python tuyệt vời, nhưng bạn vẫn cần tạo một số mã đơn giản để theo dõi tình trạng đất trồng cây của bạn. Bạn có thể lấy các tệp python sau từ kho lưu trữ MUO GitHub của chúng tôi.
Có thể bạn sẽ cần pmon.py và test.py cho phần cảm biến đất và các tệp python microdot.py, mm_wlan.pyvà pico_w_server.py sẽ được sử dụng để hoàn thành máy chủ web đơn giản sau này.
Bây giờ là thời điểm tuyệt vời để tạm dừng và làm mới bản thân với những khác biệt tinh tế giữa MicroPython và Python nếu bạn chưa làm như vậy.
Tệp trăn, pmon.py, tạo Lớp MicroPython cho trình giám sát nhà máy. UART sẽ đảm nhận việc truyền dữ liệu song công và sau đó một số công việc chuyển đổi tín hiệu tương tự sang tín hiệu số cũng cần thiết. Bạn cũng sẽ nhận thấy ẩm ướt, nhiệt độvà độ ẩm các hàm cũng được xác định trong tệp này.
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")
Tiếp theo, bạn sẽ cần test.py tệp được lấy từ kho lưu trữ MUO GitHub của chúng tôi.
Bạn sẽ nhận thấy rằng các mô-đun thời gian, pmon (từ Nhà MáyMàn Hình), và cỗ máy được yêu cầu o theo dõi đúng sức khỏe của nhà máy của bạn.
Như Nhà MáyMàn Hình mô-đun được nhập, tất cả những gì cần thiết để giám sát điều kiện đất là một vòng lặp đơn giản. Ngoài ra, các in lệnh sẽ xuất kết quả đọc độ ẩm, nhiệt độ và độ ẩm của đất sau khi chạy test.py ở Thonny.
time.sleep(2)
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)
Bạn không muốn tưới cây khi đất quá khô? Gán rơle máy bơm của bạn vào một chốt trên Raspberry Pi Pico và sử dụng câu lệnh if để theo dõi giá trị độ ẩm (trong số 100) để kích hoạt máy bơm nước của bạn, thông qua rơle, bật và phân phối lại nước.
relay1 = Pin(15, Pin.OUT) if w = 24
relay1.value(1)
relay1(0)
Bạn sẽ muốn thực hiện một số thử nghiệm để tìm ra sự cân bằng hoàn hảo nhằm đảm bảo cây của bạn hài lòng với lượng nước mà nó nhận được. Bạn cũng có thể thêm một câu lệnh if khác để bật đèn nhiệt, thông qua rơ le, nếu cây của bạn quá lạnh.
Máy chủ web đơn giản
Bạn sẽ cần ba tệp python, từ kho lưu trữ MUO GitHub của chúng tôi, để Raspberry Pi Pico W của bạn phát số liệu thống kê về đất tới các kết nối internet tại nhà của bạn:
- microdot.py
- mm_wlan.py
- pico_w_server.py
Các vi chấm tệp xử lý các chức năng phụ trợ để tạo máy chủ web dựa trên HTTP đơn giản này và hiển thị đầu ra mã python dưới dạng trang web dựa trên html có thể được gọi bằng địa chỉ IP của Raspberry Pi Pico W.
Các mm_wlan.py tập tin cung cấp một cách đơn giản để kết nối với mạng không dây. Bạn sẽ nhận được địa chỉ IP của Raspberry Pi Pico và một thông báo được kết nối. Nếu kết nối không thành công, thay vào đó, bạn sẽ nhận được thông báo kết nối không thành công.
Các pico_w_server.py tệp là nơi bạn nhập SSID (hãy nhớ rằng Raspberry Pi Pico W chỉ kết nối với SSID 2,4 GHz) và mật khẩu Wi-Fi của bạn. Trong phần HTML, bạn có thể tùy chỉnh những gì máy chủ web của bạn sẽ hiển thị trên trình duyệt web. Bạn cũng có thể xóa các nhận xét khỏi phần làm mới và điều chỉnh khoảng thời gian nếu bạn không muốn trang web làm mới mỗi giây hoặc lâu hơn.
Ở dưới cùng của tệp này, bạn cũng có thể tùy chỉnh cổng. Điều này rất hữu ích nếu bạn muốn đưa thông tin này ra internet bên ngoài nhà của mình.
Khi bạn chạy của bạn test.py tệp, các tệp python của máy chủ được yêu cầu (mm_wlan và pico_w_server) được nhập cho bạn. Sau khi bạn chạy test.py tệp, lấy địa chỉ IP nếu Pi của bạn (tìm thấy trong đầu ra Thonny) và thêm cổng bạn đã sử dụng (mặc định là 80) từ bất kỳ trình duyệt web nào được kết nối với cùng một SSID 2,4 GHz ở nhà. Bạn sẽ thấy một cái gì đó như thế này:
Để giảm sự phụ thuộc của PC được kết nối của bạn, hãy thay đổi test.py tập tin để chính.py và lưu trên Raspberry Pi Pico W. Bạn cũng có thể cân nhắc việc kết nối màn hình LCD với Pico để lập trình màn hình xuất địa chỉ IP (khi bạn loại bỏ phần phụ thuộc của PC được kết nối).
Mang lại ngón tay cái màu xanh lá cây đó
Với một bộ cảm biến đất tinh vi và một máy chủ web đơn giản, giờ đây bạn có thể theo dõi tình trạng cây trồng của mình từ một trình duyệt web ở bất cứ đâu trong nhà của bạn.
Vui lòng chỉnh sửa mã khi bạn thấy phù hợp. Nếu bạn sẵn sàng, hãy xem xét việc tạo một ứng dụng cảm biến đất để bổ sung thêm một số chất đánh bóng cho máy chủ web đơn giản mà bạn vừa thiết lập.
Để làm cho dự án này trở nên hoàn chỉnh, hãy thêm một máy bơm và rơle, cùng với đèn sưởi, và bạn sẽ có cho mình một khu vườn hoàn toàn tự động. Giờ đây, bạn sẽ có thể duy trì mãi mãi trạng thái ‘ngón tay cái xanh’ của mình.