Innholdsfortegnelse:
- Trinn 1: Spesifikasjon for maskinvare og programvare
- Trinn 2: Konfigurering av trådløs sensor og Zigmo -mottaker ved hjelp av XCTU
- Trinn 3: Analyse av trådløs temperatur og vibrasjonsverdier ved hjelp av Labview Utility
- Trinn 4: Konfigurering av DHCP/statisk IP -innstillinger ved hjelp av Captive Portal
- Trinn 5: Lagre WiFi -innstillinger ved hjelp av Captive Portal
- Trinn 6: Publisering av sensoravlesninger til UbiDots
- Trinn 7: Visualisering av dataene
Video: Komme i gang med trådløse temperatur- og vibrasjonssensorer for lang rekkevidde: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Noen ganger er vibrasjon årsaken til alvorlige problemer i mange applikasjoner. Fra maskinaksler og lagre til harddiskytelse, vibrasjoner forårsaker maskinskader, tidlig utskifting, lav ytelse og påfører nøyaktigheten et stort treff. Overvåking og tid til annen analyse av vibrasjoner i maskinen kan løse problemet med tidlig skade og slitasje på maskindelen.
I denne instruksen vil vi jobbe med IoT trådløse vibrasjons- og temperatursensorer for lang rekkevidde. Dette er sensorer av industriell kvalitet med mange utbredte applikasjoner som.
- Metallbearbeiding
- Kraftproduksjon
- Gruvedrift
- Mat og Drikke
Så i denne instruksen vil vi gå gjennom følgende:
- Konfigurere trådløse sensorer ved hjelp av XCTU og Labview UI.
- Henter vibrasjonsverdiene fra sensoren.
- Forstå hvordan xbee -enheten og xbee -protokollen fungerer.
- Konfigurering av WiFi -legitimasjon og IP -konfigurasjon ved hjelp av captive -portalen
Trinn 1: Spesifikasjon for maskinvare og programvare
Maskinvarespesifikasjon
- Trådløse vibrasjons- og temperatursensorer
- Zigmo mottaker
- ESP32 BLE/ WiFi -enhet
Programvarespesifikasjon
- Arduino IDE
- LabView -verktøy
Trinn 2: Konfigurering av trådløs sensor og Zigmo -mottaker ved hjelp av XCTU
Hver IoT -enhet trenger en kommunikasjonsprotokoll for å sette enheten over skyen og sette opp et trådløst grensesnitt mellom forskjellige enheter.
Her bruker de trådløse sensorene og Zigmo-mottakeren XBee med lav effekt og lang rekkevidde. XBee bruker en ZigBee -protokoll som spesifiserer operasjonen i 902 til 928 MHz ISM -bånd.
Xbee kan konfigureres ved hjelp av XCTU -programvare
- Søk etter Xbee -enheten eller legg til en ny Xbee -enhet ved å klikke på ikonet øverst til venstre.
- Enheten vil bli oppført på panelet til venstre.
- dobbeltklikk på enheten for å se innstillingene.
- Klikk nå på konsollikonet øverst til høyre
- Du kan se verdien komme på konsollutgangen
- Her får vi rammen med lengde 54 byte
- disse byte ville bli manipulert ytterligere for å få de virkelige verdiene. prosedyren for å få de virkelige temperatur- og vibrasjonsverdiene er nevnt i kommende trinn.
Trinn 3: Analyse av trådløs temperatur og vibrasjonsverdier ved hjelp av Labview Utility
Sensoren kjøres i to moduser
- Konfigurasjonsmodus: Konfigurer Pan -ID, forsinkelse, antall forsøk osv. Mer om dette er utenfor omfanget av denne instruksjonsboken og vil bli forklart i neste instruksjonsbaserte.
- Kjørmodus: Vi kjører enheten i Kjør -modus. Og for å analysere denne verdien bruker vi Labview Utility
Denne Labview UI viser verdiene i fine grafer. Den viser nåværende så vel som tidligere verdier. Du kan gå til denne lenken for å laste ned Labview UI.
klikk på Kjør -ikonet fra landingssidemenyen for å gå til kjøremodus.
Trinn 4: Konfigurering av DHCP/statisk IP -innstillinger ved hjelp av Captive Portal
Vi bruker den fangede portalen til å lagre WiFi -legitimasjonen og for å sveve gjennom IP -innstillingene. For en detaljert introduksjon på portalen, kan du gå gjennom følgende instrukser.
Den fangede portalen gir oss muligheten til å velge mellom statiske og DHCP -innstillinger. Bare skriv inn legitimasjonen som Statisk IP, Nettverksmaske, gateway og Wireless Sensor Gateway vil bli konfigurert på den IP -en.
Trinn 5: Lagre WiFi -innstillinger ved hjelp av Captive Portal
En webside blir vert der en liste som viser tilgjengelige WiFi -nettverk og det RSSI. Velg WiFi -nettverket og passordet og skriv inn. Legitimasjonen lagres i EEPROM og IP -innstillingen lagres i SPIFFS. Mer om dette finner du i denne instruksjonsboken.
Trinn 6: Publisering av sensoravlesninger til UbiDots
Her bruker vi trådløse temperatur- og vibrasjonssensorer med ESP 32 gatewaymottaker for å få data om temperatur og fuktighet. Vi sender dataene til UbiDots ved hjelp av MQTT -protokollen. MQTT følger en publiserings- og abonnementsmekanisme i stedet for forespørsel og svar. Det er raskere og pålitelig enn HTTP. Dette fungerer som følger.
Lesing av trådløse sensordata
Vi får en 29-byte ramme fra de trådløse temperatur- og vibrasjonssensorene. Denne rammen manipuleres for å få den faktiske temperaturen og vibrasjonsdata
if (Serial2.available ()) {data [0] = Serial2.read (); forsinkelse (k); if (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 å sjekke om mottatte data er riktige {if (data [22] == 0x08) //////// kontroller sensortypen er riktig {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])); flytebatteri = ((data [18] * 256) + data [19]); flytespenning = 0,00322 * batteri; Serial.print ("Sensornummer"); Serial.println (data [16]); Serial.print ("Sensortype"); Serial.println (data [22]); Serial.print ("Fastvareversjon"); Serial.println (data [17]); Serial.print ("Temperatur i Celsius:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS-vibrasjon i X-aksen:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("RMS-vibrasjon i Y-aksen:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS-vibrasjon i Z-aksen:"); Serial.print (rms_z); Serial.println ("mg");
Serial.print ("Min vibrasjon i X-aksen:");
Serial.print (min_x); Serial.println ("mg"); Serial.print ("Min vibrasjon i Y-aksen:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Min vibrasjon i Z-aksen:"); Serial.print (min_z); Serial.println ("mg");
Serial.print ("ADC -verdi:");
Serial.println (batteri); Serial.print ("Batterispenning:"); Serial.print (spenning); Serial.println ("\ n"); if (spenning <1) {Serial.println ("Tid til å bytte batteri"); }}} annet {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); forsinkelse (1); }}}}
Koble til UbiDots MQTT API
Inkluder overskriftsfilen for MQTT -prosessen
#include "PubSubClient.h"
definere andre variabler for MQTT som klientnavn, megleradresse, token ID (Vi henter token ID fra EEPROM)
#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; røye nyttelast [100]; røye emne [150]; // lage variabel for å lagre token ID String tokenId;
Lag variabler for å lagre forskjellige sensordata og lag en char -variabel for å lagre emne
#define VARIABLE_LABEL_TEMPF "tempF" // Vurder variabeletiketten #definer VARIABLE_LABEL_TEMPC "tempC" // Assosier variabeletiketten #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "variable" //
char topic1 [100];
røye topic2 [100]; røye topic3 [100];
publiser dataene til det nevnte MQTT -emnet, nyttelasten vil se ut 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);
// Legger til verdien sprintf (nyttelast, "%s {" verdi / ":%s}", nyttelast, str_cTemp);
// Legger til verdien sprintf (nyttelast, "%s}", nyttelast);
// Lukker ordbokens parenteser Serial.println (nyttelast);
Serial.println (client.publish (topic1, nyttelast)? "Publisert": "ikkepublisert");
// Gjør det samme for andre temaer også
client.publish () publiserer dataene til UbiDots
Trinn 7: Visualisering av dataene
- Gå til Ubidots og logg inn på kontoen din.
- Naviger til oversikten fra kategorien Data som er oppført øverst.
- Klikk nå på "+" - ikonet for å legge til de nye widgetene.
- Velg en widget fra listen, og legg til en variabel og enheter.
- Sensordataene kan visualiseres på dashbordet ved hjelp av forskjellige widgets.
Samlet kode
Over -koden for HTML og ESP32 finnes i dette GitHub -depotet.
- ncd ESP32 breakout board.
- ncd Trådløse temperatur- og fuktighetssensorer.
- pubsubclient
- UbiDots
Anbefalt:
Lang rekkevidde, 1,8 km, Arduino til Arduino Trådløs kommunikasjon med HC-12 .: 6 trinn (med bilder)
Lang rekkevidde, 1,8 km, Arduino til Arduino Trådløs kommunikasjon med HC-12 .: I denne instruksen lærer du hvordan du kommuniserer mellom Arduinos over en lang avstand opp til 1,8 km i friluft. HC-12 er en trådløs seriell port kommunikasjonsmodul som er veldig nyttig, ekstremt kraftig og enkel å bruke. Først vil du lære
ThingSpeak, ESP32 og trådløs temp og fuktighet for lang rekkevidde: 5 trinn
ThingSpeak, ESP32 og trådløs temp og luftfuktighet for lang rekkevidde: I denne opplæringen skal vi måle forskjellige temperatur- og fuktighetsdata ved hjelp av temperatur- og fuktighetssensor. Du vil også lære hvordan du sender disse dataene til ThingSpeak. Slik at du kan analysere det hvor som helst for forskjellige applikasjoner
IOT trådløs temperatur- og fuktighetssensor med lang rekkevidde med node-rød: 27 trinn
IOT trådløs temperatur- og fuktighetssensor med lang rekkevidde med node-rød: Vi introduserer NCDs trådløse temperaturfuktighetssensor for lang rekkevidde, med opptil 28 miles rekkevidde ved bruk av en trådløs nettverksarkitektur. Ved å inkorporere Honeywell HIH9130 temperatur-fuktighetssensor overfører den svært nøyaktig temperatur og
Strukturell helseovervåking av sivile infrastrukturer ved bruk av trådløse vibrasjonssensorer: 8 trinn
Strukturell helseovervåking av sivile infrastrukturer ved bruk av trådløse vibrasjonssensorer: Forringelsen av den gamle bygningen og sivil infrastruktur kan føre til dødelig og farlig situasjon. Den konstante overvåking av disse strukturene er obligatorisk. Strukturell helseovervåking er en ekstremt viktig metode for å evaluere
Bruke temperatur-, regnvanns- og vibrasjonssensorer på en Arduino for å beskytte jernbaner: 8 trinn (med bilder)
Bruke temperatur-, regnvann- og vibrasjonssensorer på en Arduino for å beskytte jernbaner: I dagens samfunn betyr en økning i jernbanepassasjerer at jernbaneselskaper må gjøre mer for å optimalisere nettverk for å holde tritt med etterspørselen. I dette prosjektet vil vi vise i liten skala hvordan temperatur-, regnvann- og vibrasjonssensorer