Բովանդակություն:
- Քայլ 1: Սարքավորման և ծրագրակազմի բնութագրում
- Քայլ 2. Անլար տվիչի և Zigmo ընդունիչի կարգավորում XCTU- ի միջոցով
- Քայլ 3. Անլար ջերմաստիճանի և թրթռման արժեքների վերլուծություն ՝ օգտագործելով Labview կոմունալը
- Քայլ 4. DHCP/Ստատիկ IP կարգավորումների կազմաձևում ՝ գերված պորտալի միջոցով
- Քայլ 5. Պահել WiFi կարգավորումները ՝ օգտագործելով գերված պորտալը
- Քայլ 6. Սենսորային ընթերցումների հրատարակում UbiDots- ում
- Քայլ 7: Տվյալների պատկերացում
Video: Սկսելով երկար հեռահար անլար ջերմաստիճանի և թրթռման տվիչների միջոցով `7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Երբեմն թրթռումը լուրջ խնդիրների պատճառ է դառնում բազմաթիվ ծրագրերում: Մեքենայի լիսեռներից և առանցքակալներից մինչև կոշտ սկավառակի աշխատանքը, թրթռումը առաջացնում է մեքենայի վնասում, վաղ փոխարինում, ցածր կատարողականություն և մեծ հարված հասցնում ճշգրտությանը: Մեքենայում թրթռումների մոնիտորինգը և ժամանակ առ ժամանակ վերլուծությունը կարող է լուծել մեքենայի մասի վաղաժամ վնասների և մաշվածության խնդիրը:
Այս ուսանելի դասում մենք աշխատելու ենք IoT հեռահար անլար թրթռման և ջերմաստիճանի տվիչների վրա: Սրանք արդյունաբերական դասի սենսորներ են, որոնք շատ տարածված ծրագրեր ունեն:
- Մետաղագործություն
- Էլեկտրաէներգիայի արտադրություն
- Հանքարդյունաբերություն
- Սնունդ եւ խմիչքներ
Այսպիսով, այս Ուղեցույցում մենք անցնելու ենք հետևյալը.
- Անլար տվիչների կարգավորում XCTU- ի և Labview UI- ի միջոցով:
- Սենսորից թրթռման արժեքներ ստանալը:
- Հասկանալ xbee սարքի և xbee արձանագրության աշխատանքը:
- WiFi հավատարմագրերի և IP կոնֆիգուրացիայի կազմաձևում ՝ գերված պորտալի միջոցով
Քայլ 1: Սարքավորման և ծրագրակազմի բնութագրում
Սարքաշարի բնութագրում
- Անլար թրթռման և ջերմաստիճանի տվիչներ
- Igիգմո ընդունիչ
- ESP32 BLE/ WiFi սարք
Softwareրագրաշարի բնութագրում
- Arduino IDE
- LabView կոմունալ
Քայլ 2. Անլար տվիչի և Zigmo ընդունիչի կարգավորում XCTU- ի միջոցով
Յուրաքանչյուր IoT սարք կարիք ունի հաղորդակցության արձանագրության ՝ սարքը ամպի վրա դնելու և տարբեր սարքերի միջև անլար ինտերֆեյս ստեղծելու համար:
Այստեղ անլար սենսորները և Zigmo ընդունիչը օգտագործում են ցածր էներգիայի և երկար հեռավորության լուծում XBee: XBee- ն օգտագործում է ZigBee արձանագրություն, որը սահմանում է գործողությունը 902 -ից 928 ՄՀց ISM տիրույթներում:
Xbee- ն կարող է կազմաձևվել ՝ օգտագործելով XCTU ծրագրակազմ
- Որոնեք Xbee սարքը կամ ավելացրեք նոր Xbee սարք ՝ կտտացնելով վերևի ձախ պատկերակին:
- Սարքը կցուցադրվի ձախ վահանակի վրա:
- կրկնակի սեղմեք սարքի վրա `կարգավորումները տեսնելու համար:
- Այժմ կտտացրեք վահանակի պատկերակին ՝ վերին աջ անկյունում
- Դուք կարող եք տեսնել արժեքը, որը գալիս է վահանակի ելքի վրա
- Այստեղ մենք ստանում ենք 54 բայթ երկարության շրջանակ
- այս բայթերը հետագայում կշահարկվեն `իրական արժեքները ստանալու համար: իրական ջերմաստիճանի և թրթռման արժեքները ստանալու ընթացակարգը նշված է առաջիկա քայլերում:
Քայլ 3. Անլար ջերմաստիճանի և թրթռման արժեքների վերլուծություն ՝ օգտագործելով Labview կոմունալը
Սենսորը աշխատում է երկու ռեժիմով
- Կազմաձևման ռեժիմ. Կարգավորեք Pan ID- ն, հետաձգումը, կրկնումների քանակը և այլն: Այս մասին ավելին դուրս է այս հրահանգվողի շրջանակներից և կբացատրվի հաջորդ հրահանգում:
- Գործարկման ռեժիմ. Մենք սարքը գործարկում ենք Run ռեժիմում: Եվ այս արժեքը վերլուծելու համար մենք օգտագործում ենք Labview կոմունալը
Այս Labview UI- ն ցույց է տալիս գեղեցիկ գրաֆիկների արժեքները: Այն ցույց է տալիս ինչպես ընթացիկ, այնպես էլ անցյալ արժեքները: Դուք կարող եք գնալ այս հղմանը ՝ Labview UI- ը ներբեռնելու համար:
կտտացրեք «Գործարկել» պատկերակին վայրէջքի էջի ընտրացանկից ՝ գործարկման ռեժիմին անցնելու համար:
Քայլ 4. DHCP/Ստատիկ IP կարգավորումների կազմաձևում ՝ գերված պորտալի միջոցով
Մենք օգտագործում ենք գերված պորտալը ՝ WiFi հավատարմագրերը պահպանելու և IP կարգավորումների միջոցով սավառնելու համար: Գերի ընկած պորտալում մանրամասն ներածության համար կարող եք անցնել հետևյալ ուսանելի:
Գերի ընկած պորտալը մեզ հնարավորություն է տալիս ընտրելու ստատիկ և DHCP կարգավորումները: Պարզապես մուտքագրեք հավատարմագրերը, ինչպիսիք են Static IP- ն, Subnet Mask- ը, gateway- ը և Wireless Sensor Gateway- ը կկարգավորվեն այդ IP- ում:
Քայլ 5. Պահել WiFi կարգավորումները ՝ օգտագործելով գերված պորտալը
Տեղադրվում է մի վեբ էջ, որտեղ առկա WiFi ցանցերի և այնտեղ RSSI- ի ցուցակը: Ընտրեք WiFi ցանցը և գաղտնաբառը և մուտքագրեք ներկայացնել: Հավատարմագրերը կպահվեն EEPROM- ում, իսկ IP- ի կարգավորումը ՝ SPIFFS- ում: Այս մասին ավելին կարելի է գտնել այս հրահանգի մեջ:
Քայլ 6. Սենսորային ընթերցումների հրատարակում UbiDots- ում
Այստեղ մենք օգտագործում ենք անլար ջերմաստիճանի և թրթռման տվիչներ ՝ ESP 32 դարպասի ընդունիչով ՝ ջերմաստիճանի և խոնավության տվյալները ստանալու համար: Մենք տվյալները ուղարկում ենք UbiDots ՝ օգտագործելով MQTT արձանագրությունը: MQTT- ն հետևում է հրապարակման և բաժանորդագրման մեխանիզմին, այլ ոչ թե այդ խնդրանքին և պատասխանին: Այն ավելի արագ և հուսալի է, քան HTTP- ը: Սա աշխատում է հետևյալ կերպ.
Անլար տվիչների տվյալների ընթերցում
Մենք ստանում ենք 29 բայթ շրջանակ ՝ անլար ջերմաստիճանի և թրթռման տվիչներից: Այս շրջանակը շահարկված է իրական ջերմաստիճանի և թրթռման տվյալները ստանալու համար:
if (Serial2.available ()) {data [0] = Serial2.read (); ուշացում (k); if (տվյալներ [0] == 0x7E) {Serial.println («Ստացա փաթեթ»); իսկ (! Serial2.available ()); համար (i = 1; i <55; i ++) {data = Serial2.read (); ուշացում (1); } եթե (տվյալներ [15] == 0x7F) /////// ստուգելու համար, թե արդյոք ստացված տվյալները ճիշտ են {if (տվյալներ [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 («irmրագրակազմի տարբերակ»); Serial.println (տվյալները [17]); Serial.print ("Cերմաստիճանը Celsius:"); 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 («Մարտկոցը փոխարինելու ժամանակը»); }}} այլ {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); ուշացում (1); }}}}
Միացում UbiDots MQTT API- ին
Ներառեք MQTT գործընթացի վերնագրի ֆայլը:
#ներառել "PubSubClient.h"
սահմանել այլ փոփոխականներ MQTT- ի համար, ինչպիսիք են հաճախորդի անունը, միջնորդի հասցեն, նշանի ID (մենք վերցնում ենք նշանի ID- ն EEPROM- ից)
#սահմանեք MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; char բեռ [100]; char թեմա [150]; // ստեղծել փոփոխական ՝ նշանի ID String tokenId պահելու համար;
Ստեղծեք փոփոխականներ ՝ տարբեր սենսորային տվյալներ պահելու համար և ստեղծեք char փոփոխական ՝ թեման պահելու համար
#սահմանել VARIABLE_LABEL_TEMPF "tempF" // Հաշվի առնելով փոփոխական պիտակը #define VARIABLE_LABEL_TEMPC "tempC" // Assab the variable label #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "humid label" // Assing
char թեմա 1 [100];
char թեմա 2 [100]; char թեմա 3 [100];
հրապարակել տվյալ MQTT թեմայի տվյալները, բեռնվածությունը նման կլինի {"tempc": {value: "tempData"}}
sprintf (topic1, "%s", ""); sprintf (topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (բեռնվածություն, "%s", "");
// Մաքրում է բեռնվածքի սպրինտֆը (բեռնվածություն, "{"%s / ":", VARIABLE_LABEL_TEMPC);
// Ավելացնում է sprintf արժեքը (բեռնվածություն, "%s {" արժեք / ":%s}", բեռնվածություն, str_cTemp);
// Ավելացնում է sprintf արժեքը (բեռնվածություն, «%s}», բեռնվածություն);
// Փակում է Serial.println բառարանի փակագծերը (բեռնվածություն);
Serial.println (client.publish (topic1, payload)? "Published": "notpublished");
// Նույնը արեք նաև այլ թեմայի համար
client.publish () տվյալները հրապարակում է UbiDots- ում:
Քայլ 7: Տվյալների պատկերացում
- Գնացեք Ubidots և մուտք գործեք ձեր հաշիվ:
- Գնացեք Գործիքային վահանակ ՝ վերևում նշված Տվյալների ներդիրից:
- Այժմ կտտացրեք «+» պատկերակին ՝ նոր վիջեթներ ավելացնելու համար:
- Selectանկից ընտրեք վիջեթ և ավելացրեք փոփոխական և սարքեր:
- Սենսորների տվյալները կարող են արտացոլվել վահանակի վրա ՝ օգտագործելով տարբեր վիջեթներ:
Ընդհանուր ծածկագիր
HTML- ի և ESP32- ի Over կոդը կարելի է գտնել այս GitHub շտեմարանում:
- ncd ESP32 բեկման տախտակ:
- ncd Անլար ջերմաստիճանի և խոնավության տվիչներ:
- pubsubclient
- UbiDots
Խորհուրդ ենք տալիս:
Անլար թրթռման և ջերմաստիճանի տվիչների տվյալներ MySQL- ում ՝ օգտագործելով Node-RED: 40 քայլ
Անլար թրթռումների և ջերմաստիճանի տվիչների տվյալներ MySQL- ին Node-RED- ի միջոցով. Ներկայացնում ենք NCD- ի Long Range IoT Industrial անլար թրթռման և ջերմաստիճանի տվիչը, որը կարող է պարծենալ մինչև 2 մղոն հեռավորությամբ `անլար ցանցային ցանցի կառուցվածքի օգտագործմամբ: Ներառելով ճշգրիտ 16-բիթանոց թրթռման և ջերմաստիճանի տվիչ ՝ այս սարքը փոխում է
Անլար թրթռումների և ջերմաստիճանի տվիչների տվյալներ Excel- ին Node-RED- ի միջոցով ուղարկելը. 25 քայլ
Անլար թրթռումների և ջերմաստիճանի տվիչների տվյալներ Excel- ին ուղարկելով Node-RED- ի միջոցով. Ներկայացնելով NCD- ի Long Range IoT Industrial անլար թրթռման և ջերմաստիճանի տվիչը, որը կարող է պարծենալ մինչև 2 մղոն հեռավորությամբ `անլար ցանցային ցանցի կառուցվածքի օգտագործմամբ: Ներառելով ճշգրիտ 16-բիթանոց թրթռման և ջերմաստիճանի տվիչ ՝ այս սարքը փոխում է
Անլար թրթռման և ջերմաստիճանի տվյալներ ուղարկել Google թերթիկներին ՝ օգտագործելով Node-RED ՝ 37 քայլ
Node-RED- ի միջոցով Google թերթիկներին անլար թրթռման և ջերմաստիճանի տվյալներ ուղարկելը. Ներկայացնելով NCD- ի Long Range IoT Industrial անլար թրթռման և ջերմաստիճանի տվիչը, որը կարող է պարծենալ մինչև 2 մղոն հեռավորությամբ `անլար ցանցային ցանցի կառուցվածքի օգտագործմամբ: Ներառելով ճշգրիտ 16-բիթանոց թրթռման և ջերմաստիճանի տվիչ ՝ այս սարքը փոխում է
Node-RED IoT երկար հեռավորության թրթռման և ջերմաստիճանի տվիչով ՝ 34 քայլ
Node-RED IoT երկար հեռավորության թրթռման և ջերմաստիճանի տվիչով. Ներկայացնում ենք NCD- ի անլար ջերմաստիճանի խոնավության տվիչը ՝ պարծենալով մինչև 28 Մղոն հեռավորությամբ ՝ օգտագործելով անլար ցանցային ճարտարապետություն: Honeywell HIH9130 ջերմաստիճանի խոնավության տվիչի ներառումը փոխանցում է բարձր ճշգրիտ ջերմաստիճան
Երկաթուղիները պաշտպանելու համար Arduino- ում ջերմաստիճանի, անձրևաջրերի և թրթռման տվիչների օգտագործումը. 8 քայլ (նկարներով)
Երկաթուղիները պաշտպանելու համար Arduino- ում ջերմաստիճանի, անձրևաջրերի և թրթռման սենսորների օգտագործումը. Societyամանակակից հասարակության մեջ երկաթուղային ուղևորների աճը նշանակում է, որ երկաթուղային ընկերությունները պետք է ավելին անեն, որպեսզի պահանջարկը բավարարելու համար ցանցերը օպտիմալացնեն: Այս նախագծում մենք փոքր մասշտաբով ցույց կտանք, թե ինչպես են ջերմաստիճանը, անձրևաջրերը և թրթռման տվիչները