Indholdsfortegnelse:

Kom godt i gang med trådløse temperatur- og vibrationssensorer med lang rækkevidde: 7 trin
Kom godt i gang med trådløse temperatur- og vibrationssensorer med lang rækkevidde: 7 trin

Video: Kom godt i gang med trådløse temperatur- og vibrationssensorer med lang rækkevidde: 7 trin

Video: Kom godt i gang med trådløse temperatur- og vibrationssensorer med lang rækkevidde: 7 trin
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
Kom godt i gang med trådløse temperatur- og vibrationssensorer med lang rækkevidde
Kom godt i gang med trådløse temperatur- og vibrationssensorer med lang rækkevidde

Nogle gange er vibration årsagen til alvorlige problemer i mange applikationer. Fra maskinaksler og lejer til harddiskydelse, vibrationer forårsager maskinskader, tidlig udskiftning, lav ydeevne og påfører et stort hit på nøjagtigheden. Overvågning og tid til anden analyse af vibrationer i maskinen kan løse problemet med tidlig skade og slid på maskindelen.

I denne instruktive vil vi arbejde på IoT's lange rækkevidde trådløse vibrations- og temperatursensorer. Disse er sensorer i industriel kvalitet med mange udbredte applikationer som.

  • Metalbearbejdning
  • Elproduktion
  • Minedrift
  • Mad og drikke

Så i denne instruktive vil vi gennemgå følgende:

  • Konfiguration af trådløse sensorer ved hjælp af XCTU og Labview UI.
  • Henter værdierne for vibrationer fra sensoren.
  • Forståelse af funktionen af xbee -enhed og xbee -protokol.
  • Konfiguration af WiFi -legitimationsoplysninger og IP -konfiguration ved hjælp af captive -portalen

Trin 1: Specifikationer for hardware og software

Hardware- og softwarespecifikation
Hardware- og softwarespecifikation
Hardware- og softwarespecifikation
Hardware- og softwarespecifikation
Hardware- og softwarespecifikation
Hardware- og softwarespecifikation

Hardware specifikation

  • Trådløse vibrations- og temperatursensorer
  • Zigmo modtager
  • ESP32 BLE/ WiFi -enhed

Softwarespecifikation

  • Arduino IDE
  • LabView -værktøj

Trin 2: Konfiguration af trådløs sensor og Zigmo -modtager ved hjælp af XCTU

Konfiguration af trådløs sensor og Zigmo -modtager ved hjælp af XCTU
Konfiguration af trådløs sensor og Zigmo -modtager ved hjælp af XCTU
Konfiguration af trådløs sensor og Zigmo -modtager ved hjælp af XCTU
Konfiguration af trådløs sensor og Zigmo -modtager ved hjælp af XCTU

Hver IoT -enhed har brug for en kommunikationsprotokol for at placere enheden over skyen og oprette en trådløs grænseflade mellem forskellige enheder.

Her bruger de trådløse sensorer og Zigmo-modtager XBee med lav effekt og langtrækkende løsning. XBee bruger en ZigBee -protokol, der angiver operationen i 902 til 928 MHz ISM -bånd.

Xbee kan konfigureres ved hjælp af XCTU -software

  1. Søg efter Xbee -enheden, eller tilføj en ny Xbee -enhed ved at klikke på ikonet øverst til venstre.
  2. Enheden vises på panelet i venstre side.
  3. dobbeltklik på enheden for at se indstillingerne.
  4. Klik nu på konsolikonet i øverste højre hjørne
  5. Du kan se værdien, der kommer på konsolens output
  6. Her får vi rammen med længde 54 bytes
  7. disse bytes ville blive manipuleret yderligere for at få de reelle værdier. proceduren for at få de reelle temperatur- og vibrationsværdier er nævnt i kommende trin.

Trin 3: Analyse af trådløs temperatur og vibrationsværdier ved hjælp af Labview Utility

Trådløs temperatur- og vibrationsværdianalyse ved hjælp af Labview Utility
Trådløs temperatur- og vibrationsværdianalyse ved hjælp af Labview Utility
Trådløs temperatur- og vibrationsværdianalyse ved hjælp af Labview Utility
Trådløs temperatur- og vibrationsværdianalyse ved hjælp af Labview Utility

Sensoren kører i to tilstande

  • Konfigurationstilstand: Konfigurer Pan -ID, forsinkelse, antal genforsøg osv. Mere om dette er uden for denne instrukss omfang og vil blive forklaret i næste instruerbare.
  • Kørtilstand: Vi kører enheden i Kør -tilstand. Og for at analysere denne værdi bruger vi Labview Utility

Denne Labview UI viser værdierne i flotte grafer. Det viser de nuværende såvel som tidligere værdier. Du kan gå til dette link for at downloade Labview UI.

klik på ikonet Kør i landingssidemenuen for at gå til kørselstilstand.

Trin 4: Konfiguration af DHCP/statisk IP -indstillinger ved hjælp af Captive Portal

Konfiguration af DHCP/statisk IP -indstillinger ved hjælp af Captive Portal
Konfiguration af DHCP/statisk IP -indstillinger ved hjælp af Captive Portal
Konfiguration af DHCP/statisk IP -indstillinger ved hjælp af Captive Portal
Konfiguration af DHCP/statisk IP -indstillinger ved hjælp af Captive Portal
Konfiguration af DHCP/statisk IP -indstillinger ved hjælp af Captive Portal
Konfiguration af DHCP/statisk IP -indstillinger ved hjælp af Captive Portal

Vi bruger portalen til at gemme WiFi -legitimationsoplysningerne og til at svæve gennem IP -indstillingerne. For en detaljeret introduktion på den fangede portal kan du gå igennem følgende instruerbare.

Den fangede portal giver os mulighed for at vælge mellem statisk og DHCP -indstillinger. Bare indtast legitimationsoplysninger som Statisk IP, Subnetmaske, gateway og den trådløse sensorgateway bliver konfigureret på denne IP.

Trin 5: Gemme WiFi -indstillinger ved hjælp af Captive Portal

Gemme WiFi -indstillinger ved hjælp af Captive Portal
Gemme WiFi -indstillinger ved hjælp af Captive Portal

En webside hostes, hvor en liste viser tilgængelige WiFi -netværk og der RSSI. Vælg WiFi -netværket og adgangskoden, og indtast Send. Legitimationsoplysningerne gemmes i EEPROM, og IP -indstillingen gemmes i SPIFFS. Mere om dette kan findes i denne instruktive.

Trin 6: Publicering af sensoraflæsninger til UbiDots

Her bruger vi trådløse temperatur- og vibrationssensorer med ESP 32 -gatewaymodtageren til at få oplysninger om temperatur og luftfugtighed. Vi sender dataene til UbiDots ved hjælp af MQTT -protokollen. MQTT følger en publicerings- og abonnementsmekanisme snarere end anmodning og svar. Det er hurtigere og mere pålideligt end HTTP. Dette fungerer som følger.

Læsning af trådløse sensordata

Vi får en ramme på 29 byte fra de trådløse temperatur- og vibrationssensorer. Denne ramme manipuleres for at få den faktiske temperatur og vibrationsdata

hvis (Serial2.available ()) {data [0] = Serial2.read (); forsinkelse (k); hvis (data [0] == 0x7E) {Serial.println ("Got Packet"); mens (! Serial2.available ()); for (i = 1; i <55; i ++) {data = Serial2.read (); forsinkelse (1); } if (data [15] == 0x7F) /////// for at kontrollere, om recive -dataene er korrekte {if (data [22] == 0x08) //////// sørg for at sensortypen er korrekt {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])); flydebatteri = ((data [18] * 256) + data [19]); flydespænding = 0,00322 * batteri; Serial.print ("Sensornummer"); Serial.println (data [16]); Serial.print ("Sensortype"); Serial.println (data [22]); Serial.print ("Firmwareversion"); Serial.println (data [17]); Serial.print ("Temperatur i Celsius:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS-vibration i X-akse:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("RMS-vibration i Y-akse:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS-vibration i Z-aksen:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Min vibration i X-akse:");

Seriel.print (min_x); Serial.println ("mg"); Serial.print ("Min vibration i Y-akse:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Min vibration i Z-aksen:"); Seriel.print (min_z); Serial.println ("mg");

Serial.print ("ADC -værdi:");

Serial.println (batteri); Serial.print ("Batterispænding:"); Seriel.print (spænding); Serial.println ("\ n"); if (spænding <1) {Serial.println ("Tid til udskiftning af batteriet"); }}} andet {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); forsinkelse (1); }}}}

Opretter forbindelse til UbiDots MQTT API

Inkluder header -filen til MQTT -processen

#include "PubSubClient.h"

definere andre variabler for MQTT som klientnavn, mægleradresse, token -id (vi henter token -id'et fra EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; char nyttelast [100]; char emne [150]; // opret variabel for at gemme token ID String tokenId;

Opret variabler for at gemme forskellige sensordata og opret en char -variabel til at gemme emne

#define VARIABLE_LABEL_TEMPF "tempF" // Assosering af variabeletiketten #definere VARIABLE_LABEL_TEMPC "tempC" // Vurder variabeletiketten #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "variable" //

char emne1 [100];

char emne2 [100]; char emne3 [100];

offentliggøre dataene til det nævnte MQTT -emne, vil nyttelasten se ud som {"tempc": {value: "tempData"}}

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

// Renser nyttelast sprintf (nyttelast, "{"%s / ":", VARIABLE_LABEL_TEMPC);

// Tilføjer værdien sprintf (nyttelast, "%s {" værdi / ":%s}", nyttelast, str_cTemp);

// Tilføjer værdien sprintf (nyttelast, "%s}", nyttelast);

// Luk ordbogens parenteser Serial.println (nyttelast);

Serial.println (client.publish (emne1, nyttelast)? "Udgivet": "ikkeudgivet");

// Gør også det samme for andre emner

client.publish () offentliggør dataene til UbiDots

Trin 7: Visualisering af dataene

Visualisering af data
Visualisering af data
  • Gå til Ubidots og log ind på din konto.
  • Naviger til instrumentbrættet fra fanen Data, der er angivet øverst.
  • Klik nu på ikonet "+" for at tilføje de nye widgets.
  • Vælg en widget fra listen, og tilføj en variabel og enheder.
  • Sensordataene kan visualiseres på instrumentbrættet ved hjælp af forskellige widgets.

Samlet kodeks

Over -koden til HTML og ESP32 kan findes i dette GitHub -lager.

  1. ncd ESP32 breakout board.
  2. ncd Trådløse temperatur- og fugtighedsfølere.
  3. pubber
  4. UbiDots

Anbefalede: