Përmbajtje:

Fillimi me sensorë të temperaturës dhe dridhjeve pa tel me rreze të gjatë: 7 hapa
Fillimi me sensorë të temperaturës dhe dridhjeve pa tel me rreze të gjatë: 7 hapa

Video: Fillimi me sensorë të temperaturës dhe dridhjeve pa tel me rreze të gjatë: 7 hapa

Video: Fillimi me sensorë të temperaturës dhe dridhjeve pa tel me rreze të gjatë: 7 hapa
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Korrik
Anonim
Fillimi Me Sensorë të Temperaturës dhe Dridhjes me valë të Largët
Fillimi Me Sensorë të Temperaturës dhe Dridhjes me valë të Largët

Ndonjëherë dridhjet janë shkaku i çështjeve serioze në shumë aplikime. Nga boshtet dhe kushinetat e makinës deri te performanca e diskut të ngurtë, dridhja shkakton dëmtime të makinës, zëvendësim të hershëm, performancë të ulët dhe shkakton një goditje të madhe në saktësinë. Monitorimi dhe analiza herë pas here e dridhjeve në makinë mund të zgjidhë problemin e dëmtimit të hershëm dhe konsumimit të pjesës së makinës.

Në këtë udhëzues, ne do të punojmë në sensorët e dridhjeve dhe temperaturës pa tel me rreze të gjatë IoT. Këta janë sensorë të klasës industriale me shumë aplikime të përhapura si.

  • Përpunimi i metaleve
  • Gjenerimi i fuqise
  • Minierave
  • Ushqim dhe pije

Pra, në këtë Udhëzues do të kalojmë sa më poshtë:

  • Konfigurimi i sensorëve pa tela duke përdorur XCTU dhe Labview UI.
  • Marrja e vlerave të dridhjeve nga sensori.
  • Kuptimi i funksionimit të pajisjes xbee dhe protokollit xbee.
  • Konfigurimi i kredencialeve WiFi dhe konfigurimi i IP duke përdorur portalin e kapur

Hapi 1: Specifikimet e harduerit dhe softuerit

Specifikimet e harduerit dhe softuerit
Specifikimet e harduerit dhe softuerit
Specifikimet e harduerit dhe softuerit
Specifikimet e harduerit dhe softuerit
Specifikimet e harduerit dhe softuerit
Specifikimet e harduerit dhe softuerit

Specifikimet e harduerit

  • Sensorë dridhje pa tel dhe temperaturë
  • Marrës Zigmo
  • Pajisja ESP32 BLE/ WiFi

Specifikimi i Softuerit

  • Arduino IDE
  • Shërbimi LabView

Hapi 2: Konfigurimi i sensorit pa tel dhe marrësit Zigmo duke përdorur XCTU

Konfigurimi i sensorit pa tela dhe marrësit Zigmo duke përdorur XCTU
Konfigurimi i sensorit pa tela dhe marrësit Zigmo duke përdorur XCTU
Konfigurimi i sensorit pa tela dhe marrësit Zigmo duke përdorur XCTU
Konfigurimi i sensorit pa tela dhe marrësit Zigmo duke përdorur XCTU

Çdo pajisje IoT ka nevojë për një protokoll komunikimi për ta vendosur pajisjen mbi re dhe për të krijuar një ndërfaqe pa tel midis pajisjeve të ndryshme.

Këtu Sensorët pa tela dhe Zigmo Receiver përdorin fuqi të ulët dhe zgjidhje me rreze të gjatë XBee. XBee përdor një protokoll ZigBee që specifikon funksionimin në brezat ISM 902 deri në 928 MHz.

Xbee mund të konfigurohet duke përdorur programin XCTU

  1. Kërkoni për pajisjen Xbee ose shtoni një pajisje të re Xbee duke klikuar në ikonën lart majtas.
  2. Pajisja do të jetë e shënuar në panelin e majtë.
  3. klikoni dy herë mbi pajisjen për të parë cilësimet.
  4. Tani klikoni në ikonën e tastierës në këndin e sipërm të djathtë
  5. Ju mund të shihni vlerën që vjen në daljen e tastierës
  6. Këtu po marrim kuadrin me gjatësi 54 bajt
  7. këto bajt do të manipuloheshin më tej për të marrë vlerat reale. procedura për të marrë temperaturën reale dhe vlerat e dridhjeve janë përmendur në hapat e ardhshëm.

Hapi 3: Analiza e vlerave të temperaturës dhe dridhjeve pa tel duke përdorur mjetin Labview

Analiza e vlerave të temperaturës dhe dridhjeve pa tel duke përdorur mjetin Labview
Analiza e vlerave të temperaturës dhe dridhjeve pa tel duke përdorur mjetin Labview
Analiza e vlerave të temperaturës dhe dridhjeve pa tel duke përdorur mjetin Labview
Analiza e vlerave të temperaturës dhe dridhjeve pa tel duke përdorur mjetin Labview

Sensori funksionon në dy mënyra

  • Mënyra e Konfigurimit: Konfiguroni ID -në e Panit, vonesën, numrin e riprovimeve etj. Më shumë për këtë është përtej fushëveprimit të këtij udhëzuesi dhe do të shpjegohet në udhëzuesin tjetër.
  • Mënyra e ekzekutimit: Ne po e drejtojmë pajisjen në modalitetin Run. Dhe për të analizuar këto vlera ne po përdorim Shërbimin Labview

Ky UI Labview tregon vlerat në grafikë të bukur. Ajo tregon vlerat aktuale dhe të kaluara. Ju mund të shkoni në këtë lidhje për të shkarkuar ndërfaqen e Labview.

klikoni në ikonën Run nga menyja e faqes së uljes për të shkuar në modalitetin e ekzekutimit.

Hapi 4: Konfigurimi i cilësimeve të DHCP/IP statike duke përdorur portën e kapur

Konfigurimi i cilësimeve të DHCP/IP statike duke përdorur portën e kapur
Konfigurimi i cilësimeve të DHCP/IP statike duke përdorur portën e kapur
Konfigurimi i cilësimeve të DHCP/IP statike duke përdorur portën e kapur
Konfigurimi i cilësimeve të DHCP/IP statike duke përdorur portën e kapur
Konfigurimi i cilësimeve të DHCP/IP statike duke përdorur portën e kapur
Konfigurimi i cilësimeve të DHCP/IP statike duke përdorur portën e kapur

Ne po përdorim portalin e kapur për të ruajtur kredencialet WiFi dhe për të lëvizur përmes cilësimeve të IP. Për hyrjen e hollësishme në portalin robër, mund të kaloni përmes udhëzimeve të mëposhtme.

Portali i kapur na jep mundësinë të zgjedhim midis cilësimeve Static dhe DHCP. Thjesht futni kredencialet si IP Static, Subnet Mask, gateway dhe Porta e Sensorit Wireless do të konfigurohet në atë IP.

Hapi 5: Ruajtja e cilësimeve të WiFi duke përdorur Portalin e Kapur

Ruajtja e cilësimeve të WiFi duke përdorur Portalin Captive
Ruajtja e cilësimeve të WiFi duke përdorur Portalin Captive

Një faqe në internet po mbahet ku një listë që tregon rrjetet WiFi në dispozicion dhe atje RSSI. Zgjidhni rrjetin WiFi dhe fjalëkalimin dhe futni paraqit. Kredencialet do të ruhen në EEPROM dhe cilësimi IP do të ruhet në SPIFFS. Më shumë për këtë mund të gjeni në këtë udhëzues.

Hapi 6: Publikimi i leximeve të sensorëve në UbiDots

Këtu ne po përdorim sensorë pa temperaturë dhe dridhje pa tel me marrësin e portës ESP 32 për të marrë të dhënat e temperaturës dhe lagështisë. Ne po i dërgojmë të dhënat në UbiDots duke përdorur protokollin MQTT. MQTT ndjek një mekanizëm publikimi dhe abonimi më tepër se kërkesën dhe përgjigjen. Isshtë më i shpejtë dhe i besueshëm se HTTP. Kjo funksionon si më poshtë.

Leximi i të dhënave të sensorit pa tela

Ne po marrim një kornizë 29-bajtësh nga Sensorët e Temperaturës dhe Vibrimit pa Tel. Ky kuadër është manipuluar për të marrë të dhënat aktuale të temperaturës dhe dridhjeve

if (Serial2.disponueshëm ()) {të dhënat [0] = Serial2.read (); vonesa (k); if (të dhënat [0] == 0x7E) {Serial.println ("Got Paketë"); ndërsa (! Serial2.i disponueshëm ()); për (i = 1; i <55; i ++) {të dhënat = Serial2.lex (); vonesa (1); } nëse (të dhënat [15] == 0x7F) /////// për të kontrolluar nëse të dhënat e marrjes janë të sakta {nëse (të dhënat [22] == 0x08) //////// sigurohuni që lloji i sensorit është e saktë {rms_x = (((uint16_t) (((të dhënat [24]) << 16) + ((të dhënat [25]) << 8) + (të dhënat [26]))/100); rms_y = ((uint16_t) (((të dhënat [27]) << 16) + ((të dhënat [28]) << 8) + (të dhënat [29]))/100); rms_z = ((uint16_t) (((të dhënat [30]) << 16) + ((të dhënat [31]) << 8) + (të dhënat [32]))/100); max_x = ((uint16_t) (((të dhënat [33]) << 16) + ((të dhënat [34]) << 8) + (të dhënat [35]))/100); max_y = ((uint16_t) (((të dhënat [36]) << 16) + ((të dhënat [37]) << 8) + (të dhënat [38]))/100); max_z = ((uint16_t) (((të dhënat [39]) << 16) + ((të dhënat [40]) << 8) + (të dhënat [41]))/100);

min_x = ((uint16_t) (((të dhënat [42]) << 16) + ((të dhënat [43]) << 8) + (të dhënat [44]))/100); min_y = ((uint16_t) (((të dhënat [45]) << 16) + ((të dhënat [46]) << 8) + (të dhënat [47]))/100); min_z = ((uint16_t) (((të dhënat [48]) << 16) + ((të dhënat [49]) << 8) + (të dhënat [50]))/100);

cTemp = ((((të dhënat [51]) * 256) + të dhënat [52])); bateri notuese = ((të dhëna [18] * 256) + të dhëna [19]); tensioni notues = 0.00322 * bateri; Serial.print ("Numri i sensorit"); Serial.println (të dhënat [16]); Serial.print ("Lloji i sensorit"); Serial.println (të dhënat [22]); Serial.print ("Versioni i firmuerit"); Serial.println (të dhënat [17]); Serial.print ("Temperatura në Celsius:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("Dridhja e RMS në boshtin X:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("Dridhja e RMS në boshtin Y:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("Dridhja e RMS në boshtin Z:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Dridhje minimale në boshtin X:");

Serial.print (min_x); Serial.println ("mg"); Serial.print ("Dridhje minimale në boshtin Y:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Dridhje minimale në boshtin Z:"); Serial.print (min_z); Serial.println ("mg");

Serial.print ("Vlera ADC:");

Serial.println (bateri); Serial.print ("Tensioni i baterisë:"); Serial.print (tension); Serial.println ("\ n"); if (tension <1) {Serial.println ("Koha për të zëvendësuar baterinë"); }}} tjetër {për (i = 0; i <54; i ++) {Serial.print (të dhënat ); Serial.print (","); vonesa (1); }}}}

Lidhja me UbiDots MQTT API

Përfshini skedarin e kokës për procesin MQTT

#përfshi "PubSubClient.h"

përcaktoni variabla të tjerë për MQTT si emri i klientit, adresa e ndërmjetësit, ID -ja e shenjës (Ne po marrim ID -në e shenjës nga EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; ngarkesa e karbonit [100]; temë char [150]; // krijoni ndryshore për të ruajtur shenjën ID String tokenId;

Krijoni variabla për të ruajtur të dhëna të ndryshme të sensorit dhe krijoni një ndryshore char për të ruajtur temën

#define VARIABLE_LABEL_TEMPF "tempF" // Vlerësimi i etiketës së ndryshores #define VARIABLE_LABEL_TEMPC "tempC" // Vlerësimi i etiketës së ndryshueshme #përcaktoni VARIABLE_LABEL_BAT "bat" #përcaktoni VARIABLE_LABEL_HUMID "etiketën e lagësht" // Vlerësimi

tema char1 [100];

tema e kar22 [100]; tema char3 [100];

publikoni të dhënat në temën e përmendur MQTT, ngarkesa do të duket si {"tempc": {vlera: "tempData"}}

sprintf (tema1, "%s", ""); sprintf (tema1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (ngarkesa, "%s", "");

// Pastron sprintf -in e ngarkesës (ngarkesa, "{"%s / ":", VARIABLE_LABEL_TEMPC);

// Shton vlerën sprintf (ngarkesa, "%s {" vlera / ":%s}", ngarkesa, str_cTemp);

// Shton vlerën sprintf (ngarkesa, "%s}", ngarkesa);

// Mbyll kllapat e fjalorit Serial.println (ngarkesa);

Serial.println (client.publish (topic1, payload)? "Published": "notpublished");

// Bëni të njëjtën gjë edhe për tema të tjera

client.publish () publikon të dhënat në UbiDots

Hapi 7: Vizualizimi i të dhënave

Vizualizimi i të dhënave
Vizualizimi i të dhënave
  • Shkoni te Ubidots dhe Hyni në llogarinë tuaj.
  • Shkoni te Paneli i Kontrollit nga skeda e të dhënave e shënuar në krye.
  • Tani klikoni ikonën "+" për të shtuar widget -et e reja.
  • Zgjidhni një widget nga lista dhe shtoni një ndryshore dhe pajisje.
  • Të dhënat e sensorit mund të vizualizohen në pult duke përdorur pajisje të ndryshme.

Kodi i përgjithshëm

Kodi Over për HTML dhe ESP32 mund të gjendet në këtë depo GitHub.

  1. ncd ESP32 bordi i shpërthimit.
  2. ncd Sensorë të temperaturës pa tel dhe lagështisë.
  3. pubsubclient
  4. UbiDots

Recommended: