Мазмұны:

Ұзақ қашықтықтағы сымсыз температура мен діріл датчиктерінің жұмысын бастау: 7 қадам
Ұзақ қашықтықтағы сымсыз температура мен діріл датчиктерінің жұмысын бастау: 7 қадам

Бейне: Ұзақ қашықтықтағы сымсыз температура мен діріл датчиктерінің жұмысын бастау: 7 қадам

Бейне: Ұзақ қашықтықтағы сымсыз температура мен діріл датчиктерінің жұмысын бастау: 7 қадам
Бейне: Титаниктің құпиясы: олар айсбергті қалай байқамады?! Ең егжей-тегжейлі оқиға! 2024, Шілде
Anonim
Ұзақ диапазондағы сымсыз температура мен діріл датчиктерінің жұмысын бастау
Ұзақ диапазондағы сымсыз температура мен діріл датчиктерінің жұмысын бастау

Кейде діріл көптеген қосымшаларда елеулі мәселелердің себебі болып табылады. Машина біліктері мен подшипниктерден қатты дискінің жұмысына дейін діріл машинаның бұзылуына, ерте ауыстырылуына, төмен өнімділігіне әкеледі және дәлдікке үлкен соққы береді. Машинадағы дірілдің мониторингі мен мезгілдік талдауы машина бөлшегінің ерте зақымдануы мен тозуы мәселесін шеше алады.

Бұл нұсқаулықта біз IoT ұзақ қашықтықтағы сымсыз діріл мен температура сенсорларында жұмыс жасаймыз. Бұл көптеген кең таралған қосымшалары бар өнеркәсіптік сенсорлар.

  • Металл өңдеу
  • Қуат өндіру
  • Тау -кен
  • Тамақ пен сусын

Сонымен, осы нұсқаулықта біз келесілерді қарастырамыз:

  • XCTU және Labview UI көмегімен сымсыз сенсорларды конфигурациялау.
  • Сенсордан діріл мәндерін алу.
  • Xbee құрылғысы мен xbee хаттамасының жұмысын түсіну.
  • Тұтқыр порталдың көмегімен WiFi тіркелгі деректерін және IP конфигурациясын конфигурациялау

1 -қадам: Жабдықтар мен бағдарламалық қамтамасыз етудің сипаттамасы

Аппараттық және бағдарламалық қамтамасыз етудің сипаттамасы
Аппараттық және бағдарламалық қамтамасыз етудің сипаттамасы
Аппараттық және бағдарламалық қамтамасыз етудің сипаттамасы
Аппараттық және бағдарламалық қамтамасыз етудің сипаттамасы
Аппараттық және бағдарламалық қамтамасыз етудің сипаттамасы
Аппараттық және бағдарламалық қамтамасыз етудің сипаттамасы

Жабдық сипаттамасы

  • Сымсыз діріл мен температура сенсорлары
  • Зигмо қабылдағышы
  • ESP32 BLE/ WiFi құрылғысы

Бағдарламалық қамтамасыз ету ерекшелігі

  • Arduino IDE
  • LabView қызметтік бағдарламасы

2 -қадам: XCTU көмегімен сымсыз сенсор мен зигмо қабылдағышты конфигурациялау

XCTU көмегімен сымсыз сенсор мен зигмо қабылдағышты конфигурациялау
XCTU көмегімен сымсыз сенсор мен зигмо қабылдағышты конфигурациялау
XCTU көмегімен сымсыз сенсор мен зигмо қабылдағышты конфигурациялау
XCTU көмегімен сымсыз сенсор мен зигмо қабылдағышты конфигурациялау

Әрбір IoT құрылғысына құрылғыны бұлтқа қою және әр түрлі құрылғылар арасында сымсыз интерфейсті орнату үшін байланыс протоколы қажет.

Бұл жерде сымсыз сенсорлар мен зигмо қабылдағышы төмен қуатты және ұзақ қашықтықтағы XBee шешімін қолданады. XBee 902 -ден 928 МГц ISM диапазонындағы операцияны көрсететін ZigBee хаттамасын қолданады.

Xbee XCTU бағдарламалық жасақтамасының көмегімен конфигурациялануы мүмкін

  1. Жоғарғы сол жақ белгішені басу арқылы Xbee құрылғысын іздеңіз немесе жаңа Xbee құрылғысын қосыңыз.
  2. Құрылғы сол жақ панельде көрсетіледі.
  3. параметрлерді көру үшін құрылғыны екі рет нұқыңыз.
  4. Енді жоғарғы оң жақ бұрыштағы консоль белгішесін нұқыңыз
  5. Сіз консоль шығысында келетін мәнді көре аласыз
  6. Мұнда біз ұзындығы 54 байт кадрды аламыз
  7. бұл байттар нақты мәндерді алу үшін одан әрі басқарылатын болады. нақты температура мен діріл мәндерін алу процедурасы алдағы қадамдарда айтылады.

3 -қадам: Labview Utility көмегімен сымсыз температура мен діріл мәндерін талдау

Labview Utility көмегімен сымсыз температура мен діріл мәндерін талдау
Labview Utility көмегімен сымсыз температура мен діріл мәндерін талдау
Labview Utility көмегімен сымсыз температура мен діріл мәндерін талдау
Labview Utility көмегімен сымсыз температура мен діріл мәндерін талдау

Сенсор екі режимде жұмыс істейді

  • Конфигурация режимі: Пан идентификаторын, кідірісті, қайталау санын және т.
  • Жұмыс режимі: Біз құрылғыны Іске қосу режимінде іске қосамыз. Бұл мәнді талдау үшін біз Labview Utility қолданамыз

Бұл Labview UI мәндерді жақсы графиктерде көрсетеді. Ол ағымдағы және бұрынғы құндылықтарды көрсетеді. Labview UI жүктеу үшін мына сілтемеге өтуге болады.

іске қосу режиміне өту үшін ашылатын мәзірдегі Іске қосу белгішесін нұқыңыз.

4 -қадам: Captive Portal көмегімен DHCP/статикалық IP параметрлерін конфигурациялау

Captive Portal көмегімен DHCP/статикалық IP параметрлерін теңшеу
Captive Portal көмегімен DHCP/статикалық IP параметрлерін теңшеу
Captive Portal көмегімен DHCP/статикалық IP параметрлерін теңшеу
Captive Portal көмегімен DHCP/статикалық IP параметрлерін теңшеу
Captive Portal көмегімен DHCP/статикалық IP параметрлерін теңшеу
Captive Portal көмегімен DHCP/статикалық IP параметрлерін теңшеу

Біз Wi -Fi тіркелгі деректерін сақтау және IP параметрлері арқылы апару үшін тұтқында отырған порталды қолданамыз. Тұтқында отырған порталда егжей -тегжейлі таныстыру үшін сіз келесі нұсқаулықты өтуге болады.

Тұтқын порталы бізге статикалық және DHCP параметрлері арасында таңдау мүмкіндігін береді. Статикалық IP, ішкі желі маскасы, шлюз және сымсыз сенсор шлюзі сияқты тіркелгі деректерін енгізіңіз, сол IP -де конфигурацияланады.

5 -қадам: Тұтқындау порталының көмегімен WiFi параметрлерін сақтау

Тұтқын портал арқылы WiFi параметрлерін сақтау
Тұтқын портал арқылы 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 (data [0] == 0x7E) {Serial.println («Got Packet»); while (! Serial2.available ()); for (i = 1; i <55; i ++) {data = Serial2.read (); кешіктіру (1); } if (деректер [15] == 0x7F) /////// қайталанатын деректердің дұрыстығын тексеру үшін {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 («X осінде RMS тербелісі:»); Serial.print (rms_x); Serial.println («мг»); Serial.print («Y осінде RMS тербелісі:»); Serial.print (rms_y); Serial.println («мг»); Serial.print («Z осінде RMS тербелісі:»); 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.println («\ n»); if (кернеу <1) {Serial.println («Батареяны ауыстыру уақыты»); }}} else {for (i = 0; i <54; i ++) {Serial.print (деректер ); Serial.print («,»); кешіктіру (1); }}}}

UbiDots MQTT API қосылуда

MQTT процесі үшін тақырып файлын қосыңыз

#«PubSubClient.h» қосыңыз

клиенттің аты, брокердің адресі, токен идентификаторы сияқты MQTT үшін басқа айнымалыларды анықтаңыз (біз токен идентификаторын EEPROM -дан аламыз)

#define MQTT_CLIENT_NAME «ClientVBShightime123» char mqttBroker = «things.ubidots.com»; пайдалы жүктеме [100]; char тақырыбы [150]; // Token ID String tokenId сақтау үшін айнымалы жасау;

Әр түрлі сенсорлық деректерді сақтау үшін айнымалылар жасаңыз және тақырыпты сақтау үшін char айнымалысын жасаңыз

#define VARIABLE_LABEL_TEMPF «tempF» // Айнымалы затбелгіні беру #анықтау VARIABLE_LABEL_TEMPC «tempC» // Айнымалы затбелгіні тағайындау #define VARIABLE_LABEL_BAT «bat» #анықтайтын VARIABLE_LABEL_HUMID «ылғалды» //

char тақырыбы1 [100];

char тақырыбы2 [100]; char тақырыбы3 [100];

деректерді аталған MQTT тақырыбына жариялаңыз, жүктеме {«tempc»: {value: «tempData»}} сияқты болады

sprintf (theme1, «%s», «»); sprintf (theme1, «%s%s», «/v1.6/devices/», DEVICE_LABEL); sprintf (пайдалы жүктеме, «%s», «»);

// sprintf пайдалы жүктемені тазалайды (жүктеме, «{»%s / «:», VARIABLE_LABEL_TEMPC);

// sprintf мәнін қосады (жүктеме, «%s {» мәні / «:%s}», пайдалы жүктеме, str_cTemp);

// sprintf мәнін қосады (пайдалы жүктеме, «%s}», пайдалы жүктеме);

// Serial.println (пайдалы жүктеме) сөздік жақшаларын жабады;

Serial.println (client.publish (тақырып1, пайдалы жүктеме)? «Жарияланды»: «жарияланбаған»);

// Басқа тақырып үшін де солай жасаңыз

client.publish () деректерді UbiDots -те жариялайды

7 -қадам: Деректерді визуализациялау

Мәліметтерді визуализациялау
Мәліметтерді визуализациялау
  • Ubidots бөліміне өтіп, тіркелгіңізге кіріңіз.
  • Жоғарғы жағында көрсетілген Деректер қойындысынан бақылау тақтасына өтіңіз.
  • Енді жаңа виджеттерді қосу үшін «+» белгісін басыңыз.
  • Тізімнен виджетті таңдап, айнымалы мен құрылғыларды қосыңыз.
  • Сенсор мәліметтерін бақылау тақтасында әр түрлі виджеттер көмегімен көруге болады.

Жалпы код

HTML мен ESP32 үшін Over кодын осы GitHub репозиторийінен табуға болады.

  1. ncd ESP32 ажырату тақтасы.
  2. ncd Сымсыз температура мен ылғалдылық сенсорлары.
  3. pubsubclient
  4. UbiDots

Ұсынылған: