Përmbajtje:
- Hapi 1: Specifikimet e harduerit dhe softuerit
- Hapi 2: Konfigurimi i sensorit pa tel dhe marrësit Zigmo duke përdorur XCTU
- Hapi 3: Analiza e vlerave të temperaturës dhe dridhjeve pa tel duke përdorur mjetin Labview
- Hapi 4: Konfigurimi i cilësimeve të DHCP/IP statike duke përdorur portën e kapur
- Hapi 5: Ruajtja e cilësimeve të WiFi duke përdorur Portalin e Kapur
- Hapi 6: Publikimi i leximeve të sensorëve në UbiDots
- Hapi 7: Vizualizimi i të dhënave
Video: Fillimi me sensorë të temperaturës dhe dridhjeve pa tel me rreze të gjatë: 7 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
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
- 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
Ç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
- Kërkoni për pajisjen Xbee ose shtoni një pajisje të re Xbee duke klikuar në ikonën lart majtas.
- Pajisja do të jetë e shënuar në panelin e majtë.
- klikoni dy herë mbi pajisjen për të parë cilësimet.
- Tani klikoni në ikonën e tastierës në këndin e sipërm të djathtë
- Ju mund të shihni vlerën që vjen në daljen e tastierës
- Këtu po marrim kuadrin me gjatësi 54 bajt
- 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
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
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
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
- 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.
- ncd ESP32 bordi i shpërthimit.
- ncd Sensorë të temperaturës pa tel dhe lagështisë.
- pubsubclient
- UbiDots
Recommended:
Dërgimi i të dhënave të dridhjeve pa tel dhe sensorit të temperaturës në Excel duke përdorur Node-RED: 25 hapa
Dërgimi i të dhënave të dridhjeve pa tel dhe sensorit të temperaturës në Excel duke përdorur Node-RED: Prezantimi i sensorit të dridhjeve dhe temperaturës pa tela të NCD’s Long Range IoT Industrial, duke u mburrur deri në një distancë prej 2 kilometrash përdorimi i një strukture rrjetëzimi pa tel. Përfshirë një sensor dridhjeje dhe temperature të saktë 16-bit, kjo pajisje kalon
Nyje-KUQ Me sensorin e dridhjeve dhe temperaturës me rreze të gjatë IoT: 34 hapa
Node-RED Me sensorin e dridhjeve dhe temperaturës së distancës së madhe IoT: Prezantimi i sensorit të lagështisë së temperaturës me rreze të gjatë të NCD, që mburret deri në një distancë prej 28 Mile duke përdorur një arkitekturë të rrjetit me rrjetë pa tel. Përfshirja e sensorit të lagështisë së temperaturës Honeywell HIH9130 transmeton temperaturë shumë të saktë një
ThingSpeak, ESP32 dhe Temperatura dhe lagështia me valë me rreze të gjatë: 5 hapa
ThingSpeak, ESP32 dhe Temperatura dhe lagështia me valë me rreze të gjatë: Në këtë tutorial, ne do të masim të dhëna të ndryshme të temperaturës dhe lagështisë duke përdorur sensorin Temp dhe lagështi. Ju gjithashtu do të mësoni se si t'i dërgoni këto të dhëna në ThingSpeak. Kështu që ju mund ta analizoni atë nga kudo për aplikime të ndryshme
Dërgimi i të dhënave të sensorit të temperaturës dhe lagështisë pa tel me rreze të gjatë në Google Sheet: 39 hapa
Dërgimi i të dhënave të sensorit të temperaturës dhe lagështisë me rreze të gjatë IoT në Fletën Google: Ne po përdorim këtu sensorin e Temperaturës dhe Lagështisë të NCD, por hapat qëndrojnë të barabartë për cilindo nga produktet ncd, kështu që nëse keni sensorë të tjerë pa tel ncd, përjetoni të lirë të vëzhgoni krahas përveç. Me anë të ndalimit të këtij teksti, ju duhet të
Sensori i temperaturës dhe lagështisë me valë IOT me rreze të gjatë me Nyje-Kuqe: 27 hapa
Sensori i temperaturës dhe lagështisë pa tel IOT me rreze të gjatë me Nyje-Kuqe: Prezantimi i sensorit me rreze të lagështisë me rreze të gjatë të NCD, i cili mburret deri në një distancë prej 28 Mile duke përdorur një arkitekturë të rrjetit me rrjetë pa tel. Përfshirja e sensorit të lagështisë Honeywell HIH9130 transmeton temperaturë shumë të saktë një