Mục lục:

Chậu trồng cây tự động - Khu vườn nhỏ: 13 bước (có hình ảnh)
Chậu trồng cây tự động - Khu vườn nhỏ: 13 bước (có hình ảnh)

Video: Chậu trồng cây tự động - Khu vườn nhỏ: 13 bước (có hình ảnh)

Video: Chậu trồng cây tự động - Khu vườn nhỏ: 13 bước (có hình ảnh)
Video: Beautiful landscape. Trang trí tiểu cảnh sân vườn đẹp, hồ cá Koi đẹp- Đăng Khoa Garden- 0935227999 2024, Tháng bảy
Anonim
Chậu trồng cây tự động - Khu vườn nhỏ
Chậu trồng cây tự động - Khu vườn nhỏ

Tôi là sinh viên ngành Công nghệ Truyền thông và Đa phương tiện tại Howest Kortrijk. Đối với nhiệm vụ cuối cùng của chúng tôi, chúng tôi phải phát triển một dự án IoT theo lựa chọn của riêng mình.

Tìm kiếm ý tưởng xung quanh, tôi quyết định làm một cái gì đó hữu ích cho mẹ tôi, người thích trồng cây và bắt đầu làm việc trên một chậu cây tự động.

Nhiệm vụ chính của chậu cây tự động này, Little Garden, là:

  • Đo lường

    • Nhiệt độ
    • Cường độ sáng
    • Độ ẩm
    • Độ ẩm của đất

Lưu các phép đo vào cơ sở dữ liệu

Cải thiện các điều kiện cho sự phát triển của cây nếu một giá trị nhất định quá thấp

Cho phép thiết bị được giám sát và quản lý thông qua một trang web

Không phải tất cả các bước đều phải được thực hiện theo đúng mục tiêu. Rất nhiều điều xảy ra có thể là sở thích cá nhân của bạn hoặc được cải thiện. Bản dựng này được thực hiện theo cách để các bộ phận có thể được phục hồi sau đó, vì vậy bạn có thể muốn tiếp cận theo cách khác nhau để làm cho nó lâu dài hơn

Bước 1: Nguồn cung cấp

Quân nhu
Quân nhu
Quân nhu
Quân nhu
Quân nhu
Quân nhu

Hầu hết các nguồn cung cấp cho dự án này không khó kiếm lắm, mặc dù trong trường hợp của tôi, tôi đã làm việc với rất nhiều vật liệu tái chế. Tôi cũng phải đảm bảo rằng tôi có thể phục hồi một số vật liệu sau đó.

Thành phần cốt lõi:

  • Raspberry Pi 4 kiểu B
  • Bộ nguồn Raspberry Pi
  • Raspberry Pi T-cobbler
  • Thẻ micro SD 16GB
  • Bộ nguồn Breadboard với 3.3V và 5V
  • Breadboard
  • Nguồn điện 12V

Cảm biến:

  • DHT11: Cảm biến độ ẩm và nhiệt độ
  • BH1750: Cảm biến cường độ ánh sáng
  • Cảm biến độ ẩm đất
  • MCP3008

Thành phần bộ truyền động:

  • Máy bơm nước 220V
  • Dải đèn LED 12V
  • Mô-đun chuyển tiếp Velleman
  • MẸO 50: Bóng bán dẫn NPN
  • Màn hình LCD-moduke 16X2
  • PCF8574a

Điện trở:

  • Điện trở 3 x 330 Ohm
  • Điện trở 1 x 5k Ohm
  • 2 x điện trở 10k Ohm
  • Điện trở 1 x 1k Ohm
  • 1 x điện trở Potentio 10k

Vật liệu:

  • Nhà kính / chậu cây đúc sẵn
  • Hộp đựng mối nối hai mạch điện
  • Chai nước nhựa
  • Xoay
  • Dây nhảy + dây thường
  • Skrews
  • Thiếc hàn + ống co nhiệt
  • Mỏ vịt hai mặt
  • Sơn

Công cụ:

  • Súng bắn keo
  • Máy khoan
  • Lưỡi cưa
  • Hàn sắt
  • Máy cắt hộp
  • Cọ sơn

Điều thú vị về dự án này là nó có thể được mở rộng hoặc đơn giản hóa, bằng cách thêm / bớt các thành phần và tinh chỉnh một chút mã. Ví dụ, bằng cách thay thế máy bơm 220V bằng máy bơm 12V, bạn có thể tháo bộ chuyển đổi điện ra khỏi thiết bị.

Bước 2: Lược đồ Fritzing

Lược đồ Fritzing
Lược đồ Fritzing
Lược đồ Fritzing
Lược đồ Fritzing

Bảng mạch và sơ đồ điện cho thiết bị được hiển thị ở trên. Ở đây bạn có thể thấy tất cả các thành phần được kết nối với nhau như thế nào.

Giải thích chung về cách hoạt động của các thành phần:

  • DHT11 đo độ ẩm không khí theo% và nhiệt độ tính bằng ° C. Giao tiếp với nó được xử lý bởi một bu I2C.
  • BH1750 đo cường độ ánh sáng bằng lux. Giao tiếp được xử lý bởi một bus I2C
  • Cảm biến độ ẩm của đất tạo ra tín hiệu kỹ thuật số được MCP3008 chuyển đổi thành tín hiệu kỹ thuật số có thể đọc được cho Raspberry Pi
  • Mô-đun LCD 16x2 hiển thị lần lượt các địa chỉ IP từ Pi. Nó được kết nối với PCF8574a nhận tín hiệu từ Raspberry Pi sẽ chuyển đổi nó thành một số tín hiệu cho các chân bit của màn hình. Các chân E và RS từ màn hình LCD được kết nối trực tiếp với Pi. Điện trở potentio quyết định độ sáng của màn hình.
  • Máy bơm nước được kết nối với một rơ le nằm giữa nó và nguồn điện / ổ cắm 220V. Raspberry Pi có thể gửi tín hiệu đến rơ le để đóng mạch điện và bật máy bơm.
  • Dải đèn LED được kết nối với nguồn điện 12V và TIP 50 (bóng bán dẫn NPN) để chuyển đổi dòng điện. Điện trở 1k Ohm được sử dụng để hạn chế công suất rút ra từ Raspberry Pi, nếu không nó sẽ được chiên giòn hơn.

Bước 3: Chuẩn bị Raspberry Pi

Chuẩn bị Raspberry Pi
Chuẩn bị Raspberry Pi

Nếu bạn chưa có, bạn sẽ cần đặt một trong các hình ảnh Hệ điều hành Raspberry Pi vào thẻ SD. Tôi không khuyên bạn nên sử dụng Lite, vì điều này đã gây ra cho tôi sự cố ngay từ đầu. Sau đó, bạn sẽ phải đảm bảo số Pi của mình được cập nhật bằng cách sử dụng các lệnh sau khi Pi được kết nối với internet:

  1. sudo apt-get cập nhật
  2. sudo apt-get nâng cấp

Sau đó, bạn có thể kích hoạt hoặc cài đặt các gói để dự án hoạt động, thông qua raspi-config hoặc các lệnh.

  • SPI
  • I2C
  • MySQL: bước tiếp theo
  • SocketIO: pip cài đặt flask-socketio

Sau khi thiết lập, bạn có thể thêm các tệp cần thiết được viết bằng html, CSS, Javascript và Python. Tất cả mã của tôi có thể được tìm thấy trên kho lưu trữ github của tôi.

Bước 4: Mô hình cơ sở dữ liệu - MySQL

Mô hình cơ sở dữ liệu - MySQL
Mô hình cơ sở dữ liệu - MySQL

Ở trên, bạn có thể thấy sơ đồ ERD được lưu trữ thông qua MariaDB. Tôi khuyên bạn nên làm theo hướng dẫn cài đặt MariaDB này, không chỉ để cài đặt MariaDB mà còn để đảm bảo Pi của bạn được bảo vệ.

Đối với những người muốn hiểu, cơ sở dữ liệu hoạt động như sau:

Các phép đo và chuyển đổi cơ cấu chấp hành được lưu trữ dưới dạng hàng trong bảng Metingen.

  • metingId = ID của hàng đo lường / chuyển đổi
  • deviceId = ID của thiết bị chịu trách nhiệm cho hàng này trong bảng
  • waarde = giá trị của phép đo cảm biến hoặc bộ truyền động chuyển đổi

    • cảm biến: giá trị của phép đo trong các đơn vị tương ứng
    • bộ truyền động: 0 = TẮT và 1 = BẬT
  • commentaar = nhận xét được sử dụng để thêm thông tin bổ sung, chẳng hạn như lỗi
  • datum = ngày và giờ thực hiện phép đo / chuyển đổi

Các cài đặt cho thiết bị được lưu trữ trong Cài đặt.

  • settingId = ID của hàng này và giá trị cài đặt
  • deviceID = ID của thiết bị / cảm biến tương ứng
  • waarde = giá trị của cài đặt
  • type = loại settin, là tối đa hay tối thiểu?

Cuối cùng nhưng không kém phần quan trọng, bảng Thiết bị chứa thông tin về các cảm biến và bộ truyền động.

  • deviceId = ID của thiết bị trong bảng này
  • naam = tên của thiết bị / thành phần
  • merk = thương hiệu
  • prijs = giá của thành phần
  • beschrijving = tóm tắt thành phần
  • eenheid = đơn vị cho các giá trị đo được
  • typeDevice = chỉ định thành phần là cảm biến hay thiết bị truyền động

Bước 5: Giao diện người dùng: Thiết lập Máy chủ web

Giao diện người dùng: Thiết lập Máy chủ trang web
Giao diện người dùng: Thiết lập Máy chủ trang web

Pi sẽ yêu cầu bạn cài đặt máy chủ web Apache để chạy máy chủ web cho thiết bị này. Điều này có thể được thực hiện bằng lệnh sau:

sudo apt-get install apache2.

Sau khi hoàn tất, bạn có thể điều hướng đến thư mục: / var / www / html. Ở đây bạn sẽ cần đặt tất cả mã của giao diện người dùng. Sau đó, bạn có thể truy cập trang web bằng cách duyệt đến địa chỉ IP.

Bước 6: Phụ trợ

Để chạy chương trình phụ trợ, bạn sẽ cần chạy tệp app.py, theo cách thủ công hoặc bằng cách tạo dịch vụ cho nó trên Pi để nó tự động khởi động.

Như bạn có thể nhận thấy, có khá nhiều tệp. Tôi tách mã nhiều nhất có thể để có cái nhìn tổng quan và tổ chức rõ ràng về mã.

Một lời giải thích ngắn gọn:

app.py: Tệp chính nơi cơ sở dữ liệu, mã phần cứng và mã phụ trợ được kết hợp

config.py: Tệp cấu hình cho databaseRepositories

Kho lưu trữ: Để truy cập vào kho dữ liệu

  • Người giúp đỡ

    • device_id: các lớp giúp xác định thông tin thiết bị trong cơ sở dữ liệu
    • lcd: để chạy PCF và LCD
    • Bộ truyền động: các lớp để chạy bộ truyền động
    • Cảm biến: các lớp để chạy các cảm biến

Bước 7: Đặt dải LED

Đặt dải LED
Đặt dải LED

Tôi cắt một đoạn của dải đèn LED và dán nó vào trên cùng của hộp nhà kính. Dải tôi đã sử dụng có thể được cắt ở nhiều vị trí và kết nối lại, vì vậy bạn có thể đặt nhiều dải và kết nối chúng lại sau đó thông qua dây dẫn, cho phép nhiều không gian hơn được thắp sáng.

Bước 8: Đặt ống

Đặt ống
Đặt ống

Các ống có thể được đặt theo một số cách, nhưng trong trường hợp của tôi, tôi gắn chúng vào cạnh của đáy, giữ chúng càng xa các thiết bị điện tử khác càng tốt và để nước chảy vào bụi bẩn một cách đơn giản.

Bước 9: Đặt màn hình LCD

Đặt màn hình LCD
Đặt màn hình LCD

Tôi cắt toàn bộ nắp hộp nối bằng một lưỡi cưa, tạo ra một khe hở đủ lớn để màn hình có thể xuyên qua, nhưng đủ nhỏ để PCB sẽ ở sau nó. Sau đó, nó được gắn vào nắp bằng xiên.

Màn hình LCD hiển thị địa chỉ IP của Raspberry Pi, giúp bạn có thể biết địa chỉ nào bạn có thể sử dụng để truy cập trang web.

Bước 10: Đặt các cảm biến và kết nối dải LED

Đặt các cảm biến và kết nối dải LED
Đặt các cảm biến và kết nối dải LED
Đặt các cảm biến và kết nối dải LED
Đặt các cảm biến và kết nối dải LED

Bằng cách sử dụng sơ đồ fritzing, tôi hàn các kết nối giữa các dây và đặt các điện trở bên trong dây, sử dụng các ống co nhiệt để cách ly chúng.

Các lỗ được khoét ở hai bên của nắp và đáy nhà kính để gắn các khớp xoay, qua đó tôi kéo dây cho các cảm biến và dải đèn LED.

Tôi đã nhóm các dây theo chức năng. Bản thân sức căng từ các dây và ống co lại đã giữ các cảm biến. Tôi chỉ phải sử dụng keo trên dây cho DHT11 kể từ khi điều này kéo dài thêm.

Bước 11: Lên dây Pi

Lên dây cho Pi
Lên dây cho Pi
Lên dây cho Pi
Lên dây cho Pi
Lên dây cho Pi
Lên dây cho Pi

Tôi khoét các lỗ ở mặt bên của hộp nối để cho phép các dây đi qua sau này.

Sau đó, tôi đặt breadboard (với T-cobbler, PCF8574a, MCP3008, điện trở có thể điều chỉnh và TIP50), rơ le và Raspberry Pi ở dưới cùng của hộp nối, được bao phủ bởi miếng đệm hai mặt. Nguồn điện không phù hợp với breadboard, vì vậy tôi phải đặt nó ở bên cạnh và sử dụng dây jumper để kết nối nó với breadboard.

Cuối cùng, tôi kéo dây bộ điều hợp, cảm biến và bộ truyền động qua các lỗ kết nối dây với breadboard, Raspberry Pi và các thành phần khác. Dây của máy bơm đã bị cắt để tôi có thể đặt các đầu bên trong rơ le để nó có thể được sử dụng như một công tắc.

Bước 12: Làm thùng chứa nước

Làm thùng chứa nước
Làm thùng chứa nước

Tôi đã làm một hộp đựng nước từ một chai nước nhựa 1l bằng cách cắt phần trên của chiếc hộp và sơn nó cho đẹp hơn. Máy bơm nước sau đó đã được đặt bên trong. Nguyên nhân do quy tắc của các mạch thông nhau, nước có khả năng tự chảy qua các đường ống, nhưng việc giữ ống lên sẽ khắc phục được vấn đề.

Bước 13: Kết quả cuối cùng

Kết quả cuối cùng
Kết quả cuối cùng
Kết quả cuối cùng
Kết quả cuối cùng

Khoảnh khắc mà bạn đã chờ đợi. Bây giờ bạn có thể đặt bụi bẩn và hạt giống bên trong hộp nhà kính và để thiết bị tiếp quản. Bạn có thể theo dõi trạng thái của thiết bị từ trang web và đặt các giá trị tối ưu cho điều kiện ánh sáng và đất.

Tôi khuyên bạn nên tưới đất bằng tay trước tiên, vì một số bụi bẩn lúc đầu có thể khá khô. Một số máy bơm cũng có vẻ chảy nước khá chậm, nhưng bạn cần phải hết sức cẩn thận vì nó sẽ đầy nhanh hơn bạn mong đợi. Độ bão hòa trên 80% có thể làm cho mặt đất rất sũng nước. Và đảm bảo cảm biến độ ẩm của đất đủ sâu.

Đề xuất: