Mục lục:
- Bước 1: Vật liệu
- Bước 2: Tạo mạch
- Bước 3: Tạo cơ sở dữ liệu
- Bước 4: Ghi dữ liệu cảm biến vào cơ sở dữ liệu
- Bước 5: Hiển thị IP của bạn trên màn hình
- Bước 6: Đo các cảm biến 10 phút một lần
- Bước 7: Tạo trang web
- Bước 8: Tạo Back-end
- Bước 9: Tạo giao diện người dùng
- Bước 10: Làm nhà kính
- Bước 11: Kết hợp mọi thứ lại với nhau
Video: Mini-Serre: 11 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
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
Để 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ử
- Raspberry pi 3 - bộ
- Breadboard
- Đầu nối nam-nam
- Kết nối nam-nữ
- Dallas 18B20 (cảm biến nhiệt độ)
- Phát hiện điện trở quang Cảm biến ánh sáng cảm quang
- MCP3008
- Chiết áp
- Màn hình LCD
- Điện trở
- LED xanh lam
- 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
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
Đ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
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
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ô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
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
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:
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: 6 bước
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: Trong phần Hướng dẫn nhanh này, chúng tôi sẽ tạo một bộ điều khiển động cơ bước đơn giản bằng cách sử dụng động cơ bước. Dự án này không yêu cầu mạch phức tạp hoặc vi điều khiển. Vì vậy, không cần thêm ado, chúng ta hãy bắt đầu
Động cơ bước được điều khiển Động cơ bước không có vi điều khiển (V2): 9 bước (có hình ảnh)
Động cơ bước được điều khiển bằng động cơ bước Không cần vi điều khiển (V2): Trong một trong những Hướng dẫn trước đây của tôi, tôi đã chỉ cho bạn cách điều khiển động cơ bước bằng cách sử dụng động cơ bước mà không cần vi điều khiển. Đó là một dự án nhanh chóng và thú vị nhưng nó đi kèm với hai vấn đề sẽ được giải quyết trong Có thể hướng dẫn này. Vì vậy, hóm hỉnh
Đầu máy mô hình điều khiển động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Đầu máy mô hình điều khiển động cơ bước | Động cơ bước làm bộ mã hóa quay: Trong một trong những phần Hướng dẫn trước, chúng ta đã học cách sử dụng động cơ bước làm bộ mã hóa quay. Trong dự án này, bây giờ chúng ta sẽ sử dụng bộ mã hóa quay động cơ bước đó để điều khiển đầu máy mô hình bằng vi điều khiển Arduino. Vì vậy, không có fu
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Tự động hóa gia đình từng bước bằng cách sử dụng Wemos D1 Mini với thiết kế PCB: 4 bước
Tự động hóa gia đình từng bước sử dụng Wemos D1 Mini với thiết kế PCB: Tự động hóa gia đình từng bước sử dụng Wemos D1 Mini với thiết kế PCB Một vài tuần trở lại đây, chúng tôi đã xuất bản một hướng dẫn “Tự động hóa gia đình bằng Raspberry Pi” trên rootaid.com đã được đón nhận bởi những người có sở thích và sinh viên đại học. Sau đó, một trong những thành viên của chúng tôi đã đến