Innehållsförteckning:
- Steg 1: Specifikationer för hårdvara och programvara
- Steg 2: Konfigurera trådlös sensor och Zigmo -mottagare med hjälp av XCTU
- Steg 3: Analys av trådlös temperatur och vibrationer med hjälp av Labview Utility
- Steg 4: Konfigurera DHCP/statiska IP -inställningar med Captive Portal
- Steg 5: Spara WiFi -inställningar med Captive Portal
- Steg 6: Publicera sensoravläsningar till UbiDots
- Steg 7: Visualisera data
Video: Komma igång med trådlösa temperatur- och vibrationssensorer för långa avstånd: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:35
Ibland är vibrationer orsaken till allvarliga problem i många applikationer. Från maskinaxlar och lager till hårddiskens prestanda, vibrationer orsakar maskinskador, tidigt byte, låg prestanda och orsakar en stor träff på noggrannheten. Övervakning och tidvis analys av vibrationer i maskinen kan lösa problemet med tidig skada och slitage på maskindelen.
I det här instruerbara kommer vi att arbeta med IoT: s långdistans trådlösa vibrations- och temperaturgivare. Det här är sensorer av industriell kvalitet med många utbredda applikationer som.
- Metallbearbetning
- Kraftproduktion
- Brytning
- Mat och dryck
Så, i denna instruerbara kommer vi att gå igenom följande:
- Konfigurera trådlösa sensorer med XCTU och Labview UI.
- Få värden på vibrationer från sensorn.
- Förstå hur xbee -enheten och xbee -protokollet fungerar.
- Konfigurera WiFi -uppgifter och IP -konfiguration med hjälp av captive -portalen
Steg 1: Specifikationer för hårdvara och programvara
Hårdvaruspecifikation
- Trådlösa vibrations- och temperatursensorer
- Zigmo mottagare
- ESP32 BLE/ WiFi -enhet
Programvaruspecifikation
- Arduino IDE
- LabView -verktyg
Steg 2: Konfigurera trådlös sensor och Zigmo -mottagare med hjälp av XCTU
Varje IoT -enhet behöver ett kommunikationsprotokoll för att placera enheten över molnet och för att skapa ett trådlöst gränssnitt mellan olika enheter.
Här använder de trådlösa sensorerna och Zigmo-mottagaren XBee med låg effekt och lång räckvidd. XBee använder ett ZigBee -protokoll som specificerar operationen i 902 till 928 MHz ISM -band.
Xbee kan konfigureras med XCTU -programvara
- Sök efter Xbee -enheten eller lägg till en ny Xbee -enhet genom att klicka på ikonen längst upp till vänster.
- Enheten kommer att listas på panelen till vänster.
- dubbelklicka på enheten för att se inställningarna.
- Klicka nu på konsolikonen i det övre högra hörnet
- Du kan se värdet som kommer på konsolutgången
- Här får vi ramen med längden 54 byte
- dessa byte skulle manipuleras ytterligare för att få de verkliga värdena. proceduren för att få de verkliga temperatur- och vibrationsvärdena nämns i kommande steg.
Steg 3: Analys av trådlös temperatur och vibrationer med hjälp av Labview Utility
Sensorn körs i två lägen
- Konfigurationsläge: Konfigurera Pan -ID, fördröjning, antal försök etc. Mer om detta ligger utanför räckvidden för denna instruerbara och kommer att förklaras i nästa instruerbara.
- Körläge: Vi kör enheten i körläge. Och för att analysera detta värde använder vi Labview Utility
Denna Labview UI visar värdena i fina grafer. Det visar både aktuella och tidigare värden. Du kan gå till den här länken för att ladda ner Labview UI.
klicka på Kör -ikonen från målsidans meny för att gå till körläge.
Steg 4: Konfigurera DHCP/statiska IP -inställningar med Captive Portal
Vi använder portalen för att spara WiFi -uppgifterna och för att sväva genom IP -inställningarna. För en detaljerad introduktion på captive -portalen kan du gå igenom följande instruerbara.
Den fångade portalen ger oss möjlighet att välja mellan statiska och DHCP -inställningar. Ange bara autentiseringsuppgifterna som statisk IP, nätmask, gateway och Wireless Sensor Gateway kommer att konfigureras på den IP: n.
Steg 5: Spara WiFi -inställningar med Captive Portal
En webbsida är värd där en lista som visar tillgängliga WiFi -nätverk och där RSSI. Välj WiFi -nätverket och lösenordet och skriv in. Uppgifterna sparas i EEPROM och IP -inställningen sparas i SPIFFS. Mer om detta finns i denna instruerbara.
Steg 6: Publicera sensoravläsningar till UbiDots
Här använder vi trådlösa temperatur- och vibrationssensorer med ESP 32 -gatewaymottagaren för att få data om temperatur och luftfuktighet. Vi skickar data till UbiDots med MQTT -protokollet. MQTT följer en publicerings- och prenumerationsmekanism snarare den begäran och svaret. Det är snabbare och pålitligare än HTTP. Detta fungerar enligt följande.
Läser data om trådlös sensor
Vi får en ram på 29 byte från trådlösa temperatur- och vibrationssensorer. Denna ram manipuleras för att få den faktiska temperaturen och vibrationsdata
if (Serial2.available ()) {data [0] = Serial2.read (); fördröjning (k); if (data [0] == 0x7E) {Serial.println ("Got Packet"); medan (! Serial2.available ()); för (i = 1; i <55; i ++) {data = Serial2.read (); fördröjning (1); } if (data [15] == 0x7F) /////// för att kontrollera om mottagna data är korrekta {if (data [22] == 0x08) //////// se till att sensortypen är 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])); flottörbatteri = ((data [18] * 256) + data [19]); flottörspänning = 0,00322 * batteri; Serial.print ("Sensornummer"); Serial.println (data [16]); Serial.print ("Sensortyp"); 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-axeln:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("RMS-vibration i Y-axeln:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS-vibration i Z-axeln:"); Serial.print (rms_z); Serial.println ("mg");
Serial.print ("Min vibration i X-axeln:");
Serial.print (min_x); Serial.println ("mg"); Serial.print ("Min vibration i Y-axeln:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Min vibration i Z-axeln:"); Serial.print (min_z); Serial.println ("mg");
Serial.print ("ADC -värde:");
Serial.println (batteri); Serial.print ("Batterispänning:"); Serial.print (spänning); Serial.println ("\ n"); if (spänning <1) {Serial.println ("Dags att byta batteri"); }}} annat {för (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); fördröjning (1); }}}}
Ansluter till UbiDots MQTT API
Inkludera rubrikfilen för MQTT -processen
#inkludera "PubSubClient.h"
definiera andra variabler för MQTT som klientnamn, mäklaradress, token -ID (Vi hämtar token -ID från EEPROM)
#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; röding nyttolast [100]; röding ämne [150]; // skapa variabel för att lagra token ID String tokenId;
Skapa variabler för att lagra olika sensordata och skapa en char -variabel för att lagra ämne
#define VARIABLE_LABEL_TEMPF "tempF" // Utvärdera variabeln etikett #definiera VARIABLE_LABEL_TEMPC "tempC" // Utvärdera variabeln etikett #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "variabel" //
char topic1 [100];
char topic2 [100]; char topic3 [100];
publicera data till det nämnda MQTT -ämnet nyttolasten kommer att se ut som {"tempc": {value: "tempData"}}
sprintf (topic1, "%s", ""); sprintf (topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (nyttolast, "%s", "");
// Rensar nyttolasten sprintf (nyttolast, "{"%s / ":", VARIABLE_LABEL_TEMPC);
// Lägger till värdet sprintf (nyttolast, "%s {" värde / ":%s}", nyttolast, str_cTemp);
// Lägger till värdet sprintf (nyttolast, "%s}", nyttolast);
// Stänger ordlistans parenteser Serial.println (nyttolast);
Serial.println (client.publish (topic1, nyttolast)? "Publicerad": "notpublished");
// Gör samma sak för andra ämnen också
client.publish () publicerar data till UbiDots
Steg 7: Visualisera data
- Gå till Ubidots och logga in på ditt konto.
- Navigera till instrumentpanelen från fliken Data ovan.
- Klicka nu på "+" -ikonen för att lägga till de nya widgetarna.
- Välj en widget från listan och lägg till en variabel och enheter.
- Sensordata kan visualiseras på instrumentpanelen med hjälp av olika widgets.
Övergripande kod
Över -koden för HTML och ESP32 finns i detta GitHub -arkiv.
- ncd ESP32 breakout board.
- ncd Trådlösa temperatur- och luftfuktighetssensorer.
- pubsubclient
- UbiDots
Rekommenderad:
Komma igång med skinkradio: 5 steg (med bilder)
Komma igång med skinkradio: Som nyligen präglad skinklicensinnehavare vill jag gå vidare med processen jag tog för att komma in i skinkradio. Jag lockades av hobbyens självförtroendeaspekt, vilket gav människor ett sätt att kommunicera när andra metoder störs. Men det är också givande att
Komma igång med I2C -sensorgränssnitt ?? - Gränssnitt till din MMA8451 med ESP32: 8 steg
Komma igång med I2C Sensor Interface ?? - Gränssnitt till din MMA8451 Användning av ESP32: I denna handledning lär du dig allt om hur du startar, ansluter och får I2C -enhet (Accelerometer) att arbeta med styrenhet (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Strukturell hälsoövervakning av civila infrastrukturer med trådlösa vibrationssensorer: 8 steg
Strukturell hälsoövervakning av civila infrastrukturer med trådlösa vibrationssensorer: Försämringen av den gamla byggnaden och den civila infrastrukturen kan leda till dödlig och farlig situation. Den ständiga övervakningen av dessa strukturer är obligatorisk. Strukturell hälsoövervakning är en extremt viktig metod för att utvärdera
Komma igång med AWS IoT Med trådlös temperatursensor med MQTT: 8 steg
Komma igång med AWS IoT med trådlös temperatursensor med MQTT: I tidigare instruktioner har vi gått igenom olika molnplattformar som Azure, Ubidots, ThingSpeak, Losant etc. Vi har använt MQTT -protokollet för att skicka sensordata till molnet i nästan hela molnplattformen. För mer information
Komma igång med MBlock -webbläsarbaserad kodning för HyperDuino: 3 steg
Komma igång med MBlock webbläsarbaserad kodning för HyperDuino: Välkommen till mBlock webbaserad handledning med HyperDuino. Detta kommer att visa dig hur du konfigurerar mBlock och laddar upp din kod till din HyperDuino. Detta kommer också att visa dig hur du skapar en grundläggande kod för en smart bil också. För att börja låter vi hoppa direkt in