Mục lục:

THEO DÕI VƯỜN CỦA BẠN: 16 bước (có hình ảnh)
THEO DÕI VƯỜN CỦA BẠN: 16 bước (có hình ảnh)

Video: THEO DÕI VƯỜN CỦA BẠN: 16 bước (có hình ảnh)

Video: THEO DÕI VƯỜN CỦA BẠN: 16 bước (có hình ảnh)
Video: XIN CHÀO - VŨ ĐIỆU VUÔNG 12 BƯỚC / LEO Demo (BÀI HƯỚNG DẪN BẤM▶️) 2024, Tháng bảy
Anonim
THEO DÕI VƯỜN CỦA BẠN
THEO DÕI VƯỜN CỦA BẠN

Giám sát Khu vườn của bạn từ mọi nơi, sử dụng màn hình cục bộ để theo dõi điều kiện đất tại địa phương hoặc sử dụng Di động để giám sát từ xa. Mạch sử dụng cảm biến độ ẩm của đất, cùng với nhiệt độ và độ ẩm để nhận biết về điều kiện môi trường xung quanh đất.

Bước 1: Các thành phần:

  1. Arduino una
  2. Nodemcu
  3. Cảm biến nhiệt độ & độ ẩm DHT 11
  4. Cảm biến độ ẩm của đất - FC28
  5. Ngân hàng pin 10000 mah (để cấp nguồn cho arduino & gật gù)
  6. Nokia LCD 5110
  7. Resitor (5 x 10k, 1 x 330ohms)
  8. Potentiometer Loại quay (để điều chỉnh độ sáng LCD) 0-100K
  9. Dây nhảy
  10. Breadboard

Bước 2: CẢM BIẾN CƠ BẢN: Độ ẩm đất FC 28

CẢM BIẾN CƠ BẢN: Độ ẩm đất FC 28
CẢM BIẾN CƠ BẢN: Độ ẩm đất FC 28

Để đo Độ ẩm, chúng tôi đang sử dụng cảm biến độ ẩm đất FC 28, nguyên tắc cơ bản như sau: -

Thông số kỹ thuật của cảm biến độ ẩm đất FC-28 như sau: Điện áp đầu vào: 3.3 - 5V

Điện áp đầu ra: 0 - 4.2V

Dòng điện đầu vào: 35mA

Tín hiệu đầu ra: Cả Analog và Digital

Cảm biến độ ẩm đất FC-28 có bốn chân: VCC: Nguồn

A0: Đầu ra tương tự

D0: Đầu ra kỹ thuật số

GND: Mặt đất

Chế độ tương tự Để kết nối cảm biến ở chế độ tương tự, chúng ta sẽ cần sử dụng đầu ra tương tự của cảm biến. Khi lấy đầu ra tương tự từ cảm biến độ ẩm đất FC-28, cảm biến cho chúng tôi giá trị từ 0 đến 1023. Độ ẩm được đo bằng phần trăm, vì vậy chúng tôi sẽ ánh xạ các giá trị này từ 0 đến 100 và sau đó chúng tôi sẽ hiển thị các giá trị này trên màn hình nối tiếp. Bạn có thể đặt các phạm vi giá trị độ ẩm khác nhau và bật hoặc tắt máy bơm nước tùy theo nó.

Mô-đun cũng chứa một chiết áp sẽ đặt giá trị ngưỡng. Giá trị ngưỡng này sẽ được so sánh bằng bộ so sánh LM393. Đèn LED đầu ra sẽ sáng lên và xuống theo giá trị ngưỡng này.

Mã giao tiếp với cảm biến độ ẩm của đất được thực hiện trong các bước tiếp theo

Bước 3: Tìm hiểu MQTT: để xuất bản dữ liệu từ xa

Hiểu MQTT: để Xuất bản Dữ liệu Từ xa
Hiểu MQTT: để Xuất bản Dữ liệu Từ xa

Trước khi chúng ta bắt đầu tiếp tục, trước tiên chúng ta hãy xem xét Xuất bản dữ liệu từ xa cho IOT

MQTT là viết tắt của MQ Telemetry Transport. Nó là một giao thức nhắn tin xuất bản / đăng ký, cực kỳ đơn giản và nhẹ, được thiết kế cho các thiết bị bị hạn chế và các mạng băng thông thấp, độ trễ cao hoặc không đáng tin cậy. Các nguyên tắc thiết kế là giảm thiểu băng thông mạng và các yêu cầu về tài nguyên thiết bị đồng thời cố gắng đảm bảo độ tin cậy và mức độ đảm bảo của việc phân phối. Những nguyên tắc này cũng làm cho giao thức trở nên lý tưởng cho thế giới “máy-với-máy” (M2M) hoặc “Internet of Things” mới nổi của các thiết bị được kết nối và cho các ứng dụng di động nơi băng thông và năng lượng pin ở mức cao.

Nguồn:

MQTT [1] (MQ Telemetry Transport hoặc Message Queueing Telemetry Transport) là một tiêu chuẩn ISO (ISO / IEC PRF 20922) [2] giao thức nhắn tin dựa trên đăng ký xuất bản. Nó hoạt động dựa trên giao thức TCP / IP. Nó được thiết kế cho các kết nối với các vị trí ở xa nơi yêu cầu "dấu chân mã nhỏ" hoặc băng thông mạng bị hạn chế.

Nguồn:

Bước 4: MQTT: Thiết lập tài khoản môi giới MQTT

Có nhiều tài khoản nhà môi giới MQTT khác nhau, đối với hướng dẫn này, tôi đã sử dụng cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT là các máy chủ Mosquitto được quản lý trên đám mây. Mosquitto triển khai giao thức MQ Telemetry Transport, MQTT, cung cấp các phương pháp nhẹ nhàng để thực hiện nhắn tin bằng cách sử dụng mô hình xếp hàng tin nhắn xuất bản / đăng ký.

Cần thực hiện các bước sau để thiết lập tài khoản cloudmqtt làm nhà môi giới

  • Tạo tài khoản và đăng nhập vào bảng điều khiển
  • nhấn Create + để tạo một phiên bản mới
  • Để bắt đầu, chúng tôi cần đăng ký gói dành cho khách hàng, chúng tôi có thể dùng thử CloudMQTT miễn phí với gói CuteCat.
  • Sau khi tạo "phiên bản", bước tiếp theo là tạo người dùng và chỉ định thêm quyền cho người dùng truy cập thông báo (thông qua quy tắc ACL)

Bạn có thể truy cập hướng dẫn đầy đủ để thiết lập tài khoản nhà môi giới MQTT trên cloudmqtt theo liên kết: -

Tất cả các bước trên được đưa từng bước một trong các trang trình bày sau

Bước 5: MQTT: Tạo một phiên bản

MQTT: Tạo một phiên bản
MQTT: Tạo một phiên bản

Tôi đã tạo một Phiên bản có tên "myIOT"

kế hoạch: Kế hoạch dễ thương

Bước 6: MQTT: Thông tin phiên bản

MQTT: Thông tin phiên bản
MQTT: Thông tin phiên bản

Phiên bản được cung cấp ngay lập tức sau khi đăng ký và bạn có thể xem chi tiết phiên bản, chẳng hạn như thông tin kết nối, tại trang chi tiết. Bạn cũng có thể truy cập giao diện Quản lý từ đó. Đôi khi bạn cần sử dụng một URL kết nối chỉ định

Bước 7: MQTT: Thêm người dùng

MQTT: Thêm người dùng
MQTT: Thêm người dùng

Tạo một người dùng với tên "gật đầu_12" và cung cấp mật khẩu

Bước 8: MQTT: Chỉ định quy tắc ACL

MQTT: Chỉ định quy tắc ACL
MQTT: Chỉ định quy tắc ACL

Sau khi tạo người dùng mới (gật đầu_12), hãy lưu người dùng mới, bây giờ ACL sẽ được cung cấp cho người dùng mới. Trong hình đính kèm, có thể thấy rằng, tôi đã cung cấp cả quyền đọc và ghi cho người dùng.

Xin lưu ý: Chủ đề sẽ được thêm vào như được hiển thị ở định dạng (điều này còn được yêu cầu để đọc và ghi từ nút tới ứng dụng khách MQTT)

Bước 9: Nodemcu: Định cấu hình

Trong dự án cụ thể này, tôi đã sử dụng nút bấm từ Knewron Technologies, có thể lấy thêm thông tin theo liên kết: - (https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

Có thể thấy rằng, NodeMCU là một phần sụn dựa trên eLua cho ESP8266 WiFi SOC từ Espressif. Nodemcu từ knowron được cài đặt sẵn chương trình cơ sở, vì vậy chúng tôi chỉ cần tải phần mềm ứng dụng cụ thể là: -

  • init.lua
  • setup.lua
  • config.lua
  • app.lua

Tất cả các tập lệnh lua ở trên có thể được tải xuống từ Github theo liên kết: Tải xuống từ Github

Từ các tập lệnh lua ở trên, hãy sửa đổi các tập lệnh config.lua với tên máy chủ MQTT, mật khẩu, ssid wifi, v.v.

Để tải các tập lệnh trên xuống gật đầu, chúng ta phải sử dụng một công cụ như "ESPlorer", tham khảo tài liệu để biết thêm thông tin:

Làm việc với ESPlorer được mô tả trong bước tiếp theo

Bước 10: Nodemcu: Tải lên Lua Scripts lên Nodemcu với ESPlorer_1

Nodemcu: Tải tập lệnh Lua lên Nodemcu bằng ESPlorer_1
Nodemcu: Tải tập lệnh Lua lên Nodemcu bằng ESPlorer_1
  • Nhấp vào nút Làm mới
  • Chọn cổng COM (Giao tiếp) và tốc độ truyền (9600 thường được sử dụng)
  • Nhấp vào Mở

Bước 11: Nodemcu: Tải tập lệnh Lua lên Nodemcu bằng ESPlorer_II

Nodemcu: Tải lên Lua Scripts lên Nodemcu với ESPlorer_II
Nodemcu: Tải lên Lua Scripts lên Nodemcu với ESPlorer_II

Bước 12: Nodemcu: Tải lên Lua Scripts lên Nodemcu bằng ESPlorer_III

Nodemcu: Tải lên Lua Scripts lên Nodemcu với ESPlorer_III
Nodemcu: Tải lên Lua Scripts lên Nodemcu với ESPlorer_III

Nút lưu & biên dịch sẽ gửi tất cả bốn tập lệnh lua đến gật đầu, sau khi nút này sẵn sàng nói chuyện với arduino của chúng tôi.

Thu thập thông tin ID CHIP:

Mỗi nút có một id chip (có thể là một số không.), Id chip này được yêu cầu thêm để xuất bản thông báo cho nhà môi giới MQTT, để biết về ID chip, hãy nhấp vào nút Chip id trong "ESPlorer"

Bước 13: Nodemcu: Cấu hình Arduino để nói chuyện với Nodemcu

Đoạn mã được đề cập dưới đây xác định độ ẩm, nhiệt độ và độ ẩm của đất và hiển thị thêm dữ liệu trên nokia LCD 5110 và theo tuần tự.

Mã Arduino

Hơn kết nối Arduino RX --- Nodemcu TX

Arduino TX --- Nodemcu RX

Đoạn mã trên cũng bao gồm các cách sử dụng thư viện softserial, qua đó các chân DO cũng có thể được sử dụng để làm việc như các chân nối tiếp, tôi đã sử dụng các chân RX / TX để kết nối với cổng nối tiếp gật đầu.

Thận trọng: Vì nút bấm hoạt động với 3.3V, nên sử dụng bộ chuyển mức, tuy nhiên tôi đã kết nối trực tiếp mà không có bất kỳ bộ chuyển mức nào và hiệu suất dường như phù hợp với ứng dụng trên.

Bước 14: Nodemcu: Thiết lập MQTT Client trong Android

Nodemcu: Thiết lập MQTT Client trong Android
Nodemcu: Thiết lập MQTT Client trong Android

Bước cuối cùng để xem thông tin trên thiết bị di động với ứng dụng khách Android: -

Có rất nhiều ứng dụng MQTT android, tôi đã sử dụng ứng dụng từ google play với liên kết sau:

.https://play.google.com/store/apps/details?

Cấu hình cho ứng dụng android khá đơn giản và người ta phải cấu hình như sau

  • Địa chỉ máy chủ MQTT cùng với cổng số
  • Tên và địa chỉ người dùng MQTT
  • Địa chỉ nút người môi giới MQTT

Sau khi thêm các chi tiết ở trên, hãy kết nối ứng dụng, nếu ứng dụng được kết nối với nhà môi giới MQTT, hơn tất cả các trạng thái đầu vào / dữ liệu giao tiếp nối tiếp từ arduino sẽ xuất hiện dưới dạng nhật ký.

Bước 15: Các bước bổ sung: Làm việc với Nokia LCD 5110

Các bước bổ sung: Làm việc với Nokia LCD 5110
Các bước bổ sung: Làm việc với Nokia LCD 5110

Sau đây là cấu hình chân cho LCD 5110

1) RST - Đặt lại

2) CE - Kích hoạt chip

3) D / C - Lựa chọn dữ liệu / lệnh

4) DIN - Đầu vào nối tiếp

5) CLK - Đầu vào đồng hồ

6) VCC - 3,3V

7) LIGHT - Điều khiển đèn nền

8) GND - Mặt đất

Như hình trên, kết nối arduino với LCD 5110 theo thứ tự trên với điện trở 1-10 K ở giữa.

Sau đây là các kết nối chân để ghim cho LCD 5110 với Arduino

  • CLK - Chân 3 Arduino Digital
  • DIN - Chân số 4 của Arduino
  • D / C - Chân số 5 của Arduino Digital
  • RST - Chân số 6 của Arduino Digital
  • CE - Chân số 7 của Arduino

Chân "BL" khác của LCD 5110 có thể được sử dụng cùng với chiết áp (0-100K) để điều khiển độ sáng của LCD

Thư viện được sử dụng cho mã trên là: - Tải xuống PCD8544 từ liên kết được đề cập bên dưới

Việc tích hợp DHT11, cảm biến nhiệt độ và độ ẩm với arduino có thể được xem xét từ liên kết sau DHT11.

Bước 16: Lắp ráp cuối cùng

Lắp ráp cuối cùng
Lắp ráp cuối cùng

Bước cuối cùng là lắp ráp tất cả những thứ trên vào một hộp tốt nhất là đối với nguồn cung cấp, tôi đã sử dụng bộ nguồn 10000 mah để cấp nguồn cho cả Arduino cũng như Nodemcu.

Chúng tôi cũng có thể sử dụng bộ sạc ổ cắm trên tường trong thời gian dài, nếu muốn.

Đề xuất: