Mục lục:

ThingSpeak, ESP32 và Độ ẩm và Nhiệt độ Không dây Phạm vi Dài: 5 bước
ThingSpeak, ESP32 và Độ ẩm và Nhiệt độ Không dây Phạm vi Dài: 5 bước

Video: ThingSpeak, ESP32 và Độ ẩm và Nhiệt độ Không dây Phạm vi Dài: 5 bước

Video: ThingSpeak, ESP32 và Độ ẩm và Nhiệt độ Không dây Phạm vi Dài: 5 bước
Video: ĐỌC NHIỆT ĐỘ - ĐỘ ẨM DÙNG ESP8266 LÊN THINGSPEAK || MEASURE TEMPERATER ESP8266 THINGSPEAK SERVER 2024, Tháng bảy
Anonim
ThingSpeak, ESP32 và Nhiệt độ và Độ ẩm không dây tầm xa
ThingSpeak, ESP32 và Nhiệt độ và Độ ẩm không dây tầm xa

Trong hướng dẫn này, chúng tôi sẽ đo các dữ liệu nhiệt độ và độ ẩm khác nhau bằng cách sử dụng cảm biến Nhiệt độ và độ ẩm. Bạn cũng sẽ học cách gửi dữ liệu này đến ThingSpeak. Vì vậy, bạn có thể phân tích nó từ mọi nơi cho các ứng dụng khác nhau

Bước 1: Yêu cầu phần cứng và phần mềm

Yêu cầu phần cứng và phần mềm
Yêu cầu phần cứng và phần mềm
Yêu cầu phần cứng và phần mềm
Yêu cầu phần cứng và phần mềm

Phần cứng:

  • ESP-32: ESP32 giúp dễ dàng sử dụng Arduino IDE và Ngôn ngữ dây Arduino cho các ứng dụng IoT. Mô-đun IoT ESp32 này kết hợp Wi-Fi, Bluetooth và Bluetooth BLE cho nhiều ứng dụng đa dạng. Mô-đun này được trang bị đầy đủ với 2 lõi CPU có thể được điều khiển và cấp nguồn riêng lẻ và với tần số xung nhịp có thể điều chỉnh từ 80 MHz đến 240 MHz. Mô-đun ESP32 IoT WiFi BLE với USB tích hợp này được thiết kế để phù hợp với tất cả các sản phẩm IoT của ncd.io. Theo dõi các cảm biến và rơ le điều khiển, FET, bộ điều khiển PWM, bộ phận duy nhất, van, động cơ và nhiều hơn thế nữa từ mọi nơi trên thế giới bằng cách sử dụng trang web hoặc máy chủ chuyên dụng. Chúng tôi đã sản xuất phiên bản ESP32 của riêng mình để phù hợp với các thiết bị NCD IoT, cung cấp nhiều tùy chọn mở rộng hơn bất kỳ thiết bị nào khác trên thế giới! Một cổng USB tích hợp cho phép lập trình ESP32 dễ dàng. Mô-đun ESP32 IoT WiFi BLE là một nền tảng đáng kinh ngạc để phát triển ứng dụng IoT. Mô-đun ESP32 IoT WiFi BLE này có thể được lập trình bằng Arduino IDE.
  • Cảm biến độ ẩm và nhiệt độ không dây tầm xa IoT: Cảm biến độ ẩm không dây tầm xa công nghiệp. Cấp với độ phân giải cảm biến ± 1,7% RH ± 0,5 ° C. Lên đến 500.000 lần truyền từ 2 pin AA. Đo từ -40 ° C đến 125 ° C với Pin tồn tại qua các Xếp hạng này. Phạm vi LOS cao hơn 2 dặm & 28 dặm với Anten tăng cao Giao diện với Raspberry Pi, Microsoft Azure, Arduino, v.v.
  • Modem lưới không dây tầm xa với giao diện USB

Phần mềm được sử dụng

  • Arduino IDE
  • ThingSpeak

Thư viện đã sử dụng

  • Thư viện PubSubClient
  • Wire.h

Ứng dụng khách Arduino cho MQTT

Thư viện này cung cấp một ứng dụng khách để thực hiện nhắn tin đăng ký / xuất bản đơn giản với máy chủ hỗ trợ MQTT

Để biết thêm thông tin về MQTT, hãy truy cập mqtt.org.

Tải xuống

Có thể tải xuống phiên bản mới nhất của thư viện từ GitHub

Tài liệu

Thư viện đi kèm với một số bản phác thảo ví dụ. Xem Tệp> Ví dụ> PubSubClient trong ứng dụng Arduino. Tài liệu API đầy đủ.

Phần cứng tương thích

Thư viện sử dụng Arduino Ethernet Client API để tương tác với phần cứng mạng bên dưới. Điều này có nghĩa là nó chỉ hoạt động với ngày càng nhiều bảng và tấm chắn, bao gồm:

  • Arduino Ethernet
  • Arduino Ethernet Shield
  • Arduino YUN - sử dụng YunClient đi kèm thay cho EthernetClient và đảm bảo thực hiện Bridge.begin () trước tiên
  • Arduino WiFi Shield - nếu bạn muốn gửi các gói lớn hơn 90 byte bằng lá chắn này, hãy bật tùy chọn MQTT_MAX_TRANSFER_SIZE trong PubSubClient.h.
  • SparkFun WiFly Shield - khi được sử dụng với thư viện này
  • Intel Galileo / Edison
  • ESP8266
  • ESP32 Thư viện hiện không thể được sử dụng với phần cứng dựa trên chip ENC28J60 - chẳng hạn như Nanode hoặc Nuelectronics Ethernet Shield. Đối với những người đó, có một thư viện thay thế có sẵn.

Thư viện Wire

Thư viện Wire cho phép bạn giao tiếp với các thiết bị I2C, thường còn được gọi là "2 wire" hoặc "TWI" (Two Wire Interface), có thể tải xuống từ Wire.h

Cách sử dụng cơ bản

  • Wire.begin () Bắt đầu sử dụng Wire ở chế độ chính, nơi bạn sẽ bắt đầu và kiểm soát quá trình truyền dữ liệu. Đây là cách sử dụng phổ biến nhất khi giao tiếp với hầu hết các chip ngoại vi I2C.
  • Wire.begin (địa chỉ) Bắt đầu sử dụng Wire ở chế độ nô lệ, nơi bạn sẽ trả lời tại "địa chỉ" khi các chip chính I2C khác bắt đầu giao tiếp. Truyền
  • Wire.beginTransmission (địa chỉ) Bắt đầu quá trình truyền mới tới một thiết bị tại "địa chỉ". Chế độ chính được sử dụng.
  • Wire.write (dữ liệu) Gửi dữ liệu. Trong chế độ chủ, đầu tiên phải gọi beginTransmission.
  • Wire.endTransmission () Ở chế độ chính, điều này sẽ kết thúc quá trình truyền và khiến tất cả dữ liệu trong bộ đệm được gửi đi.

Đang nhận

  • Wire.requestFrom (địa chỉ, số lượng) Đọc "số lượng" byte từ một thiết bị tại "địa chỉ". Chế độ chính được sử dụng.
  • Wire.available () Trả về số byte có sẵn bằng cách gọi nhận.
  • Wire.read () Nhận 1 byte.

Bước 2: Tải mã lên ESP32 bằng Arduino IDE

  • Trước khi tải mã lên, bạn có thể xem hoạt động của cảm biến này tại một liên kết nhất định.
  • Tải xuống và bao gồm Thư viện PubSubClient và Thư viện Wire.h.
  • Bạn phải gán khóa API, SSID (Tên WiFi) và Mật khẩu của mạng khả dụng.
  • Biên dịch và tải lên mã Temp-ThinSpeak.ino.
  • Để xác minh kết nối của thiết bị và dữ liệu được gửi, hãy mở màn hình nối tiếp. Nếu không thấy phản hồi, hãy thử rút ESP32 của bạn rồi cắm lại. Đảm bảo tốc độ truyền của màn hình nối tiếp được đặt giống với tốc độ được chỉ định trong mã 115200 của bạn.

Bước 3: Đầu ra màn hình nối tiếp

Đầu ra màn hình nối tiếp
Đầu ra màn hình nối tiếp

Bước 4: Làm cho ThingSpeak hoạt động

Làm cho ThingSpeak làm việc
Làm cho ThingSpeak làm việc
Làm cho ThingSpeak làm việc
Làm cho ThingSpeak làm việc
Làm cho ThingSpeak làm việc
Làm cho ThingSpeak làm việc
  • Tạo tài khoản trên ThnigSpeak.
  • Tạo kênh mới bằng cách nhấp vào Kênh.
  • Nhấp vào Kênh của tôi.
  • Nhấp vào Kênh mới.
  • Bên trong Kênh mới, đặt tên cho kênh.
  • Đặt tên cho Trường bên trong Kênh, Trường là biến mà dữ liệu được xuất bản.
  • Bây giờ hãy lưu Kênh.
  • Bây giờ bạn có thể tìm thấy các khóa API của mình trên trang tổng quan. Truy cập vào phần nhấn trên trang chủ và tìm 'Viết khóa Api' của bạn, khóa này phải được cập nhật trước khi tải mã lên ESP32.
  • Khi Kênh được tạo, bạn có thể xem nhiệt độ và Dữ liệu độ ẩm của mình ở chế độ xem riêng tư với các Trường bạn đã tạo bên trong Kênh.
  • Để vẽ biểu đồ giữa dữ liệu Nhiệt độ và Độ ẩm, bạn có thể sử dụng Hình ảnh hóa MATLAB.
  • Đối với điều này, hãy chuyển đến Ứng dụng, Nhấp vào Hình ảnh hóa MATLAB.
  • Bên trong nó chọn Custom, trong đó, chúng ta đã chọn nhiệt độ và tốc độ gió trên hai trục y 8 khác nhau làm ví dụ. Bây giờ hãy nhấp vào tạo.
  • Mã MATLAB sẽ được tự động tạo khi bạn tạo trực quan nhưng bạn phải chỉnh sửa id trường, đọc id kênh, có thể kiểm tra hình sau.
  • Sau đó, lưu và chạy mã.
  • Bạn sẽ thấy cốt truyện.

Đề xuất: