Cuprins:

Noțiuni introductive despre senzorii de temperatură și vibrații fără fir cu rază lungă de acțiune: 7 pași
Noțiuni introductive despre senzorii de temperatură și vibrații fără fir cu rază lungă de acțiune: 7 pași

Video: Noțiuni introductive despre senzorii de temperatură și vibrații fără fir cu rază lungă de acțiune: 7 pași

Video: Noțiuni introductive despre senzorii de temperatură și vibrații fără fir cu rază lungă de acțiune: 7 pași
Video: Protectia la zgomot 2024, Decembrie
Anonim
Noțiuni introductive despre senzorii de temperatură și vibrații fără fir cu rază lungă de acțiune
Noțiuni introductive despre senzorii de temperatură și vibrații fără fir cu rază lungă de acțiune

Uneori vibrațiile sunt cauza problemelor grave în multe aplicații. De la arborii și rulmenții mașinii până la performanța hard disk-ului, vibrațiile cauzează deteriorarea mașinii, înlocuirea timpurie, performanța scăzută și provoacă un impact major asupra preciziei. Monitorizarea și analiza periodică a vibrațiilor din mașină pot rezolva problema deteriorării timpurii și a uzurii piesei mașinii.

În acest instructable, vom lucra la senzorii de vibrații și temperatură fără fir IoT pe termen lung. Aceștia sunt senzori industriali cu multe aplicații pe scară largă, cum ar fi.

  • Prelucrarea metalelor
  • Generarea de energie electrică
  • Minerit
  • Mancare si bautura

Deci, în acest instructabil vom trece prin următoarele:

  • Configurarea senzorilor wireless utilizând XCTU și Labview UI.
  • Obținerea valorilor vibrațiilor de la senzor.
  • Înțelegerea funcționării dispozitivului xbee și a protocolului xbee.
  • Configurarea acreditării WiFi și a configurației IP utilizând portalul captiv

Pasul 1: Specificații hardware și software

Specificații hardware și software
Specificații hardware și software
Specificații hardware și software
Specificații hardware și software
Specificații hardware și software
Specificații hardware și software

Specificații hardware

  • Senzori de vibrație și temperatură fără fir
  • Receptor Zigmo
  • Dispozitiv ESP32 BLE / WiFi

Specificații software

  • IDE Arduino
  • Utilitarul LabView

Pasul 2: Configurarea senzorului wireless și a receptorului Zigmo utilizând XCTU

Configurarea senzorului wireless și a receptorului Zigmo utilizând XCTU
Configurarea senzorului wireless și a receptorului Zigmo utilizând XCTU
Configurarea senzorului wireless și a receptorului Zigmo utilizând XCTU
Configurarea senzorului wireless și a receptorului Zigmo utilizând XCTU

Fiecare dispozitiv IoT are nevoie de un protocol de comunicare pentru a pune dispozitivul peste cloud și pentru a configura o interfață wireless între diferite dispozitive.

Aici senzorii fără fir și receptorul Zigmo utilizează soluția XBee cu putere redusă și cu rază lungă de acțiune. XBee folosește un protocol ZigBee care specifică funcționarea în benzile ISM de la 902 la 928 MHz.

Xbee poate fi configurat utilizând software-ul XCTU

  1. Căutați dispozitivul Xbee sau adăugați un nou dispozitiv Xbee făcând clic pe pictograma din stânga sus.
  2. Dispozitivul va fi listat pe panoul lateral din stânga.
  3. faceți dublu clic pe dispozitiv pentru a vedea setările.
  4. Acum faceți clic pe pictograma consolei din colțul din dreapta sus
  5. Puteți vedea valoarea care vine pe ieșirea consolei
  6. Aici obținem cadrul de 54 de octeți
  7. acești octeți ar fi manipulați în continuare pentru a obține valorile reale. procedura pentru a obține valorile reale ale temperaturii și vibrațiilor sunt menționate în pașii următori.

Pasul 3: Analiza wireless a temperaturii și a vibrațiilor folosind utilitarul Labview

Analiza wireless a temperaturii și a vibrațiilor folosind utilitarul Labview
Analiza wireless a temperaturii și a vibrațiilor folosind utilitarul Labview
Analiza wireless a temperaturii și a vibrațiilor folosind utilitarul Labview
Analiza wireless a temperaturii și a vibrațiilor folosind utilitarul Labview

Senzorul rulează în două moduri

  • Mod de configurare: configurați ID-ul Pan, întârzierea, numărul de reîncercări etc. Mai multe despre acest lucru depășesc sfera acestui instructable și vor fi explicate în următoarea instructable.
  • Run Mode: rulăm dispozitivul în modul Run. Și pentru a analiza aceste valori, folosim utilitarul Labview

Această interfață Labview arată valorile în grafice frumoase. Afișează valorile actuale și trecute. Puteți accesa acest link pentru a descărca interfața de utilizare Labview.

faceți clic pe pictograma Executare din meniul paginii de destinație pentru a accesa modul de rulare.

Pasul 4: Configurarea setărilor DHCP / IP statice utilizând Captive Portal

Configurarea setărilor DHCP / Static IP utilizând Captive Portal
Configurarea setărilor DHCP / Static IP utilizând Captive Portal
Configurarea setărilor DHCP / IP statice utilizând Captive Portal
Configurarea setărilor DHCP / IP statice utilizând Captive Portal
Configurarea setărilor DHCP / Static IP utilizând Captive Portal
Configurarea setărilor DHCP / Static IP utilizând Captive Portal

Folosim portalul captiv pentru a salva datele de conectare WiFi și pentru a naviga prin setările IP. Pentru introducerea detaliată pe portalul captiv, puteți parcurge următoarele instrucțiuni.

Portalul captiv ne oferă opțiunea de a alege între setările Static și DHCP. Introduceți doar acreditările precum IP static, mască de subrețea, gateway și gateway-ul senzorului wireless va fi configurat pe acel IP.

Pasul 5: Salvarea setărilor WiFi utilizând Captive Portal

Salvarea setărilor WiFi folosind Captive Portal
Salvarea setărilor WiFi folosind Captive Portal

O pagină web este găzduită în care apare o listă care prezintă rețelele WiFi disponibile și acolo RSSI. Selectați rețeaua WiFi și parola și introduceți trimitere. Acreditările vor fi salvate în EEPROM și setarea IP va fi salvată în SPIFFS. Mai multe despre acest lucru pot fi găsite în acest instructable.

Pasul 6: Publicarea citirilor senzorului pe UbiDots

Aici folosim senzori de temperatură și vibrații fără fir cu receptorul gateway ESP 32 pentru a obține datele de temperatură și umiditate. Trimitem datele către UbiDots folosind protocolul MQTT. MQTT urmărește mai degrabă un mecanism de publicare și abonare care solicită și răspunde. Este mai rapid și mai fiabil decât HTTP. Acest lucru funcționează după cum urmează.

Citirea datelor senzorului wireless

Obținem un cadru de 29 de octeți de la senzorii de temperatură și vibrații fără fir. Acest cadru este manipulat pentru a obține temperatura reală și datele despre vibrații

if (Serial2.available ()) {data [0] = Serial2.read (); întârziere (k); if (date [0] == 0x7E) {Serial.println ("Got Packet"); while (! Serial2.available ()); for (i = 1; i <55; i ++) {data = Serial2.read (); întârziere (1); } if (data [15] == 0x7F) /////// pentru a verifica dacă datele de recepție sunt corecte {if (data [22] == 0x08) //////// asigurați-vă că tipul senzorului este corect {rms_x = ((uint16_t) (((date [24]) << 16) + ((date [25]) << 8) + (data [26])) / 100); rms_y = ((uint16_t) (((date [27]) << 16) + ((date [28]) << 8) + (data [29])) / 100); rms_z = ((uint16_t) (((date [30]) << 16) + ((date [31]) << 8) + (date [32])) / 100); max_x = ((uint16_t) (((date [33]) << 16) + ((date [34]) << 8) + (date [35])) / 100); max_y = ((uint16_t) (((date [36]) << 16) + ((date [37]) << 8) + (data [38])) / 100); max_z = ((uint16_t) (((date [39]) << 16) + ((date [40]) << 8) + (date [41])) / 100);

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

cTemp = ((((date [51]) * 256) + date [52])); baterie plutitoare = ((date [18] * 256) + date [19]); tensiune plutitoare = 0,00322 * baterie; Serial.print („Număr senzor”); Serial.println (date [16]); Serial.print („Tip senzor”); Serial.println (date [22]); Serial.print („Versiunea firmware”); Serial.println (date [17]); Serial.print ("Temperatura în grade Celsius:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("Vibrația RMS în axa X:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("Vibrația RMS în axa Y:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("Vibrația RMS în axa Z:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Vibrație minimă pe axa X:");

Serial.print (min_x); Serial.println ("mg"); Serial.print ("Vibrație minimă pe axa Y:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Vibrație minimă pe axa Z:"); Serial.print (min_z); Serial.println ("mg");

Serial.print ("valoare ADC:");

Serial.println (baterie); Serial.print ("Tensiunea bateriei:"); Serial.print (tensiune); Serial.println ("\ n"); if (tensiune <1) {Serial.println ("Timpul de înlocuire a bateriei"); }}} else {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); întârziere (1); }}}}

Conectarea la API-ul UbiDots MQTT

Includeți fișierul antet pentru procesul MQTT

#include „PubSubClient.h”

definiți alte variabile pentru MQTT, cum ar fi numele clientului, adresa brokerului, ID-ul simbolului (preluăm ID-ul simbolului din EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; sarcină utilă char [100]; subiect char [150]; // creați o variabilă pentru a stoca ID-ul simbolului String tokenId;

Creați variabile pentru a stoca diferite date ale senzorilor și creați o variabilă char pentru a stoca subiectul

char topic1 [100];

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

publicați datele pe subiectul MQTT menționat, sarcina utilă va arăta ca {"tempc": {value: "tempData"}}

sprintf (topic1, "% s", ""); sprintf (topic1, "% s% s", "/v1.6/devices/", DEVICE_LABEL); sprintf (sarcină utilă, "% s", "");

// Curăță sarcina utilă sprintf (sarcină utilă, "{"% s / ":", VARIABLE_LABEL_TEMPC);

// Adaugă valoarea sprintf (sarcină utilă, "% s {" valoare / ":% s}", sarcină utilă, str_cTemp);

// Adaugă valoarea sprintf (sarcină utilă, "% s}", sarcină utilă);

// Închide parantezele dicționarului Serial.println (sarcină utilă);

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

// Faceți același lucru și pentru alte subiecte

client.publish () publică datele în UbiDots

Pasul 7: Vizualizarea datelor

Vizualizarea datelor
Vizualizarea datelor
  • Accesați Ubidots și conectați-vă la contul dvs.
  • Navigați la Tabloul de bord din fila Date listată în partea de sus.
  • Acum faceți clic pe pictograma „+” pentru a adăuga noile widgeturi.
  • Selectați un widget din listă și adăugați o variabilă și dispozitive.
  • Datele senzorului pot fi vizualizate pe tabloul de bord folosind diferite widget-uri.

Cod general

Codul Over pentru HTML și ESP32 poate fi găsit în acest depozit GitHub.

  1. ncd ESP32 board breakout.
  2. Senzori de temperatură și umiditate fără fir ncd.
  3. pubsubclient
  4. UbiDots

Recomandat: