INHOUDSOPGAWE:

Aan die gang met langafstand draadlose temperatuur- en trillingsensors: 7 stappe
Aan die gang met langafstand draadlose temperatuur- en trillingsensors: 7 stappe

Video: Aan die gang met langafstand draadlose temperatuur- en trillingsensors: 7 stappe

Video: Aan die gang met langafstand draadlose temperatuur- en trillingsensors: 7 stappe
Video: Smart Building Webinar juni 2020 2024, Julie
Anonim
Aan die gang met langafstand draadlose temperatuur- en trillingsensors
Aan die gang met langafstand draadlose temperatuur- en trillingsensors

Soms is vibrasie die oorsaak van ernstige probleme in baie toepassings. Van masjienasse en laers tot hardeskyfprestasie, vibrasie veroorsaak skade aan die masjien, vroeë vervanging, lae werkverrigting en veroorsaak 'n groot trefkrag op die akkuraatheid. Monitering en tydelike analise van vibrasie in die masjien kan die probleem van vroeë skade en slytasie van die masjienonderdeel oplos.

In hierdie instruksies werk ons aan die IoT draadlose vibrasie- en temperatuursensors vir langafstand. Dit is sensors van industriële graad met baie wydverspreide toepassings.

  • Metaalbewerking
  • Kragopwekking
  • Mynbou
  • Kos en drank

Dus, in hierdie instruksies gaan ons deur die volgende:

  • Draadlose sensors instel met behulp van XCTU en Labview UI.
  • Haal die trillingswaardes van die sensor af.
  • Verstaan die werking van xbee -toestel en xbee -protokol.
  • Die opstel van WiFi -geloofsbriewe en IP -konfigurasie met behulp van die gevange portaal

Stap 1: Spesifikasie van hardeware en sagteware

Hardeware en sagteware spesifikasie
Hardeware en sagteware spesifikasie
Hardeware en sagteware spesifikasie
Hardeware en sagteware spesifikasie
Hardeware en sagteware spesifikasie
Hardeware en sagteware spesifikasie

Hardeware spesifikasie

  • Draadlose vibrasie- en temperatuursensors
  • Zigmo ontvanger
  • ESP32 BLE/ WiFi -toestel

Sagteware spesifikasie

  • Arduino IDE
  • LabView Utility

Stap 2: Konfigureer die draadlose sensor en Zigmo -ontvanger met behulp van XCTU

Konfigureer die draadlose sensor en Zigmo -ontvanger met behulp van XCTU
Konfigureer die draadlose sensor en Zigmo -ontvanger met behulp van XCTU
Konfigureer die draadlose sensor en Zigmo -ontvanger met behulp van XCTU
Konfigureer die draadlose sensor en Zigmo -ontvanger met behulp van XCTU

Elke IoT -toestel benodig 'n kommunikasieprotokol om die toestel oor die wolk te plaas en om 'n draadlose koppelvlak tussen verskillende toestelle op te stel.

Hier gebruik die draadlose sensors en Zigmo-ontvanger XBee met 'n lae krag en langafstandoplossing. XBee gebruik 'n ZigBee -protokol wat die werking in 902 tot 928 MHz ISM -bande spesifiseer.

Xbee kan gekonfigureer word met behulp van XCTU -sagteware

  1. Soek die Xbee -toestel of voeg 'n nuwe Xbee -toestel by deur op die ikoon links bo te klik.
  2. Die toestel sal op die linkerpaneel verskyn.
  3. dubbelklik op die toestel om die instellings te sien.
  4. Klik nou op die konsole -ikoon in die regter boonste hoek
  5. U kan die waarde op die konsole -uitset sien
  6. Hier kry ons die raam van lengte van 54 grepe
  7. hierdie grepe sal verder gemanipuleer word om die werklike waardes te kry. die prosedure om die werklike temperatuur- en trillingswaardes te kry, word in die komende stappe genoem.

Stap 3: Analise van draadlose temperatuur- en trillingswaardes met behulp van Labview Utility

Ontleding van draadlose temperatuur- en trillingswaardes met behulp van Labview Utility
Ontleding van draadlose temperatuur- en trillingswaardes met behulp van Labview Utility
Ontleding van draadlose temperatuur- en trillingswaardes met behulp van Labview Utility
Ontleding van draadlose temperatuur- en trillingswaardes met behulp van Labview Utility

Die sensor werk in twee modusse

  • Konfigurasiemodus: Stel die pan -ID, vertraging, aantal herproewe, ens in. Meer hieroor is buite die omvang van hierdie instruksies en sal in die volgende instruksies verduidelik word.
  • Uitvoermodus: ons gebruik die toestel in die loopmodus. En om hierdie waarde te ontleed, gebruik ons die Labview Utility

Hierdie Labview UI toon die waardes in mooi grafieke. Dit toon die huidige sowel as die vorige waardes. U kan na hierdie skakel gaan om die Labview UI af te laai.

Klik op die ikoon Uitvoering in die menu van die bestemmingsbladsy om na die uitvoermodus te gaan.

Stap 4: Konfigureer DHCP/statiese IP -instellings met behulp van Captive Portal

Konfigureer DHCP/statiese IP -instellings met behulp van Captive Portal
Konfigureer DHCP/statiese IP -instellings met behulp van Captive Portal
Konfigureer DHCP/statiese IP -instellings met Captive Portal
Konfigureer DHCP/statiese IP -instellings met Captive Portal
Konfigureer DHCP/statiese IP -instellings met Captive Portal
Konfigureer DHCP/statiese IP -instellings met Captive Portal

Ons gebruik die gevange portaal om die WiFi -geloofsbriewe te stoor en deur die IP -instellings te beweeg. Vir die gedetailleerde inleiding op die gevange portaal, kan u deur die volgende instruksies gaan.

Die gevange portaal gee ons die opsie om te kies tussen statiese en DHCP -instellings. Voer net die geloofsbriewe in, soos Static IP, Subnet Mask, gateway en die Wireless Sensor Gateway sal op die IP gekonfigureer word.

Stap 5: Stoor WiFi -instellings met behulp van Captive Portal

Stoor WiFi -instellings met Captive Portal
Stoor WiFi -instellings met Captive Portal

'N Webblad word aangebied met 'n lys met beskikbare WiFi -netwerke en daar RSSI. Kies die WiFi -netwerk en wagwoord en voer in. Die geloofsbriewe word in die EEPROM gestoor en die IP -instelling word in die SPIFFS gestoor. Meer hieroor kan gevind word in hierdie instruksies.

Stap 6: Publiseer sensorlesings aan UbiDots

Hier gebruik ons draadlose temperatuur- en trillingsensors met die ESP 32 -gateway -ontvanger om die temperatuur- en humiditeitsdata te kry. Ons stuur die data na UbiDots met behulp van die MQTT -protokol. MQTT volg 'n publiseer- en intekeningsmeganisme eerder as die versoek en antwoord. Dit is vinniger en betroubaarder as HTTP. Dit werk soos volg.

Lees die data van die draadlose sensor

Ons kry 'n raam van 29 byte van die draadlose temperatuur- en trillingsensors. Hierdie raam word gemanipuleer om die werklike temperatuur- en trillingsdata te kry

if (Serial2.available ()) {data [0] = Serial2.read (); vertraging (k); if (data [0] == 0x7E) {Serial.println ("Pakket gekry"); terwyl (! Serial2.available ()); vir (i = 1; i <55; i ++) {data = Serial2.read (); vertraging (1); } if (data [15] == 0x7F) /////// om seker te maak of die gegewens korrek is {if (data [22] == 0x08) //////// maak seker dat die tipe sensor is is korrek {rms_x = ((uint16_t) (((data [24]) << 16) + ((data [25]) << 8) + (data [26])))/100); rms_y = ((uint16_t) (((data [27]) << 16) + ((data [28]) << 8) + (data [29])))/100); rms_z = ((uint16_t) (((data [30]) << 16) + ((data [31]) << 8) + (data [32])))/100); max_x = ((uint16_t) (((data [33]) << 16) + ((data [34]) << 8) + (data [35])))/100); max_y = ((uint16_t) (((data [36]) << 16) + ((data [37]) << 8) + (data [38]))/100); max_z = ((uint16_t) (((data [39]) << 16) + ((data [40]) << 8) + (data [41])))/100);

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

cTemp = ((((data [51]) * 256) + data [52])); float battery = ((data [18] * 256) + data [19]); dryfspanning = 0.00322 * battery; Serial.print ("Sensornommer"); Serial.println (data [16]); Serial.print ("Sensortipe"); Serial.println (data [22]); Serial.print ("Firmware -weergawe"); Serial.println (data [17]); Serial.print ("Temperatuur in Celsius:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS-trilling in X-as:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("RMS-trilling in Y-as:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS-trilling in Z-as:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Min vibrasie in X-as:");

Reeks.afdruk (min_x); Serial.println ("mg"); Serial.print ("Min vibrasie in Y-as:"); Reeks.afdruk (min_j); Serial.println ("mg"); Serial.print ("Min vibrasie in Z-as:"); Reeks.afdruk (min_z); Serial.println ("mg");

Serial.print ("ADC -waarde:");

Serial.println (battery); Serial.print ("Batteryspanning:"); Reeks.afdruk (spanning); Serial.println ("\ n"); if (spanning <1) {Serial.println ("Tyd om die battery te vervang"); }}} anders {vir (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); vertraging (1); }}}}

Koppel aan UbiDots MQTT API

Sluit die koplêer vir die MQTT -proses in

#sluit "PubSubClient.h" in

definieer ander veranderlikes vir MQTT, soos kliëntnaam, makelaarsadres, teken -ID (ons haal die teken -ID van EEPROM af)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; char -vrag [100]; char onderwerp [150]; // skep 'n veranderlike om die ID van die tekenstring tokenId op te slaan;

Skep veranderlikes om verskillende sensor data te stoor en skep 'n char veranderlike om onderwerp te stoor

#define VARIABLE_LABEL_TEMPF "tempF" // Die veranderlike etiket bepaal

char onderwerp1 [100];

char topic2 [100]; char topic3 [100];

publiseer die data na die genoemde MQTT -onderwerp, en die laai sal soos {"tempc": {value: "tempData"}} lyk

sprintf (topic1, "%s", ""); sprintf (topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (loonvrag, "%s", "");

// Maak die loonvrag sprintf skoon (laai, "{"%s / ":", VARIABLE_LABEL_TEMPC);

// Voeg die waarde sprintf (payload, "%s {" value / ":%s}", payload, str_cTemp) by;

// Voeg die waarde sprintf (payload, "%s}", payload) by;

// Sluit die woordeboekhakies Serial.println (loonvrag);

Serial.println (client.publish (topic1, payload)? "Gepubliseer": "niepubliseer");

// Doen dieselfde vir ander onderwerpe

client.publish () publiseer die data aan UbiDots

Stap 7: Visualisering van die data

Visualisering van die data
Visualisering van die data
  • Gaan na Ubidots en meld aan by u rekening.
  • Navigeer na die paneelbord vanaf die blad Data bo -aan.
  • Klik nou op die "+" - ikoon om die nuwe widgets by te voeg.
  • Kies 'n widget uit die lys en voeg 'n veranderlike en toestelle by.
  • Die sensordata kan op die dashboard met behulp van verskillende widgets gevisualiseer word.

Algehele kode

Die Over -kode vir HTML en ESP32 kan gevind word in hierdie GitHub -bewaarplek.

  1. ncd ESP32 breakout board.
  2. ncd Draadlose temperatuur- en humiditeitsensors.
  3. kroegondernemer
  4. UbiDots

Aanbeveel: