Mục lục:

Mini-Serre: 11 bước
Mini-Serre: 11 bước

Video: Mini-Serre: 11 bước

Video: Mini-Serre: 11 bước
Video: #11 Growing a Small Vegetable Garden on my Balcony (8sqm) (2020) 2024, Tháng bảy
Anonim
Mini-Serre
Mini-Serre
Mini-Serre
Mini-Serre

Là một sinh viên, tôi có một tật xấu là hay quên đồ đạc. Vì vậy, nếu tôi muốn trồng một loại cây nào đó, tôi thường quên mất nó và nó sẽ chết vì không có ai chăm sóc.

Tôi sẽ cố gắng khắc phục sự cố này với Mini-Serre. Mini-Serre là một hệ thống giám sát làm vườn tự động gửi dữ liệu về các loại cảm biến khác nhau được cài đặt đến máy chủ web chạy trên Raspberry Pi. Bằng cách này, người dùng có thể theo dõi cây trồng của họ trên trang web cho dù họ ở đâu. Khái niệm này đang được phát triển như một dự án cuối cùng trong năm đầu tiên của công nghệ truyền thông và đa phương tiện, tại Howest Kortrijk, Bỉ.

Bước 1: Vật liệu

Các nguyên liệu
Các nguyên liệu

Để xây dựng dự án này, bạn sẽ cần những vật dụng sau:

Thiết bị điện tử

  1. Raspberry pi 3 - bộ
  2. Breadboard
  3. Đầu nối nam-nam
  4. Kết nối nam-nữ
  5. Dallas 18B20 (cảm biến nhiệt độ)
  6. Phát hiện điện trở quang Cảm biến ánh sáng cảm quang
  7. MCP3008
  8. Chiết áp
  9. Màn hình LCD
  10. Điện trở
  11. LED xanh lam
  12. LED RGB

Vỏ bọc:

13. Công viên trung tâm kweekkas (https://www.brico.be/nl/tuin-buitenleven/moestuin/…) 14. Tấm gỗ (đáy hộp) 15. Đinh 16. Đinh vít

Công cụ:

17. Búa 18. Cưa 19. Tua vít 20. Khoan

Bước 2: Tạo mạch

Tạo mạch
Tạo mạch
Tạo mạch
Tạo mạch

Trong bước 2, chúng ta sẽ tạo mạch cho dự án này. Đây là mức tối thiểu tuyệt đối bạn cần nếu bạn muốn nó hoạt động. Sử dụng bảng fritzing và sơ đồ để tạo một bản sao của mạch điện. Đây là nơi bạn cần tất cả các vật liệu điện từ bước 1.

Thông tin về mạch:

Chúng ta có 2 cảm biến kết nối với MCP3008 là cảm biến ánh sáng và cảm biến độ ẩm của đất. Cảm biến nhiệt độ có đầu ra kỹ thuật số và sử dụng chân GPIO trên Raspberry Pi.

Phụ:

Tôi cũng đã triển khai màn hình LCD giúp bạn kết nối với Raspberry Pi sau này dễ dàng hơn mà không cần phải kết nối với máy tính xách tay của bạn. Điều này là không cần thiết nhưng nó rất được đề xuất.

Bước 3: Tạo cơ sở dữ liệu

Tạo cơ sở dữ liệu
Tạo cơ sở dữ liệu

Điều rất quan trọng là phải lưu trữ dữ liệu của bạn từ các cảm biến một cách có tổ chức nhưng cũng an toàn. Đây là lý do tại sao tôi quyết định lưu trữ dữ liệu của mình trong cơ sở dữ liệu. Bằng cách này, chỉ tôi mới có thể truy cập cơ sở dữ liệu này (bằng tài khoản cá nhân) và giữ cho nó có tổ chức. Trong hình trên, bạn có thể tìm thấy lược đồ của tôi từ cơ sở dữ liệu của tôi và bên dưới một tệp để xuất cơ sở dữ liệu sang chương trình cơ sở dữ liệu, ví dụ MySQL.

Chương trình cơ sở dữ liệu Điều quan trọng là cơ sở dữ liệu của chúng tôi có thể tự hoạt động từ Raspberry Pi của chúng tôi. Bạn có thể thực hiện việc này bằng cách tải xuống MySQL hoặc MariaDB cho Raspberry Pi. Trước tiên, bạn muốn tạo cơ sở dữ liệu trên máy tính của mình trong MySQL Workbench. Tiếp theo, bạn xuất cơ sở dữ liệu này dưới dạng một tệp độc lập. Bây giờ kết nối với cơ sở dữ liệu Raspberry Pi của bạn thông qua MySQL Workbench và khôi phục cơ sở dữ liệu tại đây. Bây giờ bạn có cơ sở dữ liệu đang chạy trên Raspberry Pi của mình!

Bước 4: Ghi dữ liệu cảm biến vào cơ sở dữ liệu

Sau khi cơ sở dữ liệu đang chạy trên Raspberry Pi của bạn, chúng tôi muốn các cảm biến của mình có thể lưu trữ dữ liệu của chúng trong đó. Chúng ta có thể làm điều này bằng cách tạo 3 tập lệnh riêng biệt (được thực hiện trong PyCharm). Một tính năng thú vị có trong PyCharm là bạn có thể kết nối với Pi của mình và bằng cách này, bạn có thể truy cập cơ sở dữ liệu của mình và ghi trực tiếp vào đó. Dữ liệu cũng được đọc trực tiếp bởi Raspberry Pi và đèn LED sẽ sáng lên tương ứng với những gì bạn cần.

Đèn LED màu xanh dương sáng lên: Đất không đủ ẩm. Đèn LED RGB sáng màu xanh lá cây: mọi thứ đều ổn. Đèn LED RGB sáng màu đỏ: trời quá nóng, hãy mở mái nhà để làm mát một chút. Đèn LED RGB sáng màu xanh lam: trời lạnh quá, đóng mái che nếu hở.

Bạn có thể tải xuống tất cả các tập lệnh từ kho lưu trữ github của tôi:

Lưu ý: Tôi đã sử dụng thông tin đăng nhập cá nhân của mình cho cơ sở dữ liệu nên bạn có thể phải thay đổi nó để phù hợp với của bạn.

Lưu ý: Thư mục DB1 chứa một lớp 'cơ sở dữ liệu' được nhập trong mã sẽ kết nối với cơ sở dữ liệu của bạn.

Bước 5: Hiển thị IP của bạn trên màn hình

Hiển thị IP của bạn trên màn hình
Hiển thị IP của bạn trên màn hình

Màn hình hiển thị địa chỉ IP mà Raspberry Pi của bạn đang chạy, bằng cách này, bạn có thể dễ dàng kết nối mà không cần bất kỳ dây nào với Raspberry Pi của mình. Tôi cũng đã viết một tập lệnh cho điều này để đọc IP của số pi của bạn và hiển thị nó trên màn hình (lưu ý rằng các chân GPIO của bạn khớp với nhau nếu không thì nó có thể không hoạt động). Raspberry Pi chạy tập lệnh này tự động khi khởi động. Bạn có thể thực hiện việc này bằng cách thêm một số mã vào tệp rc.local trên Raspberry Pi của mình. Bạn có thể đến đó bằng cách nhập 'sudo nano /etc/rc.local', trước dòng mã cuối cùng bạn muốn thêm 'Python3.5 / home / user / filelocation &'.

Bạn có thể tìm thấy script ở đây:

Lưu ý: dấu '&' ở cuối, điều này sẽ làm cho tập lệnh chạy một lần và ngay lập tức dừng nó để các tập lệnh khác có thể chạy tốt.

Bước 6: Đo các cảm biến 10 phút một lần

Đo các cảm biến 10 phút một lần
Đo các cảm biến 10 phút một lần

Chúng tôi không muốn cơ sở dữ liệu của mình bị lấp đầy bởi sensordata từng 0,001 giây, nếu không điều này sẽ khiến cơ sở dữ liệu khó theo kịp với tất cả dữ liệu đến và nó có thể bị sập. Đây là lý do tại sao tôi thêm một mẩu tin lưu niệm vào 'crontab' trên Raspberry Pi. Crontab là một chương trình theo dõi các tác vụ đã lên lịch nên bằng cách này, bạn có thể chỉ cần chạy tập lệnh cứ sau 10 phút một lần.

Làm thế nào để thiết lập nó:

Bạn có thể thiết lập điều này bằng cách đầu tiên nhập vào dòng lệnh Raspberry Pi 'crontab -e', thao tác này sẽ mở trình chỉnh sửa cho crontab. Cuộn xuống cuối tệp và thêm 3 dòng, mỗi dòng cho mỗi cảm biến.

'* / 10 * * * * python3.5 / home / user / filepath / sensor1'

Lưu ý: '* / 10' là 10 phút chúng tôi muốn ở giữa mỗi lần đo. Mã tôi đã nhập sau đó là phiên bản python bạn đang chạy và tệp bạn muốn chạy, vì vậy bạn phải viết một dòng cho mỗi cảm biến vì chúng tồn tại trong 3 tệp khác nhau.

Bước 7: Tạo trang web

Tạo trang web
Tạo trang web

Tôi đã tạo trang web của mình trong một chương trình có tên là Atom. Nó là một chương trình rất đơn giản để sử dụng và có thể được tư vấn nếu bạn là người mới viết HTML và CSS như tôi.

Bạn có thể tìm thấy tất cả mã và hình ảnh được sử dụng theo liên kết này:

Tôi đã tạo giao diện người dùng của trang web trong Visual Studio Code vì vậy nếu bạn không định tự tạo HTML & CSS, bạn có thể thêm tệp vào thư mục mới trong Visual Studio Code thay vì Atom.

Bước 8: Tạo Back-end

Back-end và front-end sẽ là những thứ thực sự tạo nên điều gì đó xảy ra trên trang web mà chúng tôi vừa thực hiện. Trong back-end, chúng tôi kết nối với cơ sở dữ liệu của mình một lần nữa và thay vì đưa dữ liệu vào cơ sở dữ liệu. Bây giờ chúng tôi sẽ đọc tất cả dữ liệu từ các cảm biến khác nhau và sử dụng Socket. IO, chúng tôi sẽ gửi dữ liệu đó đến giao diện người dùng của chúng tôi để chúng tôi có thể hiển thị nó trên trang web.

Bạn có thể tìm thấy mã cho back-end tại đây:

Lưu ý: Chúng tôi sử dụng lớp cơ sở dữ liệu mà chúng tôi đã sử dụng trước đó nên tôi không đưa nó vào kho lưu trữ này.

Bước 9: Tạo giao diện người dùng

Giao diện người dùng là nơi chúng tôi kết hợp mã HTML & CSS cùng với JavaScript và Back-end của chúng tôi. JavaScript tôi đã viết cố gắng tạo kết nối với back-end phải đang chạy. Bây giờ Back-end sẽ gửi cho chúng tôi tất cả dữ liệu từ các cảm biến và chúng tôi có thể tạo một vài hàm trong JavaScript để chỉnh sửa tệp HTML để nó phù hợp với các giá trị hiện tại của chúng tôi.

JavaScript có thể được tìm thấy tại đây:

Lưu ý: hãy đảm bảo rằng bạn liên kết trong HTML của mình đến đúng thư mục chứa JavaScript của bạn, nếu không nó có thể không hoạt động.

Bước 10: Làm nhà kính

Làm nhà kính
Làm nhà kính
Làm nhà kính
Làm nhà kính

Tôi đã mua một gói làm sẵn từ Brico:

Chỉ cần làm theo các bước đi kèm với gói. Sau khi hoàn thành việc này, chúng tôi vẫn chưa sẵn sàng để đưa Raspberry Pi của mình vào đó. Đầu tiên chúng ta cần làm 'sàn' hoặc đáy cho Nhà kính, bạn có thể làm điều này bằng cách lấy một tấm gỗ và đo xem nó phải lớn như thế nào để làm cho nó vừa vặn. Lần đầu tiên tôi làm khung gỗ để tấm gỗ có thứ gì đó để tựa vào.

Bước 11: Kết hợp mọi thứ lại với nhau

Kết hợp mọi thứ lại với nhau
Kết hợp mọi thứ lại với nhau
Kết hợp mọi thứ lại với nhau
Kết hợp mọi thứ lại với nhau
Kết hợp mọi thứ lại với nhau
Kết hợp mọi thứ lại với nhau

Chúng tôi gần như đã sẵn sàng! Chỉ một bước cuối cùng này và bạn đã sẵn sàng để bắt đầu. Lấy Raspberry Pi và nhà kính, tạo một vài lỗ để bạn có thể đặt đèn LED xuyên qua nó, tạo một lỗ cho màn hình và một lỗ cho bộ nguồn Raspberry Pi. Đặt mọi thứ vào nhà kính, cắm Pi và bạn đã thiết lập xong! Bạn đã có nhà kính của riêng mình!

Đề xuất: