IoT - ThingSpeak - ESP32-Phạm vi dài-Không dây-Rung-Và-Nhiệt độ: 6 bước
IoT - ThingSpeak - ESP32-Phạm vi dài-Không dây-Rung-Và-Nhiệt độ: 6 bước
Anonim
IoT - ThingSpeak - ESP32-Phạm vi dài-Không dây-Rung-Và-Nhiệt độ
IoT - ThingSpeak - ESP32-Phạm vi dài-Không dây-Rung-Và-Nhiệt độ

Trong dự án này, chúng tôi sẽ đo độ rung và nhiệt độ bằng cách sử dụng cảm biến nhiệt độ và rung động NCD, Esp32, ThingSpeak

Rung thực sự là một chuyển động qua lại - hay dao động - của máy móc và linh kiện trong các thiết bị có động cơ. Rung trong hệ thống công nghiệp có thể là một triệu chứng hoặc động cơ của một rắc rối, hoặc nó có thể liên quan đến hoạt động hàng ngày. Ví dụ, máy đánh cát dao động và máy đầm rung phụ thuộc vào độ rung đối với tính năng. Động cơ đốt trong và công cụ truyền động, sau đó, một lần nữa, say sưa với một lượng rung động chắc chắn không thể tránh khỏi. Rung động có thể gây ra một số rắc rối và nếu không được kiểm soát có thể gây hại hoặc nhanh chóng bị hư hỏng. Rung động có thể là do một hoặc các yếu tố phụ tại bất kỳ thời điểm nào, tối đa không phải là bất thường là sự mất cân bằng, lệch, đặt và lỏng lẻo. Có thể giảm thiểu thiệt hại này bằng cách phân tích Dữ liệu về Nhiệt độ và Độ rung trên ThingSpeak sử dụng cảm biến nhiệt độ và rung động không dây esp32 và NCD.

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

Yêu cầu 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.
  • Cảm biến nhiệt độ và rung không dây tầm xa IoT: Cảm biến nhiệt độ và rung không dây tầm xa IoT hoạt động bằng pin và không dây, có nghĩa là không cần kéo dây điện hoặc dây giao tiếp để thiết bị hoạt động. Nó theo dõi thông tin rung động của máy liên tục và ghi lại và hoạt động hàng giờ ở độ phân giải đầy đủ cùng với các thông số nhiệt độ khác. Trong điều này, chúng tôi đang sử dụng cảm biến nhiệt độ và rung không dây công nghiệp IoT tầm xa của NCD, tự hào có phạm vi lên đến 2 Mile bằng cách sử dụng kiến trúc mạng lưới không dây.
  • 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
  • ThigSpeak

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

  • 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

Bạn 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:

  1. Arduino Ethernet
  2. Arduino Ethernet Shield
  3. 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
  4. 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.
  5. Sparkfun WiFly Shield - khi được sử dụng với thư viện này.
  6. Intel Galileo / Edison
  7. ESP8266
  8. 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.

Bước 2: Các bước để gửi dữ liệu đến Nền tảng rung động và nhiệt độ Labview sử dụng cảm biến nhiệt độ và rung không dây tầm xa IoT và Modem lưới không dây tầm xa với giao diện USB-

  • Đầu tiên, chúng ta cần một ứng dụng tiện ích Labview là tệp ncd.io Wireless Vibration and Temperature Sensor.exe để có thể xem dữ liệu.
  • Phần mềm Labview này sẽ chỉ hoạt động với cảm biến Nhiệt độ Rung không dây ncd.io
  • Để sử dụng giao diện người dùng này, bạn sẽ cần cài đặt các trình điều khiển sau Cài đặt công cụ thời gian chạy từ đây 64bit
  • 32 bit
  • Cài đặt trình điều khiển NI Visa
  • Cài đặt LabVIEW Run-Time Engine và NI-Serial Runtime.
  • Hướng dẫn bắt đầu cho sản phẩm này.

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

Vì esp32 là một phần quan trọng để xuất bản dữ liệu rung động và nhiệt độ của bạn lên ThingSpeak.

  • Tải xuống và bao gồm Thư viện PubSubClient và Thư viện Wire.h.
  • Tải xuống và bao gồm Thư viện WiFiMulti.h và HardwareSerial.h.

#bao gồm

#include #include #include #include

Bạn phải chỉ định khóa API duy nhất của mình được cung cấp bởi ThingSpeak, SSID (Tên WiFi) và Mật khẩu của mạng khả dụng

const char * ssid = "Yourssid"; // SSID của bạn (Tên WiFi của bạn)

const char * password = "Wifipass"; // Mật khẩu Wifi của bạn char * host = "api.thingspeak.com"; Chuỗi api_key = "APIKEY"; // Khóa API của bạn được cung cấp bởi thingspeak

Xác định biến mà dữ liệu sẽ lưu trữ dưới dạng chuỗi và gửi đến ThingSpeak

giá trị int; int Temp; int Rms_x; int Rms_y; int Rms_z;

Mã để xuất bản dữ liệu lên ThingSpeak:

Chuỗi data_to_send = api_key;

data_to_send + = "& field1 ="; data_to_send + = String (Rms_x); data_to_send + = "& field2 ="; data_to_send + = String (Temp); data_to_send + = "& field3 ="; data_to_send + = String (Rms_y); data_to_send + = "& field4 ="; data_to_send + = String (Rms_z); data_to_send + = "\ r / n / r / n"; client.print ("POST / update HTTP / 1.1 / n"); client.print ("Máy chủ: api.thingspeak.com / n"); client.print ("Kết nối: close / n"); client.print ("X-THINGSPEAKAPIKEY:" + api_key + "\ n"); client.print ("Loại-Nội dung: application / x-www-form-urlencoded / n"); client.print ("Nội dung-Độ dài:"); client.print (data_to_send.length ()); client.print ("\ n / n"); client.print (data_to_send);

  • Biên dịch và tải lên Esp32-Thingspeak.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 4: Đầ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 5: Thực hiện công việc ThingSpeak:

Làm cho ThingSpeak thành công
Làm cho ThingSpeak thành công
Làm cho ThingSpeak thành công
Làm cho ThingSpeak thành công
Làm cho ThingSpeak thành công
Làm cho ThingSpeak thành công
  • Tạo tài khoản trên ThigSpeak.
  • 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 dữ liệu nhiệt độ và độ rung 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 các dữ liệu rung động khác nhau, 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 phần này, chúng ta đã chọn tạo các đồ thị dòng 2-D với trục y ở cả bên trái và bên phải. 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.

Bước 6: Đầu ra

Đề xuất: