Mục lục:
- Bước 1: Đặc điểm kỹ thuật phần cứng và phần mềm
- Bước 2: Định cấu hình Bộ cảm biến không dây và Bộ thu Zigmo bằng XCTU
- Bước 3: Phân tích nhiệt độ và giá trị rung không dây bằng Labview Utility
- Bước 4: Định cấu hình cài đặt DHCP / IP tĩnh bằng Captive Portal
- Bước 5: Lưu cài đặt WiFi bằng Captive Portal
- Bước 6: Xuất bản các bài đọc của cảm biến lên UbiDots
- Bước 7: Hình dung dữ liệu
Video: Bắt đầu với cảm biến nhiệt độ và rung không dây phạm vi dài: 7 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Đôi khi rung động là nguyên nhân gây ra các vấn đề nghiêm trọng trong nhiều ứng dụng. Từ trục máy và ổ trục đến hiệu suất của đĩa cứng, rung động gây ra hư hỏng máy, thay thế sớm, hiệu suất thấp và gây ảnh hưởng lớn đến độ chính xác. Theo dõi và phân tích thời gian theo thời gian của rung động trong máy có thể giải quyết vấn đề hư hỏng sớm và hao mòn của bộ phận máy.
Trong hướng dẫn này, chúng tôi sẽ làm việc trên các cảm biến nhiệt độ và rung động không dây tầm xa IoT. Đây là những cảm biến cấp công nghiệp với nhiều ứng dụng rộng rãi như.
- Gia công kim loại
- Sản xuất điện
- Khai thác mỏ
- Đồ ăn và đồ uống
Vì vậy, trong Tài liệu hướng dẫn này, chúng ta sẽ xem xét những điều sau:
- Định cấu hình cảm biến không dây bằng XCTU và Labview UI.
- Nhận các giá trị của độ rung từ cảm biến.
- Hiểu hoạt động của thiết bị xbee và giao thức xbee.
- Định cấu hình thông tin đăng nhập WiFi và cấu hình IP bằng cổng cố định
Bước 1: Đặc điểm kỹ thuật phần cứng và phần mềm
Đặc điểm kỹ thuật phần cứng
- Cảm biến nhiệt độ và rung không dây
- Bộ thu Zigmo
- ESP32 BLE / thiết bị WiFi
Đặc điểm kỹ thuật phần mềm
- Arduino IDE
- Tiện ích LabView
Bước 2: Định cấu hình Bộ cảm biến không dây và Bộ thu Zigmo bằng XCTU
Mỗi thiết bị IoT cần một giao thức truyền thông để đưa thiết bị lên đám mây và thiết lập giao diện không dây giữa các thiết bị khác nhau.
Ở đây, Bộ cảm biến không dây và Bộ thu Zigmo sử dụng công suất thấp và giải pháp tầm xa XBee. XBee sử dụng giao thức ZigBee chỉ định hoạt động trong các băng tần ISM 902 đến 928 MHz.
Xbee có thể được cấu hình bằng phần mềm XCTU
- Tìm kiếm thiết bị Xbee hoặc thêm thiết bị Xbee mới bằng cách nhấp vào biểu tượng trên cùng bên trái.
- Thiết bị sẽ được liệt kê ở bảng điều khiển bên trái.
- nhấp đúp vào thiết bị để xem cài đặt.
- Bây giờ hãy nhấp vào biểu tượng bảng điều khiển ở góc trên cùng bên phải
- Bạn có thể thấy giá trị xuất hiện trên đầu ra của bảng điều khiển
- Ở đây chúng ta đang nhận được khung có độ dài 54 byte
- các byte này sẽ được thao tác thêm để nhận các giá trị thực. quy trình để có được nhiệt độ thực và các giá trị rung được đề cập trong các bước tiếp theo.
Bước 3: Phân tích nhiệt độ và giá trị rung không dây bằng Labview Utility
Cảm biến chạy ở hai chế độ
- Chế độ cấu hình: Định cấu hình Pan ID, độ trễ, Số lần thử lại, v.v. Thông tin thêm về điều này nằm ngoài phạm vi của hướng dẫn này và sẽ được giải thích trong hướng dẫn tiếp theo.
- Chế độ Chạy: Chúng tôi đang chạy thiết bị ở chế độ Chạy. Và để phân tích những giá trị này, chúng tôi đang sử dụng Tiện ích Labview
Giao diện người dùng Labview này hiển thị các giá trị trong biểu đồ đẹp. Nó cho thấy giá trị hiện tại cũng như quá khứ. Bạn có thể truy cập liên kết này để tải xuống Labview UI.
nhấp vào biểu tượng Chạy từ menu trang đích để chuyển sang chế độ chạy.
Bước 4: Định cấu hình cài đặt DHCP / IP tĩnh bằng Captive Portal
Chúng tôi đang sử dụng cổng cố định để lưu thông tin đăng nhập WiFi và di chuột qua cài đặt IP. Để biết phần giới thiệu chi tiết về cổng bị khóa, bạn có thể xem qua hướng dẫn sau.
Cổng bị khóa cung cấp cho chúng tôi tùy chọn để chọn giữa cài đặt Tĩnh và DHCP. Chỉ cần nhập thông tin đăng nhập như IP tĩnh, Mặt nạ mạng con, cổng vào và Cổng cảm biến không dây sẽ được định cấu hình trên IP đó.
Bước 5: Lưu cài đặt WiFi bằng Captive Portal
Một trang web đang được lưu trữ trong đó danh sách hiển thị các mạng WiFi khả dụng và có RSSI. Chọn mạng và mật khẩu WiFi và nhập gửi. Thông tin đăng nhập sẽ được lưu trong EEPROM và cài đặt IP sẽ được lưu trong SPIFFS. Nhiều hơn về điều này có thể được tìm thấy trong hướng dẫn này.
Bước 6: Xuất bản các bài đọc của cảm biến lên UbiDots
Ở đây chúng tôi đang sử dụng Cảm biến nhiệt độ và độ rung không dây với bộ thu cổng ESP 32 để lấy dữ liệu nhiệt độ và độ ẩm. Chúng tôi đang gửi dữ liệu đến UbiDots bằng giao thức MQTT. MQTT tuân theo cơ chế xuất bản và đăng ký thay vì yêu cầu và phản hồi. Nó nhanh hơn và đáng tin cậy hơn HTTP. Điều này hoạt động như sau.
Đọc dữ liệu cảm biến không dây
Chúng tôi đang nhận được khung 29 byte từ Cảm biến nhiệt độ và rung không dây. Khung này được thao tác để lấy dữ liệu về nhiệt độ và độ rung thực tế
if (Serial2.available ()) {data [0] = Serial2.read (); độ trễ (k); if (data [0] == 0x7E) {Serial.println ("Có gói tin"); while (! serial2.available ()); for (i = 1; i <55; i ++) {data = Serial2.read (); trì hoãn (1); } if (data [15] == 0x7F) /////// để kiểm tra xem dữ liệu nhận có đúng không {if (data [22] == 0x08) //////// đảm bảo loại cảm biến là đúng {rms_x = ((uint16_t) (((data [24]) << 16) + ((data [25]) << 8) + (data [26])) / 100); rms_y = ((uint16_t) (((data [27]) << 16) + ((data [28]) << 8) + (data [29])) / 100); rms_z = ((uint16_t) (((dữ liệu [30]) << 16) + ((dữ liệu [31]) << 8) + (dữ liệu [32])) / 100); max_x = ((uint16_t) (((dữ liệu [33]) << 16) + ((dữ liệu [34]) << 8) + (dữ liệu [35])) / 100); max_y = ((uint16_t) (((dữ liệu [36]) << 16) + ((dữ liệu [37]) << 8) + (dữ liệu [38])) / 100); max_z = ((uint16_t) (((data [39]) << 16) + ((data [40]) << 8) + (data [41])) / 100);
min_x = ((uint16_t) (((data [42]) << 16) + ((data [43]) << 8) + (data [44])) / 100); min_y = ((uint16_t) (((data [45]) << 16) + ((data [46]) << 8) + (data [47])) / 100); min_z = ((uint16_t) (((data [48]) << 16) + ((data [49]) << 8) + (data [50])) / 100);
cTemp = (((((dữ liệu [51]) * 256) + dữ liệu [52])); float pin = ((data [18] * 256) + data [19]); điện áp phao = 0,00322 * pin; Serial.print ("Số cảm biến"); Serial.println (data [16]); Serial.print ("Loại cảm biến"); Serial.println (dữ liệu [22]); Serial.print ("Phiên bản chương trình cơ sở"); Serial.println (dữ liệu [17]); Serial.print ("Nhiệt độ tính bằng độ C:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS rung trong trục X:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("RMS rung theo trục Y:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS rung theo trục Z:"); Serial.print (rms_z); Serial.println ("mg");
Serial.print ("Dao động tối thiểu theo trục X:");
Serial.print (min_x); Serial.println ("mg"); Serial.print ("Dao động tối thiểu theo trục Y:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Dao động tối thiểu theo trục Z:"); Serial.print (min_z); Serial.println ("mg");
Serial.print ("Giá trị ADC:");
Serial.println (pin); Serial.print ("Điện áp Pin:"); Serial.print (điện áp); Serial.println ("\ n"); if (điện áp <1) {Serial.println ("Thời gian Thay Pin"); }}} else {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); trì hoãn (1); }}}}
Kết nối với UbiDots MQTT API
Bao gồm tệp tiêu đề cho quy trình MQTT
#include "PubSubClient.h"
xác định các biến khác cho MQTT như tên khách hàng, địa chỉ người môi giới, ID mã thông báo (Chúng tôi đang tìm nạp mã thông báo ID từ EEPROM)
#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; tải trọng char [100]; chủ đề char [150]; // tạo biến lưu trữ token ID String tokenId;
Tạo các biến để lưu trữ các dữ liệu cảm biến khác nhau và tạo một biến char để lưu trữ chủ đề
#define VARIABLE_LABEL_TEMPF "tempF" // Gán nhãn biến # xác định VARIABLE_LABEL_TEMPC "tempC" // Gán nhãn biến # xác định VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "ẩm" // Gán nhãn biến
char topic1 [100];
char topic2 [100]; char topic3 [100];
xuất bản dữ liệu lên chủ đề MQTT đã đề cập, trọng tải sẽ giống như {"tempc": {value: "tempData"}}
sprintf (topic1, "% s", ""); sprintf (topic1, "% s% s", "/v1.6/devices/", DEVICE_LABEL); sprintf (tải trọng, "% s", "");
// Xóa payload sprintf (payload, "{"% s / ":", VARIABLE_LABEL_TEMPC);
// Thêm giá trị sprintf (payload, "% s {" value / ":% s}", payload, str_cTemp);
// Thêm giá trị sprintf (payload, "% s}", payload);
// Đóng dấu ngoặc từ điển Serial.println (payload);
Serial.println (client.publish (topic1, payload)? "Publish": "notpublish");
// Làm tương tự cho chủ đề khác
client.publish () xuất bản dữ liệu lên UbiDots
Bước 7: Hình dung dữ liệu
- Đi tới Ubidots và Đăng nhập vào tài khoản của bạn.
- Điều hướng đến Trang tổng quan từ tab Dữ liệu được liệt kê ở trên cùng.
- Bây giờ hãy nhấp vào biểu tượng "+" để thêm các widget mới.
- Chọn một widget từ danh sách và thêm một biến và thiết bị.
- Dữ liệu cảm biến có thể được hiển thị trên bảng điều khiển bằng cách sử dụng các tiện ích khác nhau.
Mã tổng thể
Mã Over cho HTML và ESP32 có thể được tìm thấy trong kho lưu trữ GitHub này.
- bảng đột phá ncd ESP32.
- ncd Cảm biến nhiệt độ và độ ẩm không dây.
- pubsubclient
- UbiDots
Đề xuất:
IoT- Ubidots- ESP32 + Phạm vi dài-Không dây-Rung-Và-Nhiệt độ-Cảm biến: 7 bước
IoT- Ubidots- ESP32 + Phạm vi dài-Không dây-Rung-Và-Nhiệt độ-Cảm biến: Rung thực sự là một chuyển động tới lui - hoặc 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ụ, osci
Node-RED với cảm biến nhiệt độ và rung phạm vi dài IoT: 34 bước
Node-RED với cảm biến nhiệt độ và rung phạm vi dài IoT: Giới thiệu cảm biến độ ẩm nhiệt độ không dây tầm xa của NCD, tự hào với phạm vi lên đến 28 Mile bằng cách sử dụng kiến trúc mạng lưới không dây. Việc kết hợp cảm biến độ ẩm nhiệt độ Honeywell HIH9130 truyền nhiệt độ chính xác cao
IoT - ThingSpeak - ESP32-Phạm vi dài-Không dây-Rung-Và-Nhiệt độ: 6 bước
IoT - ThingSpeak - ESP32-Long-Range-Wireless-Vibration-And-Temp: 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 NCD, Esp32, ThingSpeak. - của máy móc và linh kiện trong các thiết bị có động cơ. Rung động trong tôi
Gửi dữ liệu cảm biến nhiệt độ và độ ẩm không dây dải dài IoT tới Google Trang tính: 39 bước
Gửi dữ liệu cảm biến nhiệt độ và độ ẩm không dây phạm vi dài của IoT tới Google Trang tính: Chúng tôi đang sử dụng cảm biến Nhiệt độ và độ ẩm ở đây của NCD, nhưng các bước vẫn như nhau đối với bất kỳ sản phẩm ncd nào, vì vậy nếu bạn có các cảm biến không dây ncd khác, hãy trải nghiệm miễn phí để quan sát cùng với bên cạnh đó. Bằng cách dừng lại của văn bản này, bạn cần phải
Bắt đầu với AWS IoT với cảm biến nhiệt độ không dây sử dụng MQTT: 8 bước
Bắt đầu với AWS IoT với cảm biến nhiệt độ không dây sử dụng MQTT: Trong Các tài liệu hướng dẫn trước, chúng tôi đã xem qua các nền tảng đám mây khác nhau như Azure, Ubidots, ThingSpeak, Losant, v.v. Chúng tôi đã sử dụng giao thức MQTT để gửi dữ liệu cảm biến lên đám mây trong hầu hết tất cả các nền tảng đám mây. Để biết thêm thông tin