Kazalo:

Začetek uporabe brezžičnih senzorjev temperature in vibracij na dolge razdalje: 7 korakov
Začetek uporabe brezžičnih senzorjev temperature in vibracij na dolge razdalje: 7 korakov

Video: Začetek uporabe brezžičnih senzorjev temperature in vibracij na dolge razdalje: 7 korakov

Video: Začetek uporabe brezžičnih senzorjev temperature in vibracij na dolge razdalje: 7 korakov
Video: Дэниел Шмахтенбергер: Уничтожат ли нас технологии? 2024, November
Anonim
Začnite z brezžičnimi senzorji temperature in vibracij na dolge razdalje
Začnite z brezžičnimi senzorji temperature in vibracij na dolge razdalje

Včasih so vibracije vzrok resnih težav v mnogih aplikacijah. Od gredi in ležajev strojev do zmogljivosti trdega diska vibracije povzročijo poškodbe stroja, zgodnjo zamenjavo, nizko zmogljivost in močno vplivajo na natančnost. S spremljanjem in občasno analizo vibracij v stroju lahko rešite problem zgodnjih poškodb in obrabe strojnega dela.

V tem navodilu bomo delali na brezžičnih brezžičnih senzorjih vibracij in temperature IoT. To so senzorji industrijskega razreda s številnimi razširjenimi aplikacijami, kot je.

  • Obdelava kovin
  • Močna generacija
  • Rudarstvo
  • Hrano in pijačo

Torej, v tem navodilu bomo šli skozi naslednje:

  • Konfiguriranje brezžičnih senzorjev z uporabniškim vmesnikom XCTU in Labview.
  • Dobivanje vrednosti vibracij s senzorja.
  • Razumevanje delovanja naprave xbee in protokola xbee.
  • Konfiguriranje poverilnic WiFi in konfiguracije IP z vhodnim portalom

1. korak: Specifikacije strojne in programske opreme

Specifikacije strojne in programske opreme
Specifikacije strojne in programske opreme
Specifikacije strojne in programske opreme
Specifikacije strojne in programske opreme
Specifikacije strojne in programske opreme
Specifikacije strojne in programske opreme

Specifikacije strojne opreme

  • Brezžični senzorji vibracij in temperature
  • Sprejemnik Zigmo
  • Naprava ESP32 BLE/ WiFi

Specifikacije programske opreme

  • Arduino IDE
  • Pripomoček LabView

2. korak: Konfiguriranje brezžičnega senzorja in sprejemnika Zigmo z uporabo XCTU

Konfiguriranje brezžičnega senzorja in sprejemnika Zigmo z uporabo XCTU
Konfiguriranje brezžičnega senzorja in sprejemnika Zigmo z uporabo XCTU
Konfiguriranje brezžičnega senzorja in sprejemnika Zigmo z uporabo XCTU
Konfiguriranje brezžičnega senzorja in sprejemnika Zigmo z uporabo XCTU

Vsaka naprava IoT potrebuje komunikacijski protokol, da napravo postavi v oblak in nastavi brezžični vmesnik med različnimi napravami.

Tukaj brezžični senzorji in sprejemnik Zigmo uporabljajo rešitev XBee z nizko porabo energije in dolg doseg. XBee uporablja protokol ZigBee, ki določa delovanje v pasovih ISM od 902 do 928 MHz.

Xbee lahko konfigurirate s programsko opremo XCTU

  1. Poiščite napravo Xbee ali dodajte novo napravo Xbee s klikom na zgornjo levo ikono.
  2. Naprava bo navedena na levi strani.
  3. dvakrat kliknite na napravo, da si ogledate nastavitve.
  4. Zdaj kliknite ikono konzole v zgornjem desnem kotu
  5. Na izhodu konzole lahko vidite vrednost
  6. Tu dobimo okvir dolžine 54 bajtov
  7. s temi bajti bi nadalje manipulirali, da bi dobili prave vrednosti. postopek za pridobivanje dejanske temperature in vrednosti vibracij je omenjen v naslednjih korakih.

Korak: Analiza brezžične temperature in vrednosti vibracij z uporabo Labview Utility

Brezžična analiza temperature in vrednosti vibracij z uporabo Labview Utility
Brezžična analiza temperature in vrednosti vibracij z uporabo Labview Utility
Brezžična analiza temperature in vrednosti vibracij z uporabo Labview Utility
Brezžična analiza temperature in vrednosti vibracij z uporabo Labview Utility

Senzor deluje v dveh načinih

  • Način konfiguracije: Konfigurirajte ID Pan, zakasnitev, število poskusov itd. Več o tem presega obseg tega navodila in bo razloženo v naslednjih navodilih.
  • Način delovanja: Napravo izvajamo v načinu delovanja. Za analizo teh vrednosti uporabljamo pripomoček Labview Utility

Ta uporabniški vmesnik Labview prikazuje vrednosti v lepih grafih. Prikazuje trenutne in pretekle vrednosti. Na to povezavo lahko prenesete uporabniški vmesnik Labview.

v meniju ciljne strani kliknite ikono Zaženi, da odprete način delovanja.

4. korak: Konfiguriranje nastavitev DHCP/statičnega IP z uporabo Captive Portal

Konfiguriranje nastavitev DHCP/Statični IP z uporabo Captive Portal
Konfiguriranje nastavitev DHCP/Statični IP z uporabo Captive Portal
Konfiguriranje nastavitev DHCP/Statični IP z uporabo Captive Portal
Konfiguriranje nastavitev DHCP/Statični IP z uporabo Captive Portal
Konfiguriranje nastavitev DHCP/Statični IP z uporabo Captive Portal
Konfiguriranje nastavitev DHCP/Statični IP z uporabo Captive Portal

Portal za zaščito uporabljamo za shranjevanje poverilnic WiFi in lebdenje med nastavitvami IP. Za podroben uvod na portalu za ujetnike si oglejte naslednja navodila.

Zaporni portal nam daje možnost izbire med statičnimi in DHCP nastavitvami. Samo vnesite poverilnice, kot so statični IP, maska podomrežja, prehod in brezžični senzorski prehod bo konfiguriran na tem IP -ju.

5. korak: Shranite nastavitve WiFi z uporabo Captive Portal

Shranjevanje nastavitev WiFi z uporabo Captive Portal
Shranjevanje nastavitev WiFi z uporabo Captive Portal

Gostuje spletna stran, na kateri je seznam z razpoložljivimi omrežji WiFi in RSSI. Izberite omrežje WiFi in geslo ter vnesite submit. Poverilnice bodo shranjene v EEPROM, nastavitev IP pa v SPIFFS. Več o tem najdete v tem navodilu.

6. korak: objava odčitkov senzorjev v UbiDots

Tukaj uporabljamo brezžične senzorje temperature in vibracije s sprejemnikom prehoda ESP 32, da dobimo podatke o temperaturi in vlažnosti. Podatke pošiljamo na UbiDots s protokolom MQTT. MQTT sledi mehanizmu objave in naročnine in ne tej zahtevi in odgovoru. Je hitrejši in zanesljivejši od HTTP. To deluje na naslednji način.

Branje podatkov brezžičnega senzorja

Od brezžičnih senzorjev temperature in vibracij dobivamo 29-bajtni okvir. S tem okvirjem se manipulira, da dobimo podatke o dejanski temperaturi in vibracijah

if (Serial2.available ()) {data [0] = Serial2.read (); zamuda (k); if (podatki [0] == 0x7E) {Serial.println ("Dobil paket"); medtem ko (! Serial2.available ()); za (i = 1; i <55; i ++) {podatki = Serial2.read (); zamuda (1); } if (data [15] == 0x7F) ///////, da preverite, ali so sprejemljivi podatki pravilni {if (data [22] == 0x08) //////// se prepričajte, da je tip senzorja je pravilno {rms_x = ((uint16_t) (((podatki [24]) << 16) + ((podatki [25]) << 8) + (podatki [26]))/100); rms_y = ((uint16_t) (((podatki [27]) << 16) + ((podatki [28]) << 8) + (podatki [29]))/100); rms_z = ((uint16_t) (((podatki [30]) << 16) + ((podatki [31]) << 8) + (podatki [32]))/100); max_x = ((uint16_t) (((podatki [33]) << 16) + ((podatki [34]) << 8) + (podatki [35]))/100); max_y = ((uint16_t) (((podatki [36]) << 16) + ((podatki [37]) << 8) + (podatki [38]))/100); max_z = ((uint16_t) (((podatki [39]) << 16) + ((podatki [40]) << 8) + (podatki [41]))/100);

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

cTemp = ((((podatki [51]) * 256) + podatki [52])); plavajoča baterija = ((podatki [18] * 256) + podatki [19]); plovna napetost = 0,00322 * baterija; Serial.print ("Številka senzorja"); Serial.println (podatki [16]); Serial.print ("Vrsta senzorja"); Serial.println (podatki [22]); Serial.print ("Različica vdelane programske opreme"); Serial.println (podatki [17]); Serial.print ("Temperatura v Celzijusi:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS vibracije na osi X:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("RMS vibracije na osi Y:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS vibracije na osi Z:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Najmanjše vibracije na osi X:");

Serial.print (min_x); Serial.println ("mg"); Serial.print ("Najmanjše vibracije na osi Y:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Najmanjše vibracije na osi Z:"); Serial.print (min_z); Serial.println ("mg");

Serial.print ("vrednost ADC:");

Serial.println (baterija); Serial.print ("Napetost akumulatorja:"); Serial.print (napetost); Serial.println ("\ n"); if (napetost <1) {Serial.println ("Čas za zamenjavo baterije"); }}} else {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); zamuda (1); }}}}

Povezovanje z API -jem UbiDots MQTT

Vključite datoteko glave za postopek MQTT

#include "PubSubClient.h"

določite druge spremenljivke za MQTT, kot so ime odjemalca, naslov posrednika, ID žetona (ID žetona pridobivamo iz EEPROM -a)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; obremenitev char [100]; char tema [150]; // ustvari spremenljivko za shranjevanje ID -ja žetona String tokenId;

Ustvarite spremenljivke za shranjevanje različnih podatkov senzorjev in ustvarite spremenljivko char za shranjevanje teme

#define VARIABLE_LABEL_TEMPF "tempF" // Določanje oznake spremenljivke #define VARIABLE_LABEL_TEMPC "tempC" // Določanje oznake spremenljivke #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "label" humid "// Assing the variable label

char topic1 [100];

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

objavi podatke na omenjeno temo MQTT, bo tovor videti kot {"tempc": {vrednost: "tempData"}}

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

// Počisti koristno obremenitev sprintf (koristna obremenitev, "{"%s / ":", VARIABLE_LABEL_TEMPC);

// doda vrednost sprintf (koristna obremenitev, "%s {" vrednost / ":%s}", koristna obremenitev, str_cTemp);

// doda vrednost sprintf (koristna obremenitev, "%s}", koristna obremenitev);

// Zapira slovarske oklepaje Serial.println (koristna obremenitev);

Serial.println (client.publish (topic1, koristna obremenitev)? "Objavljeno": "ni objavljeno");

// Enako storite tudi za drugo temo

client.publish () objavi podatke v UbiDots

7. korak: Vizualizacija podatkov

Vizualizacija podatkov
Vizualizacija podatkov
  • Pojdite na Ubidots in se prijavite v svoj račun.
  • Pomaknite se do nadzorne plošče na zavihku Podatki, ki je naveden na vrhu.
  • Zdaj kliknite ikono "+", da dodate nove pripomočke.
  • Izberite gradnik s seznama in dodajte spremenljivko in naprave.
  • Podatke senzorja si lahko ogledate na armaturni plošči z različnimi pripomočki.

Splošna koda

Kodo Over za HTML in ESP32 najdete v tem skladišču GitHub.

  1. ncd ESP32 odklopna plošča.
  2. ncd brezžični senzorji temperature in vlažnosti.
  3. pubsubclient
  4. UbiDots

Priporočena: