Taula de continguts:

Introducció als sensors de vibració i temperatura sense fils de llarg abast: 7 passos
Introducció als sensors de vibració i temperatura sense fils de llarg abast: 7 passos

Vídeo: Introducció als sensors de vibració i temperatura sense fils de llarg abast: 7 passos

Vídeo: Introducció als sensors de vibració i temperatura sense fils de llarg abast: 7 passos
Vídeo: Un'introduzione alla Disautonomia in Italiano 2024, De novembre
Anonim
Introducció als sensors de vibració i temperatura sense fils de llarg abast
Introducció als sensors de vibració i temperatura sense fils de llarg abast

De vegades, la vibració és la causa de problemes greus en moltes aplicacions. Des dels eixos i coixinets de la màquina fins al rendiment del disc dur, la vibració provoca danys a la màquina, substitució precoç, baix rendiment i influeix en un gran èxit en la precisió. El control i l’anàlisi puntual de les vibracions a la màquina poden resoldre el problema dels danys primerencs i el desgast de la peça de la màquina.

En aquest instructiu, treballarem en els sensors sense fils de vibració i temperatura IoT de llarg abast. Es tracta de sensors de grau industrial amb moltes aplicacions generalitzades com.

  • Metall
  • Generació d'energia
  • Mineria
  • Aliments i begudes

Per tant, en aquest instructiu passarem pel següent:

  • Configuració de sensors sense fils mitjançant XCTU i Labview UI.
  • Obtenir els valors de vibració del sensor.
  • Comprensió del funcionament del dispositiu xbee i del protocol xbee.
  • Configuració de les credencials WiFi i la configuració d’IP mitjançant el portal captiu

Pas 1: Especificació de maquinari i programari

Especificació de maquinari i programari
Especificació de maquinari i programari
Especificació de maquinari i programari
Especificació de maquinari i programari
Especificació de maquinari i programari
Especificació de maquinari i programari

Especificació de maquinari

  • Sensors de vibració i temperatura sense fils
  • Receptor Zigmo
  • Dispositiu ESP32 BLE / WiFi

Especificació de programari

  • IDE Arduino
  • Utilitat LabView

Pas 2: Configuració del sensor sense fil i del receptor Zigmo mitjançant XCTU

Configuració del sensor sense fil i del receptor Zigmo mitjançant XCTU
Configuració del sensor sense fil i del receptor Zigmo mitjançant XCTU
Configuració del sensor sense fil i del receptor Zigmo mitjançant XCTU
Configuració del sensor sense fil i del receptor Zigmo mitjançant XCTU

Cada dispositiu IoT necessita un protocol de comunicació per posar el dispositiu sobre el núvol i configurar una interfície sense fils entre diferents dispositius.

Aquí, els sensors sense fils i el receptor Zigmo utilitzen la solució XBee de baix consum i de llarg abast. XBee utilitza un protocol ZigBee que especifica el funcionament en bandes ISM de 902 a 928 MHz.

Xbee es pot configurar mitjançant el programari XCTU

  1. Cerqueu el dispositiu Xbee o afegiu un dispositiu Xbee nou fent clic a la icona superior esquerra.
  2. El dispositiu apareixerà al tauler esquerre.
  3. feu doble clic al dispositiu per veure la configuració.
  4. Ara feu clic a la icona de la consola a l'extrem superior dret
  5. Podeu veure el valor que ve a la sortida de la consola
  6. Aquí obtenim el fotograma de 54 bytes de longitud
  7. aquests bytes serien manipulats encara més per obtenir els valors reals. el procediment per obtenir els valors reals de temperatura i vibració s’esmenta en els propers passos.

Pas 3: Anàlisi de valors de temperatura i vibració sense fils mitjançant la utilitat Labview

Anàlisi de valors de temperatura i vibracions sense fils mitjançant la utilitat Labview
Anàlisi de valors de temperatura i vibracions sense fils mitjançant la utilitat Labview
Anàlisi sense fils de valors de temperatura i vibracions mitjançant la utilitat Labview
Anàlisi sense fils de valors de temperatura i vibracions mitjançant la utilitat Labview

El sensor funciona en dos modes

  • Mode de configuració: configureu l'identificador de panoràmica, el retard, el nombre de reintents, etc. Més informació sobre això està fora de l'abast d'aquesta instrucció i s'explicarà a la següent instrucció.
  • Mode d'execució: estem executant el dispositiu en mode d'execució. I per analitzar aquest valor estem utilitzant la utilitat Labview

Aquesta interfície d’usuari de Labview mostra els valors en gràfics agradables. Mostra els valors actuals i passats. Podeu anar a aquest enllaç per descarregar la interfície d’usuari de Labview.

feu clic a la icona Executa al menú de la pàgina de destinació per anar al mode d'execució.

Pas 4: Configuració de la configuració de DHCP / IP estàtica mitjançant Captive Portal

Configuració de la configuració de DHCP / IP estàtica mitjançant Captive Portal
Configuració de la configuració de DHCP / IP estàtica mitjançant Captive Portal
Configuració de la configuració DHCP / IP estàtica mitjançant Captive Portal
Configuració de la configuració DHCP / IP estàtica mitjançant Captive Portal
Configuració de la configuració de DHCP / IP estàtica mitjançant Captive Portal
Configuració de la configuració de DHCP / IP estàtica mitjançant Captive Portal

Estem utilitzant el portal captiu per desar les credencials de WiFi i passar el cursor a través de la configuració d’IP. Per obtenir una introducció detallada al portal captiu, podeu consultar les instruccions següents.

El portal captiu ens ofereix l'opció de triar entre la configuració estàtica i DHCP. Només cal que introduïu les credencials com ara IP estàtica, màscara de subxarxa, passarel·la i la passarel·la del sensor sense fils es configurarà en aquesta IP.

Pas 5: desar la configuració de WiFi mitjançant Captive Portal

Desar la configuració de WiFi mitjançant Captive Portal
Desar la configuració de WiFi mitjançant Captive Portal

S’està allotjant una pàgina web on hi ha una llista que mostra les xarxes WiFi disponibles i allà el RSSI. Seleccioneu la xarxa WiFi i la contrasenya i introduïu enviar. Les credencials es desaran a EEPROM i la configuració IP es desarà a SPIFFS. Podeu trobar més informació sobre això en aquest instructiu.

Pas 6: Publicació de lectures de sensors a UbiDots

Aquí fem servir sensors de vibració i temperatura sense fils amb el receptor de passarel·la ESP 32 per obtenir les dades de temperatura i humitat. Enviem les dades a UbiDots mitjançant el protocol MQTT. MQTT segueix un mecanisme de publicació i subscripció més que la sol·licitud i la resposta. És més ràpid i fiable que HTTP. Això funciona de la següent manera.

Lectura de les dades del sensor sense fils

Obtenim un marc de 29 bytes dels sensors de temperatura i vibració sense fils. Aquest marc es manipula per obtenir les dades de temperatura i vibracions reals

if (Serial2.available ()) {data [0] = Serial2.read (); retard (k); if (dades [0] == 0x7E) {Serial.println ("Got Packet"); while (! Serial2.available ()); for (i = 1; i <55; i ++) {data = Serial2.read (); retard (1); } if (dades [15] == 0x7F) /////// per comprovar si les dades de recepció són correctes {if (dades [22] == 0x08) //////// assegureu-vos que el tipus de sensor és correcte {rms_x = ((uint16_t) (((dades [24]) << 16) + ((dades [25]) << 8) + (dades [26])) / 100); rms_y = ((uint16_t) (((dades [27]) << 16) + ((dades [28]) << 8) + (dades [29])) / 100); rms_z = ((uint16_t) (((dades [30]) << 16) + ((dades [31]) << 8) + (dades [32])) / 100); max_x = ((uint16_t) (((dades [33]) << 16) + ((dades [34]) << 8) + (dades [35])) / 100); max_y = ((uint16_t) (((dades [36]) << 16) + ((dades [37]) << 8) + (dades [38])) / 100); max_z = ((uint16_t) (((dades [39]) << 16) + ((dades [40]) << 8) + (dades [41])) / 100);

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

cTemp = (((((dades [51]) * 256) + dades [52])); bateria flotant = ((dades [18] * 256) + dades [19]); tensió flotant = 0,00322 * bateria; Serial.print ("Número del sensor"); Serial.println (dades [16]); Serial.print ("Tipus de sensor"); Serial.println (dades [22]); Serial.print ("Versió del firmware"); Serial.println (dades [17]); Serial.print ("Temperatura en centígrads"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("Vibració RMS a l'eix X:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("Vibració RMS a l'eix Y:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("Vibració RMS a l'eix Z:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Vibració mínima a l'eix X:");

Serial.print (min_x); Serial.println ("mg"); Serial.print ("Vibració mínima a l'eix Y:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Vibració mínima a l'eix Z:"); Serial.print (min_z); Serial.println ("mg");

Serial.print ("valor ADC:");

Serial.println (bateria); Serial.print ("Voltatge de la bateria"); Serial.print (voltatge); Serial.println ("\ n"); if (tensió <1) {Serial.println ("Temps per substituir la bateria"); }}} else {for (i = 0; i <54; i ++) {Serial.print (dades ); Serial.print (","); retard (1); }}}}

Connexió a l'API UbiDots MQTT

Incloeu el fitxer de capçalera per al procés MQTT

#include "PubSubClient.h"

definiu altres variables per a MQTT com el nom del client, l'adreça del corredor, l'identificador del testimoni (estem recuperant l'identificador del testimoni a EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; càrrega útil char [100]; tema char [150]; // crear una variable per emmagatzemar l'identificador de testimoni String tokenId;

Creeu variables per emmagatzemar diferents dades del sensor i creeu una variable de caràcter per emmagatzemar el tema

#define VARIABLE_LABEL_TEMPF "tempF" // Assignació de l'etiqueta de variable # define VARIABLE_LABEL_TEMPC "tempC" // Assignació de l'etiqueta de variable #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "humid" // Assignació de l'etiqueta de variable

char topic1 [100];

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

publiqueu les dades al tema MQTT esmentat, la càrrega útil tindrà l'aspecte de {"tempc": {value: "tempData"}}

sprintf (tema1, "% s", ""); sprintf (tema1, "% s% s", "/v1.6/devices/", DEVICE_LABEL); sprintf (càrrega útil, "% s", "");

// Neteja la càrrega útil sprintf (càrrega útil, "{"% s / ":", VARIABLE_LABEL_TEMPC);

// Afegeix el valor sprintf (càrrega útil, "% s {" valor / ":% s}", càrrega útil, str_cTemp);

// Afegeix el valor sprintf (càrrega útil, "% s}", càrrega útil);

// Tanca els claudàtors del diccionari Serial.println (càrrega útil);

Serial.println (client.publish (tema1, càrrega útil)? "Published": "no publicat");

// Feu el mateix amb altres temes

client.publish () publica les dades a UbiDots

Pas 7: visualització de les dades

Visualització de les dades
Visualització de les dades
  • Aneu a Ubidots i inicieu la sessió al vostre compte.
  • Aneu al tauler de control des de la pestanya Dades que apareix a la part superior.
  • Ara feu clic a la icona "+" per afegir els ginys nous.
  • Seleccioneu un widget de la llista i afegiu una variable i dispositius.
  • Les dades del sensor es poden visualitzar al tauler de control mitjançant diferents widgets.

Codi general

El codi Over per a HTML i ESP32 es pot trobar en aquest dipòsit de GitHub.

  1. tauler de ruptura ESP32 ncd.
  2. Sensors de temperatura i humitat sense fils ncd.
  3. pubsubclient
  4. UbiDots

Recomanat: