Mundarija:
- 1 -qadam: Uskuna va dasturiy ta'minot spetsifikatsiyasi
- 2 -qadam: XCTU yordamida simsiz sensor va zigmo qabul qilgichni sozlash
- 3 -qadam: Labview yordam dasturi yordamida simsiz harorat va tebranish qiymatlarini tahlil qilish
- 4 -qadam: DHCP/statik IP sozlamalarini tutqun portal yordamida sozlash
- 5 -qadam: Captive portal yordamida WiFi sozlamalarini saqlash
- 6 -qadam: Sensor o'qilishini UbiDots -da nashr etish
- 7 -qadam: ma'lumotlarni vizualizatsiya qilish
Video: Uzoq masofali simsiz harorat va tebranish sensorlari bilan ishlashni boshlash: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:22
Ba'zida tebranish ko'plab ilovalarda jiddiy muammolarga sabab bo'ladi. Mashina shaftlari va podshipniklaridan tortib qattiq disk ishlashigacha tebranish mashinaning shikastlanishiga, erta almashtirishga, past ishlashga olib keladi va aniqlikka katta zarba beradi. Mashinada tebranishning monitoringi va vaqti -vaqti bilan tahlil qilinishi, mashina qismining erta shikastlanishi va eskirishi muammosini hal qilishi mumkin.
Bu yo'riqnomada biz uzoq masofali IoT simsiz tebranish va harorat sensori ustida ishlaymiz. Bu sanoat darajasidagi datchiklar, masalan, ko'plab keng qo'llaniladigan dasturlar.
- Metallga ishlov berish
- Quvvat ishlab chiqarish
- Konchilik
- Oziq -ovqat va ichimliklar
Shunday qilib, ushbu qo'llanmada biz quyidagilarni boshdan kechiramiz:
- XCTU va Labview UI yordamida simsiz sensorlarni sozlash.
- Sensordan tebranish qiymatlarini olish.
- Xbee qurilmasi va xbee protokoli ishini tushunish.
- Portativ port yordamida WiFi hisob ma'lumotlari va IP konfiguratsiyasini sozlash
1 -qadam: Uskuna va dasturiy ta'minot spetsifikatsiyasi
Uskuna texnik xususiyatlari
- Simsiz tebranish va harorat sensori
- Zigmo qabul qilgich
- ESP32 BLE/ WiFi qurilmasi
Dastur xususiyatlari
- Arduino IDE
- LabView yordam dasturi
2 -qadam: XCTU yordamida simsiz sensor va zigmo qabul qilgichni sozlash
Har bir IoT qurilmasi qurilmani bulutga qo'yish va turli qurilmalar o'rtasida simsiz interfeysni o'rnatish uchun aloqa protokoliga muhtoj.
Bu erda simsiz sensorlar va Zigmo qabul qilgich kam quvvatli va uzoq masofali XBee echimidan foydalanadi. XBee 902 dan 928 MGts gacha bo'lgan ISM diapazonlarida ishlashni belgilaydigan ZigBee protokolidan foydalanadi.
Xbee -ni XCTU dasturi yordamida sozlash mumkin
- Xbee qurilmasini qidiring yoki yuqori chapdagi belgini bosish orqali yangi Xbee qurilmasini qo'shing.
- Qurilma chap panelda ko'rsatiladi.
- sozlamalarni ko'rish uchun qurilmani ikki marta bosing.
- Endi yuqori o'ng burchakdagi konsol belgisini bosing
- Siz konsolda chiqadigan qiymatni ko'rishingiz mumkin
- Bu erda biz 54 bayt uzunlikdagi ramka olamiz
- haqiqiy baytlarni olish uchun bu baytlar yanada manipulyatsiya qilinadi. haqiqiy harorat va tebranish qiymatlarini olish tartibi kelgusi bosqichlarda aytib o'tiladi.
3 -qadam: Labview yordam dasturi yordamida simsiz harorat va tebranish qiymatlarini tahlil qilish
Sensor ikki rejimda ishlaydi
- Konfiguratsiya rejimi: Pan identifikatorini, kechiktirishni, qayta urinishlar sonini va boshqalarni sozlang. Bu haqda ko'proq ma'lumot berish mumkin emas va keyingi ko'rsatmada tushuntiriladi.
- Ishlash rejimi: Biz qurilmani Ishlash rejimida ishga tushiramiz. Va bu qiymatni tahlil qilish uchun biz Labview Utility dasturidan foydalanamiz
Bu Labview foydalanuvchi interfeysi qiymatlarni chiroyli grafiklarda ko'rsatadi. U hozirgi va o'tgan qiymatlarni ko'rsatadi. Labview UI -ni yuklab olish uchun ushbu havolaga o'tishingiz mumkin.
ishga tushirish rejimiga o'tish uchun ochilish sahifasi menyusidagi Ishga tushirish belgisini bosing.
4 -qadam: DHCP/statik IP sozlamalarini tutqun portal yordamida sozlash
Biz Wi -Fi ma'lumotlarini saqlash va IP sozlamalari bo'ylab harakatlanish uchun asir portalidan foydalanmoqdamiz. Asir portalda batafsil tanishish uchun siz quyidagi ko'rsatmalarni o'tishingiz mumkin.
Asir portal bizga Statik va DHCP sozlamalarini tanlash imkoniyatini beradi. Statik IP, pastki tarmoq niqobi, shlyuz va simsiz sensorlar shluzi kabi hisob ma'lumotlarini kiriting, u IP -da sozlanadi.
5 -qadam: Captive portal yordamida WiFi sozlamalarini saqlash
Veb -sahifa mavjud, u erda mavjud WiFi tarmoqlari va RSSI ko'rsatiladigan ro'yxat mavjud. Wi -Fi tarmog'ini va parolni tanlang va yuborishni kiriting. Hisob ma'lumotlari EEPROMda saqlanadi va IP sozlamalari SPIFFSda saqlanadi. Bu haqida ko'proq ma'lumotni ushbu ko'rsatmalarni topishingiz mumkin.
6 -qadam: Sensor o'qilishini UbiDots -da nashr etish
Bu erda biz harorat va namlik ma'lumotlarini olish uchun ESP 32 shluzi qabul qilgichli simsiz harorat va tebranish sensorlaridan foydalanamiz. Biz MQTT protokoli yordamida ma'lumotlarni UbiDots -ga yuboramiz. MQTT nashr qilish va obuna bo'lish mexanizmidan ko'ra, so'rov va javobni bajaradi. Bu HTTP -ga qaraganda tezroq va ishonchli. Bu quyidagicha ishlaydi.
Simsiz sensor ma'lumotlarini o'qish
Biz simsiz harorat va tebranish sensorlaridan 29 baytli ramka olamiz. Bu ramka haqiqiy harorat va tebranish ma'lumotlarini olish uchun boshqariladi
if (Serial2.available ()) {data [0] = Serial2.read (); kechikish (k); if (ma'lumotlar [0] == 0x7E) {Serial.println ("Got Packet"); while (! Serial2.available ()); uchun (i = 1; i <55; i ++) {ma'lumotlar = Serial2.read (); kechikish (1); } if (ma'lumotlar [15] == 0x7F) /////// qaytariladigan ma'lumotlarning to'g'riligini tekshirish uchun {if (ma'lumotlar [22] == 0x08) //////// sensor turiga ishonch hosil qiling. to'g'ri {rms_x = ((uint16_t) (((ma'lumotlar [24]) << 16) + ((ma'lumotlar [25]) << 8) + (ma'lumotlar [26]))/100); rms_y = ((uint16_t) (((ma'lumotlar [27]) << 16) + ((ma'lumotlar [28]) << 8) + (ma'lumotlar [29]))/100); rms_z = ((uint16_t) (((ma'lumotlar [30]) << 16) + ((ma'lumotlar [31]) << 8) + (ma'lumotlar [32]))/100); max_x = ((uint16_t) (((ma'lumotlar [33]) << 16) + ((ma'lumotlar [34]) << 8) + (ma'lumotlar [35]))/100); max_y = ((uint16_t) (((ma'lumotlar [36]) << 16) + ((ma'lumotlar [37]) << 8) + (ma'lumotlar [38]))/100); max_z = ((uint16_t) (((ma'lumotlar [39]) << 16) + ((ma'lumotlar [40]) << 8) + (ma'lumotlar [41]))/100);
min_x = ((uint16_t) (((ma'lumotlar [42]) << 16) + ((ma'lumotlar [43]) << 8) + (ma'lumotlar [44]))/100); min_y = ((uint16_t) (((ma'lumotlar [45]) << 16) + ((ma'lumotlar [46]) << 8) + (ma'lumotlar [47]))/100); min_z = ((uint16_t) (((ma'lumotlar [48]) << 16) + ((ma'lumotlar [49]) << 8) + (ma'lumotlar [50]))/100);
cTemp = (((((ma'lumotlar [51]) * 256) + ma'lumotlar [52])); float batareya = ((ma'lumotlar [18] * 256) + ma'lumotlar [19]); suzuvchi kuchlanish = 0,00322 * batareya; Serial.print ("Sensor raqami"); Serial.println (ma'lumotlar [16]); Serial.print ("Sensor turi"); Serial.println (ma'lumotlar [22]); Serial.print ("Dasturiy ta'minot versiyasi"); Serial.println (ma'lumotlar [17]); Serial.print ("Selsiy bo'yicha harorat:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("X o'qida RMS tebranishi:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("Y o'qida RMS tebranishi:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("Z o'qida RMS tebranishi:"); Serial.print (rms_z); Serial.println ("mg");
Serial.print ("X o'qida minimal tebranish:");
Serial.print (min_x); Serial.println ("mg"); Serial.print ("Y o'qida minimal tebranish:"); Ketma -ket chop etish (min_y); Serial.println ("mg"); Serial.print ("Z o'qida minimal tebranish:"); Serial.print (min_z); Serial.println ("mg");
Serial.print ("ADC qiymati:");
Serial.println (batareya); Serial.print ("Batareya quvvati:"); Ketma -ket chop etish (kuchlanish); Serial.println ("\ n"); if (kuchlanish <1) {Serial.println ("Batareyani almashtirish vaqti"); }}} boshqa {uchun (i = 0; i <54; i ++) {Serial.print (ma'lumotlar ); Serial.print (","); kechikish (1); }}}}
UbiDots MQTT API -ga ulanish
MQTT jarayoni uchun sarlavha faylini qo'shing
#"PubSubClient.h" ni qo'shing
MQTT uchun mijoz nomi, broker manzili, token identifikatori kabi boshqa o'zgaruvchilarni belgilang (biz token identifikatorini EEPROMdan olamiz)
#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; yuk yuki [100]; char mavzusi [150]; // token identifikatorini saqlash uchun o'zgaruvchini yaratish String tokenId;
Har xil sensor ma'lumotlarini saqlash uchun o'zgaruvchilar yarating va mavzuni saqlash uchun char o'zgaruvchisini yarating
#define VARIABLE_LABEL_TEMPF "tempF" // O'zgaruvchilar yorlig'ini belgilash #VARIABLE_LABEL_TEMPC "tempC" ni belgilash // O'zgaruvchilar yorlig'ini belgilash #define VARIABLE_LABEL_BAT "bat" #VARIABLE_LABEL_HUMID "nam nam" ni belgilash //
char mavzu1 [100];
char mavzu2 [100]; char mavzu3 [100];
ma'lumotlarni MQTT mavzusida e'lon qiling, yuk "{tempc": {value: "tempData"}} kabi ko'rinadi
sprintf (mavzu1, "%s", ""); sprintf (mavzu1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (yuk, "%s", "");
// Sprintf yukini tozalaydi (yuk, "{"%s / ":", VARIABLE_LABEL_TEMPC);
// sprintf qiymatini qo'shadi (yuk, "%s {" qiymati / ":%s}", yuk, str_cTemp);
// sprintf qiymatini qo'shadi (yuk, "%s}", yuk);
// Serial.println (foydali yuk) lug'at qavslarini yopadi;
Serial.println (client.publish (mavzu1, yuk)? "Chop etilgan": "nashr etilmagan");
// Boshqa mavzu uchun ham shunday qiling
client.publish () ma'lumotlarni UbiDots -da e'lon qiladi
7 -qadam: ma'lumotlarni vizualizatsiya qilish
- Ubidots -ga o'ting va hisobingizga kiring.
- Yuqorida ko'rsatilgan Ma'lumotlar yorlig'idan Boshqaruv paneliga o'ting.
- Endi yangi vidjetlarni qo'shish uchun "+" belgisini bosing.
- Ro'yxatdan vidjetni tanlang va o'zgaruvchi va qurilmalarni qo'shing.
- Sensor ma'lumotlarini asboblar panelida turli vidjetlar yordamida ko'rish mumkin.
Umumiy kod
HTML va ESP32 uchun Over kodini ushbu GitHub omboridan topish mumkin.
- ncd ESP32 uzilish taxtasi.
- ncd Simsiz harorat va namlik sensori.
- publisubent
- UbiDots
Tavsiya:
IoT- Ubidots- ESP32+uzoq masofali simsiz tebranish va harorat sensori: 7 qadam
IoT- Ubidots- ESP32+simsiz masofadan tebranish va harorat sensori: tebranish-bu chindan ham motorli gadjetlardagi mashinalar va tarkibiy qismlarning harakatlanishi yoki tebranishi. Sanoat tizimidagi tebranish muammoning alomati yoki sababi bo'lishi mumkin yoki u kundalik ish bilan bog'liq bo'lishi mumkin. Masalan, oskiy
Esp32-Ubidots-simsiz uzoq masofali harorat va namlik: 6 qadam
Esp32-Ubidots-simsiz uzoq masofali harorat va namlik: Bu darslikda biz harorat va namlik sensori yordamida har xil harorat va namlik ma'lumotlarini o'lchaymiz. Shuningdek, siz ushbu ma'lumotlarni Ubidots -ga qanday yuborishni bilib olasiz. Shunday qilib, siz uni har xil ilovalar uchun istalgan joydan tahlil qilishingiz mumkin
IoT uzoq masofali tebranish va harorat sensori bilan tugun-RED: 34 qadam
IoT uzoq masofali tebranish va harorat sensori bilan tugunli-RED: simsiz tarmoqli tarmoq arxitekturasidan foydalangan holda 28 milgacha bo'lgan NCD uzoq masofali simsiz harorat namlik sensori bilan tanishish. Honeywell HIH9130 namlik datchigi yuqori aniqlikdagi haroratni uzatadi
IoT-ThingSpeak-ESP32-uzoq masofali-simsiz-tebranish va harorat: 6 qadam
IoT-ThingSpeak-ESP32-Uzoq masofali-Simsiz-Vibratsiyali va Harorat: Ushbu loyihada biz NCD tebranishi va harorat sensori, Esp32, ThingSpeak yordamida tebranish va haroratni o'lchaymiz. - motorli gadjetlardagi mashinalar va butlovchi qismlar. I -dagi tebranish
IoT uzoq masofali simsiz harorat va namlik sensori ma'lumotlarini Google jadvaliga yuborish: 39 qadam
IoT uzoq masofali simsiz harorat va namlik sensori ma'lumotlarini Google jadvaliga yuborish: biz bu erda NCD harorat va namlik sensori ishlatamiz, lekin har qanday ncd mahsuloti uchun qadamlar teng bo'lib qoladi, shuning uchun agar sizda boshqa ncd simsiz sensorlar bo'lsa, kuzatib boring. yonida. Ushbu matnni to'xtatish orqali siz