فهرست مطالب:
- مرحله 1: مشخصات سخت افزار و نرم افزار
- مرحله 2: پیکربندی سنسور بی سیم و گیرنده زیگمو با استفاده از XCTU
- مرحله 3: تجزیه و تحلیل دما و ارتعاش بی سیم با استفاده از ابزار Labview Utility
- مرحله 4: پیکربندی DHCP/IP Static Settings با استفاده از Captive Portal
- مرحله 5: ذخیره تنظیمات WiFi با استفاده از Captive Portal
- مرحله 6: انتشار خوانش های حسگر در UbiDots
- مرحله 7: تجسم داده ها
تصویری: شروع به کار با سنسورهای دما و ارتعاش بی سیم طولانی برد: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
گاهی اوقات ارتعاش عامل مشکلات جدی در بسیاری از برنامه ها است. ارتعاش از شافت ها و یاتاقان های ماشین گرفته تا عملکرد هارد دیسک باعث آسیب دستگاه ، تعویض زودهنگام ، عملکرد پایین و ضربه بزرگی به دقت می شود. نظارت و تجزیه و تحلیل مرتباً ارتعاشات در دستگاه می تواند مشکل صدمات اولیه و ساییدگی قطعات دستگاه را برطرف کند.
در این قسمت آموزشی ، ما روی سنسورهای ارتعاش و دما بی سیم دوربرد IoT کار خواهیم کرد. اینها سنسورهای درجه صنعتی هستند و کاربردهای گسترده ای مانند آنها دارند.
- فلزکاری
- تولید برق
- معدن
- غذا و نوشیدنی
بنابراین ، در این دستورالعمل موارد زیر را طی می کنیم:
- پیکربندی سنسورهای بی سیم با استفاده از XCTU و Labview UI.
- دریافت مقادیر ارتعاش از سنسور.
- آشنایی با عملکرد دستگاه xbee و پروتکل xbee
- پیکربندی اعتبارنامه WiFi و پیکربندی IP با استفاده از درگاه ضبط شده
مرحله 1: مشخصات سخت افزار و نرم افزار
مشخصات سخت افزار
- سنسورهای ارتعاش و دما بی سیم
- گیرنده زیگمو
- دستگاه ESP32 BLE/ WiFi
مشخصات نرم افزار
- آردوینو IDE
- ابزار LabView
مرحله 2: پیکربندی سنسور بی سیم و گیرنده زیگمو با استفاده از XCTU
هر دستگاه اینترنت اشیا به یک پروتکل ارتباطی نیاز دارد تا دستگاه را روی ابر قرار دهد و یک رابط بی سیم بین دستگاه های مختلف ایجاد کند.
در اینجا سنسورهای بی سیم و گیرنده زیگمو از قدرت کم و راه حل طولانی برد XBee استفاده می کنند. XBee از پروتکل ZigBee استفاده می کند که عملکرد را در باندهای ISM 902 تا 928 مگاهرتز مشخص می کند.
Xbee را می توان با استفاده از نرم افزار XCTU پیکربندی کرد
- با کلیک روی نماد بالا سمت چپ ، دستگاه Xbee را جستجو کنید یا یک دستگاه Xbee جدید اضافه کنید.
- دستگاه در پانل سمت چپ لیست شده است.
- برای مشاهده تنظیمات روی دستگاه دوبار کلیک کنید.
- حالا روی نماد کنسول در گوشه بالا سمت راست کلیک کنید
- می توانید مقدار خروجی کنسول را مشاهده کنید
- در اینجا ما فریم با طول 54 بایت را دریافت می کنیم
- این بایت ها بیشتر به دست می آیند تا مقادیر واقعی را بدست آورند. روش بدست آوردن مقادیر واقعی دما و ارتعاش در مراحل بعدی ذکر شده است.
مرحله 3: تجزیه و تحلیل دما و ارتعاش بی سیم با استفاده از ابزار Labview Utility
سنسور در دو حالت اجرا می شود
- حالت پیکربندی: پیکربندی شناسه Pan ، تأخیر ، تعداد امتحانات مجدد و غیره. بیشتر در این مورد از حوصله این دستورالعمل خارج است و در دستورالعمل بعدی توضیح داده خواهد شد.
- حالت اجرا: ما دستگاه را در حالت اجرا اجرا می کنیم. و برای تجزیه و تحلیل این مقدار از ابزار Labview Utility استفاده می کنیم
این رابط کاربری Labview مقادیر را در نمودارهای زیبا نشان می دهد. مقادیر فعلی و گذشته را نشان می دهد. برای بارگیری رابط کاربری Labview می توانید به این پیوند بروید.
از منوی صفحه فرود روی نماد اجرا کلیک کنید تا به حالت اجرا بروید.
مرحله 4: پیکربندی DHCP/IP Static Settings با استفاده از Captive Portal
ما از پورتال ضبط شده برای ذخیره اعتبار WiFi و حرکت در تنظیمات IP استفاده می کنیم. برای آشنایی بیشتر با پورتال اسیر ، می توانید موارد زیر را به صورت آموزشی آموزش دهید.
پورتال باز به ما این امکان را می دهد که بین تنظیمات Static و DHCP یکی را انتخاب کنیم. فقط اطلاعاتی مانند IP Static ، Subnet Mask ، gateway را وارد کرده و Wateless Sensor Gateway در آن IP پیکربندی می شود.
مرحله 5: ذخیره تنظیمات WiFi با استفاده از Captive Portal
یک صفحه وب میزبانی می شود که در آن لیستی از شبکه های WiFi موجود و RSSI را نشان می دهد. شبکه WiFi و رمز عبور را انتخاب کرده و submit را وارد کنید. اعتبارنامه در EEPROM و تنظیم IP در SPIFFS ذخیره می شود. بیشتر در این مورد می توان در این دستورالعمل یافت.
مرحله 6: انتشار خوانش های حسگر در UbiDots
در اینجا ما از سنسورهای دما و ارتعاش بی سیم با گیرنده دروازه ESP 32 برای دریافت اطلاعات دما و رطوبت استفاده می کنیم. ما داده ها را با استفاده از پروتکل MQTT به UbiDots ارسال می کنیم. MQTT به جای درخواست و پاسخ ، مکانیزم انتشار و اشتراک را دنبال می کند. سریعتر و قابل اطمینان تر از HTTP است. این به شرح زیر عمل می کند.
خواندن اطلاعات سنسور بی سیم
ما از سنسورهای دما و ارتعاش بی سیم یک فریم 29 بایت دریافت می کنیم. این قاب برای دریافت دمای واقعی و داده های ارتعاش دستکاری می شود
if (Serial2.available ()) {data [0] = Serial2.read ()؛ تاخیر (k) ؛ if (data [0] == 0x7E) {Serial.println ("بسته را دریافت کردم")؛ در حالی که (! Serial2.available ())؛ برای (i = 1؛ i <55؛ i ++) {data = Serial2.read ()؛ تأخیر (1) ؛ } if (data [15] == 0x7F) /////// برای بررسی صحت داده های recive {if (data [22] == 0x08) //////// مطمئن شوید نوع سنسور درست است {rms_x = (((uint16_t) (((داده [24]) << 16) + ((داده [25]) << 8) + (داده [26]))/100) ؛ rms_y = ((uint16_t) (((داده [27]) << 16) + ((داده [28]) << 8) + (داده [29]))/100) ؛ rms_z = ((uint16_t) (((داده [30]) << 16) + ((داده [31]) << 8) + (داده [32]))/100) ؛ max_x = ((uint16_t) (((داده [33]) << 16) + ((داده [34]) << 8) + (داده [35]))/100) ؛ max_y = ((uint16_t) (((داده [36]) << 16) + ((داده [37]) << 8) + (داده [38]))/100) ؛ max_z = ((uint16_t) (((داده [39]) << 16) + ((داده [40]) << 8) + (داده [41]))/100) ؛
min_x = ((uint16_t) (((داده [42]) << 16) + ((داده [43]) << 8) + (داده [44]))/100) ؛ min_y = ((uint16_t) (((داده [45]) << 16) + ((داده [46]) << 8) + (داده [47]))/100) ؛ min_z = ((uint16_t) (((داده [48]) << 16) + ((داده [49]) << 8) + (داده [50]))/100) ؛
cTemp = (((((داده [51]) * 256) + داده [52])) ؛ باتری شناور = ((داده [18] * 256) + داده [19]) ؛ ولتاژ شناور = 0.00322 * باتری ؛ Serial.print ("شماره سنسور") ؛ Serial.println (داده [16]) ؛ Serial.print ("نوع سنسور") ؛ Serial.println (داده [22]) ؛ Serial.print ("نسخه سیستم عامل") ؛ Serial.println (داده [17]) ؛ Serial.print ("دما در سانتیگراد:") ؛ Serial.print (cTemp) ؛ Serial.println ("C") ؛ Serial.print ("ارتعاش RMS در محور X:") ؛ Serial.print (rms_x)؛ Serial.println ("میلی گرم") ؛ Serial.print ("ارتعاش RMS در محور Y:") ؛ Serial.print (rms_y) ؛ Serial.println ("میلی گرم") ؛ Serial.print ("ارتعاش RMS در محور Z:") ؛ Serial.print (rms_z) ؛ Serial.println ("میلی گرم") ؛
Serial.print ("حداقل ارتعاش در محور X:") ؛
Serial.print (min_x) ؛ Serial.println ("میلی گرم") ؛ Serial.print ("حداقل ارتعاش در محور Y:") ؛ Serial.print (min_y) ؛ Serial.println ("میلی گرم") ؛ Serial.print ("حداقل ارتعاش در محور Z:") ؛ Serial.print (min_z) ؛ Serial.println ("میلی گرم") ؛
Serial.print ("مقدار ADC:") ؛
Serial.println (باتری) ؛ Serial.print ("ولتاژ باتری:") ؛ Serial.print (ولتاژ) ؛ Serial.println ("\ n")؛ if (ولتاژ <1) {Serial.println ("زمان تعویض باتری") ؛ }}} else {for (i = 0؛ i <54؛ i ++) {Serial.print (data )؛ Serial.print ("،") ؛ تأخیر (1) ؛ }}}}
اتصال به UbiDots MQTT API
شامل فایل سرصفحه برای فرآیند MQTT
#شامل "PubSubClient.h"
تعریف متغیرهای دیگر برای MQTT مانند نام مشتری ، آدرس کارگزار ، شناسه توکن (ما شناسه توکن را از EEPROM واکشی می کنیم)
#تعریف MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"؛ محموله بار [100] ؛ موضوع char [150]؛ // ایجاد متغیر برای ذخیره شناسه توکن String tokenId؛
ایجاد متغیرها برای ذخیره داده های مختلف حسگر و ایجاد یک متغیر char برای ذخیره موضوع
#تعریف VARIABLE_LABEL_TEMPF "tempF" // Assing the variable variable #define VARIABLE_LABEL_TEMPC "tempC" // Assing the variable variable #define VARIABLE_LABEL_BAT "bat" #deabine VARIABLE_LABEL_HUMID label "humid" // assing
char topic1 [100]؛
char topic2 [100]؛ char topic3 [100]؛
انتشار داده ها در مبحث MQTT ذکر شده ، بارگذاری آن شبیه {"tempc": {value: "tempData"}} خواهد بود
sprintf (topic1، "٪ s"، "")؛ sprintf (topic1، "٪ s٪ s"، "/v1.6/devices/"، DEVICE_LABEL)؛ sprintf (بار ، "٪ s" ، "") ؛
// سرعت بار Sprintf را پاک می کند (بار ، "{"٪ s / ":" ، VARIABLE_LABEL_TEMPC) ؛
// مقدار sprintf را اضافه می کند (بار ، "٪ s {" value / ":٪ s}" ، بار ، str_cTemp) ؛
// مقدار sprintf (بار ، "٪ s}" ، بار) را اضافه می کند ؛
// براکت های دیکشنری Serial.println (payload) را می بندد.
Serial.println (client.publish (topic1، payload)؟ "published": "notpublished")؛
// برای موضوعات دیگر نیز همین کار را انجام دهید
client.publish () داده ها را در UbiDots منتشر می کند
مرحله 7: تجسم داده ها
- به Ubidots بروید و وارد حساب خود شوید.
- از سربرگ Data که در بالا ذکر شده است ، به داشبورد بروید.
- اکنون روی نماد "+" کلیک کنید تا ویجت های جدید اضافه شوند.
- یک ویجت از لیست انتخاب کرده و یک متغیر و دستگاه ها را اضافه کنید.
- داده های حسگر را می توان با استفاده از ابزارک های مختلف در داشبورد تجسم کرد.
کد کلی
کد Over برای HTML و ESP32 را می توانید در این مخزن GitHub پیدا کنید.
- برد شکست NCD ESP32.
- ncd سنسورهای دما و رطوبت بی سیم
- pubsubclient
- UbiDots
توصیه شده:
ارسال داده های ارتعاش بی سیم و حسگر دما به Excel با استفاده از Node-RED: 25 مرحله
ارسال داده های ارتعاش بی سیم و حسگر دما به Excel با استفاده از Node-RED: معرفی سنسور ارتعاش و دمای بی سیم NCD’s Long Range IoT Industrial ، با استفاده از ساختار شبکه ای مش بی سیم تا محدوده 2 مایل. این دستگاه با استفاده از سنسور دقیق ارتعاش و دما 16 بیتی ، به
پخش ویدئو از طریق دوربین ESP 32 از طریق WiFi - شروع به کار با برد CAM ESP 32: 8 مرحله
ESP 32 Camera Streaming Video over WiFi | شروع به کار با ESP 32 CAM Board: ESP32-CAM یک ماژول دوربین بسیار کوچک با تراشه ESP32-S است که تقریباً 10 دلار هزینه دارد. علاوه بر دوربین OV2640 و چندین GPIO برای اتصال وسایل جانبی ، دارای شکاف کارت microSD است که می تواند برای ذخیره تصاویر گرفته شده با استفاده از
ThingSpeak ، ESP32 و دما و رطوبت بی سیم طولانی برد: 5 مرحله
ThingSpeak ، ESP32 و Long Range Wireless Temp and Humidity: در این آموزش ، داده های مختلف دما و رطوبت را با استفاده از سنسور دما و رطوبت اندازه گیری می کنیم. همچنین نحوه ارسال این داده ها به ThingSpeak را خواهید آموخت. به طوری که می توانید آن را از هر کجا برای برنامه های مختلف تجزیه و تحلیل کنید
شروع به کار با AWS IoT با سنسور دمای بی سیم با استفاده از MQTT: 8 مرحله
شروع به کار با AWS IoT با سنسور دمای بی سیم با استفاده از MQTT: در دستورالعمل های قبلی ، ما از سیستم عامل های مختلف ابری مانند Azure ، Ubidots ، ThingSpeak ، Losant و غیره استفاده کرده ایم. تقریباً از پروتکل MQTT برای ارسال داده های حسگر به ابر تقریباً استفاده می کنیم. تمام پلت فرم ابر برای اطلاعات بیشتر
نشانگر سطح آب بی سیم با برد بلند با زنگ هشدار - برد تا 1 کیلومتر - هفت سطح: 7 مرحله
نشانگر سطح آب بی سیم با برد بلند با زنگ هشدار | برد تا 1 کیلومتر | هفت سطح: آن را در یوتیوب تماشا کنید: https://youtu.be/vdq5BanVS0Y ممکن است بسیاری از شاخص های سطح آب سیمی و بی سیم را مشاهده کرده باشید که برد 100 تا 200 متر را ارائه می دهند. اما در این دستورالعمل ، شما قرار است Indi سطح آب بی سیم برد بلند را ببینید