Sisukord:

Traadita temperatuuri- ja vibratsioonisensorite kasutamise alustamine: 7 sammu
Traadita temperatuuri- ja vibratsioonisensorite kasutamise alustamine: 7 sammu

Video: Traadita temperatuuri- ja vibratsioonisensorite kasutamise alustamine: 7 sammu

Video: Traadita temperatuuri- ja vibratsioonisensorite kasutamise alustamine: 7 sammu
Video: Tarneahela Temperatuuri Jälgimine osa2 2024, Juuli
Anonim
Alustamine traadita temperatuuri- ja vibratsioonianduritega kaugjuhtimispuldis
Alustamine traadita temperatuuri- ja vibratsioonianduritega kaugjuhtimispuldis

Mõnikord põhjustab vibratsioon paljudes rakendustes tõsiseid probleeme. Alates masina võllidest ja laagritest kuni kõvaketta jõudluseni põhjustab vibratsioon masina kahjustusi, varajast väljavahetamist, madalat jõudlust ja mõjutab oluliselt täpsust. Masina vibratsiooni jälgimine ja aeg -ajalt analüüsimine võib lahendada masinaosa varase kahjustumise ja kulumise probleemi.

Selles juhendis töötame IoT traadita vibratsiooni- ja temperatuuriandurite kallal. Need on tööstuslikud andurid, millel on palju laialt levinud rakendusi.

  • Metallitöötlus
  • Elektritootmine
  • Kaevandamine
  • Toit ja jook

Niisiis, selles juhendis läbime järgmise:

  • Traadita andurite seadistamine XCTU ja Labview kasutajaliidese abil.
  • Vibratsiooni väärtuste saamine andurilt.
  • Xbee -seadme ja xbee -protokolli töö mõistmine.
  • WiFi mandaatide ja IP -konfiguratsiooni seadistamine suletud portaali abil

Samm: riistvara ja tarkvara spetsifikatsioon

Riistvara ja tarkvara spetsifikatsioon
Riistvara ja tarkvara spetsifikatsioon
Riistvara ja tarkvara spetsifikatsioon
Riistvara ja tarkvara spetsifikatsioon
Riistvara ja tarkvara spetsifikatsioon
Riistvara ja tarkvara spetsifikatsioon

Riistvara spetsifikatsioon

  • Juhtmeta vibratsiooni- ja temperatuuriandurid
  • Zigmo vastuvõtja
  • ESP32 BLE/ WiFi -seade

Tarkvara spetsifikatsioon

  • Arduino IDE
  • Utility LabView

Samm: traadita anduri ja Zigmo vastuvõtja konfigureerimine XCTU abil

Traadita anduri ja Zigmo vastuvõtja seadistamine XCTU abil
Traadita anduri ja Zigmo vastuvõtja seadistamine XCTU abil
Traadita anduri ja Zigmo vastuvõtja seadistamine XCTU abil
Traadita anduri ja Zigmo vastuvõtja seadistamine XCTU abil

Iga IoT -seade vajab sideprotokolli, et panna seade üle pilve ja seadistada traadita liides erinevate seadmete vahel.

Siin kasutavad juhtmevabad andurid ja Zigmo vastuvõtja väikese võimsusega ja kaugeulatuslikku lahendust XBee. XBee kasutab ZigBee protokolli, mis määrab toimingu 902–928 MHz ISM -ribades.

Xbee'i saab konfigureerida tarkvara XCTU abil

  1. Otsige Xbee seadet või lisage uus Xbee seade, klõpsates vasakus ülanurgas asuvat ikooni.
  2. Seade kuvatakse vasakpoolsel küljel.
  3. seadete vaatamiseks topeltklõpsake seadet.
  4. Nüüd klõpsake paremas ülanurgas konsooliikoonil
  5. Näete konsooli väljundi väärtust
  6. Siin saame raami pikkusega 54 baiti
  7. neid baite muudetaks veelgi, et saada tegelikke väärtusi. temperatuuri ja vibratsiooni väärtuste saamiseks vajalikke protseduure on eelseisvates etappides mainitud.

3. samm: traadita temperatuuri ja vibratsiooni väärtuste analüüs Labview Utility abil

Traadita temperatuuri ja vibratsiooni väärtuste analüüs Labview Utility abil
Traadita temperatuuri ja vibratsiooni väärtuste analüüs Labview Utility abil
Traadita temperatuuri ja vibratsiooni väärtuste analüüs Labview Utility abil
Traadita temperatuuri ja vibratsiooni väärtuste analüüs Labview Utility abil

Andur töötab kahes režiimis

  • Konfigureerimisrežiim: seadistage pan -ID, viivitus, korduskatete arv jne. Lisateave selle juhendi reguleerimisalast välja ja seda selgitatakse järgmises juhendis.
  • Käivitusrežiim: Käitame seadme töörežiimis. Nende väärtuste analüüsimiseks kasutame Labview Utility

See Labview kasutajaliides näitab väärtusi kenades graafikutes. See näitab praeguseid ja mineviku väärtusi. Sellelt lingilt saate alla laadida Labview kasutajaliidese.

käivitusrežiimi minemiseks klõpsake sihtlehe menüüst ikooni Käivita.

Samm 4: DHCP/staatilise IP -sätete konfigureerimine Captive Portal'i abil

DHCP/staatilise IP seadete konfigureerimine Captive Portal abil
DHCP/staatilise IP seadete konfigureerimine Captive Portal abil
DHCP/staatilise IP -seadete konfigureerimine Captive Portal'i abil
DHCP/staatilise IP -seadete konfigureerimine Captive Portal'i abil
DHCP/staatilise IP -seadete konfigureerimine Captive Portal'i abil
DHCP/staatilise IP -seadete konfigureerimine Captive Portal'i abil

Kasutame suletud portaali WiFi mandaatide salvestamiseks ja IP -seadete hõljumiseks. Suletud portaali üksikasjaliku tutvustuse jaoks saate läbi vaadata järgmise juhendi.

Suletud portaal annab meile võimaluse valida staatiliste ja DHCP -seadete vahel. Lihtsalt sisestage mandaadid, nagu staatiline IP, alamvõrgumask, lüüs ja traadita anduri lüüs, mis sellel IP -l konfigureeritakse.

Samm: WiFi -seadete salvestamine vangiportaali abil

WiFi -seadete salvestamine Captive Portal'i abil
WiFi -seadete salvestamine Captive Portal'i abil

Hostitakse veebilehte, kus on loetelu saadaolevatest WiFi -võrkudest ja seal RSSI. Valige WiFi -võrk ja parool ning sisestage Esita. Volitused salvestatakse EEPROM -i ja IP -sätted salvestatakse SPIFFS -i. Lisateavet selle kohta leiate sellest juhendist.

6. samm: andurite näitude avaldamine UbiDotsis

Siin kasutame temperatuuri ja niiskuse andmete saamiseks traadita temperatuuri- ja vibratsiooniandureid koos ESP 32 lüüsi vastuvõtjaga. Saadame andmed UbiDotsile, kasutades MQTT protokolli. MQTT järgib avaldamise ja tellimise mehhanismi, mitte seda taotlust ja vastust. See on kiirem ja usaldusväärsem kui HTTP. See toimib järgmiselt.

Traadita anduri andmete lugemine

Me saame traadita temperatuuri- ja vibratsioonianduritelt 29-baidise kaadri. Seda kaadrit manipuleeritakse, et saada tegelikke temperatuuri ja vibratsiooni andmeid

if (Serial2.available ()) {data [0] = Serial2.read (); viivitus (k); if (andmed [0] == 0x7E) {Serial.println ("Got Packet"); while (! Serial2.available ()); for (i = 1; i <55; i ++) {data = Serial2.read (); viivitus (1); } if (andmed [15] == 0x7F) ///////, et kontrollida, kas tagasivõtmisandmed on õiged {if (andmed [22] == 0x08) //////// veenduge, et anduri tüüp on õige {rms_x = ((uint16_t) (((andmed [24]) << 16) + ((andmed [25]) << 8) + (andmed [26]))/100); rms_y = ((uint16_t) (((andmed [27]) << 16) + ((andmed [28]) << 8) + (andmed [29]))/100); rms_z = ((uint16_t) (((andmed [30]) << 16) + ((andmed [31]) << 8) + (andmed [32]))/100); max_x = ((uint16_t) (((andmed [33]) << 16) + ((andmed [34]) << 8) + (andmed [35]))/100); max_y = ((uint16_t) (((andmed [36]) << 16) + ((andmed [37]) << 8) + (andmed [38]))/100); max_z = ((uint16_t) (((andmed [39]) << 16) + ((andmed [40]) << 8) + (andmed [41]))/100);

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

cTemp = ((((andmed [51]) * 256) + andmed [52])); ujukpatarei = ((andmed [18] * 256) + andmed [19]); ujukipinge = 0,00322 * aku; Serial.print ("Anduri number"); Serial.println (andmed [16]); Serial.print ("Anduri tüüp"); Serial.println (andmed [22]); Serial.print ("Püsivara versioon"); Serial.println (andmed [17]); Serial.print ("Temperatuur Celsiuse järgi:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS vibratsioon X-teljel:"); Seeria.print (rms_x); Serial.println ("mg"); Serial.print ("RMS vibratsioon Y-teljel:"); Seeria.print (rms_y); Serial.println ("mg"); Serial.print ("RMS vibratsioon Z-teljel:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Minimaalne vibratsioon X-teljel:");

Seeriatrükk (min_x); Serial.println ("mg"); Serial.print ("Min vibratsioon Y-teljel:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Minimaalne vibratsioon Z-teljel:"); Serial.print (min_z); Serial.println ("mg");

Serial.print ("ADC väärtus:");

Serial.println (aku); Serial.print ("Aku pinge:"); Jadajälg (pinge); Serial.println ("\ n"); if (pinge <1) {Serial.println ("Aku vahetamise aeg"); }}} muu {jaoks (i = 0; i <54; i ++) {Serial.print (andmed ); Serial.print (","); viivitus (1); }}}}

Ühendamine UbiDots MQTT API -ga

Kaasa MQTT protsessi päisefail

#include "PubSubClient.h"

määratlege MQTT jaoks muud muutujad, näiteks kliendi nimi, maakleri aadress, märgi ID (toome sümboolse ID EEPROMist)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; söe kasulik koormus [100]; char teema [150]; // loo muutuja tokeni ID salvestamiseks String tokenId;

Looge muutujaid erinevate andurite andmete salvestamiseks ja looge teema muutmiseks char muutuja

#define VARIABLE_LABEL_TEMPF "tempF" // Muutuja sildi määramine #define VARIABLE_LABEL_TEMPC "tempC" // Muutuja sildi määramine #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "niiske silt" // Assing

char teema1 [100];

char teema2 [100]; char teema3 [100];

avaldage andmed mainitud MQTT -teemal, kuna koormus näeb välja selline: "tempc": {value: "tempData"}}

sprintf (teema1, "%s", ""); sprintf (teema1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (kasulik koormus, "%s", "");

// Puhastab kasulikku koormust sprintf (kasulik koormus, "{"%s / ":", VARIABLE_LABEL_TEMPC);

// Lisab väärtuse sprintf (kasulik koormus, "%s {" väärtus / ":%s}", kasulik koormus, str_cTemp);

// Lisab väärtuse sprintf (kasulik koormus, "%s}", kasulik koormus);

// Sulgeb sõnastiku sulgud Serial.println (kasulik koormus);

Serial.println (klient.publish (teema1, kasulik koormus)? "Avaldatud": "notpublished");

// Tehke sama ka teise teema puhul

client.publish () avaldab andmed UbiDotsis

Samm: andmete visualiseerimine

Andmete visualiseerimine
Andmete visualiseerimine
  • Avage Ubidots ja logige oma kontole sisse.
  • Liikuge ülaosas oleval vahekaardil Andmed juhtpaneelile.
  • Nüüd klõpsake uute vidinate lisamiseks ikooni "+".
  • Valige loendist vidin ja lisage muutuja ja seadmed.
  • Andurite andmeid saab armatuurlaual visualiseerida erinevate vidinate abil.

Üldine kood

HTML -i ja ESP32 ülekoodi leiate sellest GitHubi hoidlast.

  1. ncd ESP32 katkestusplaat.
  2. ncd Traadita temperatuuri ja niiskuse andurid.
  3. pubi allklient
  4. UbiDots

Soovitan: