Sadržaj:
- Korak 1: Specifikacija hardvera i softvera
- Korak 2: Konfiguriranje bežičnog senzora i Zigmo prijemnika pomoću XCTU -a
- Korak 3: Analiza temperature i vrijednosti vibracija bežične mreže pomoću Labview Utility -a
- Korak 4: Konfiguriranje DHCP/statičkih IP postavki pomoću Captive Portala
- Korak 5: Spremanje WiFi postavki pomoću Captive Portala
- Korak 6: Objavljivanje očitanja senzora na UbiDots
- Korak 7: Vizualizacija podataka
Video: Prvi koraci s bežičnim senzorima temperature i vibracije na daljinu: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Ponekad su vibracije uzrok ozbiljnih problema u mnogim aplikacijama. Od osovina strojeva i ležajeva do performansi tvrdog diska, vibracije uzrokuju oštećenje stroja, ranu zamjenu, niske performanse i nanose veliki udarac preciznosti. Praćenje i povremena analiza vibracija u stroju mogu riješiti problem ranog oštećenja i istrošenosti dijela stroja.
U ovom uputstvu radit ćemo na IoT bežičnim senzorima vibracija i temperature na daljinu. To su senzori industrijskog razreda sa mnogim široko rasprostranjenim primjenama, poput.
- Obrada metala
- Proizvodnja energije
- Rudarstvo
- Hrana i piće
Dakle, u ovom Instructable -u ćemo proći kroz sljedeće:
- Konfiguriranje bežičnih senzora pomoću XCTU i Labview UI.
- Dobivanje vrijednosti vibracija sa senzora.
- Razumijevanje rada xbee uređaja i xbee protokola.
- Konfiguriranje WiFi vjerodajnica i IP konfiguracije pomoću zaštitnog portala
Korak 1: Specifikacija hardvera i softvera
Hardverske specifikacije
- Bežični senzori za vibracije i temperaturu
- Zigmo prijemnik
- ESP32 BLE/ WiFi uređaj
Specifikacije softvera
- Arduino IDE
- LabView Utility
Korak 2: Konfiguriranje bežičnog senzora i Zigmo prijemnika pomoću XCTU -a
Svaki IoT uređaj treba komunikacijski protokol za postavljanje uređaja preko oblaka i postavljanje bežičnog sučelja između različitih uređaja.
Ovdje bežični senzori i Zigmo prijemnik koriste rješenje male snage i velikog dometa XBee. XBee koristi ZigBee protokol koji specificira rad u ISM opsezima od 902 do 928 MHz.
Xbee se može konfigurirati pomoću XCTU softvera
- Potražite Xbee uređaj ili dodajte novi Xbee uređaj klikom na ikonu u gornjem lijevom kutu.
- Uređaj će biti naveden na lijevoj strani ploče.
- dvaput kliknite na uređaj da vidite postavke.
- Sada kliknite na ikonu konzole u gornjem desnom kutu
- Možete vidjeti vrijednost koja dolazi na izlazu konzole
- Ovdje dobivamo okvir dužine 54 bajta
- ovim bajtovima bi se dalje manipuliralo kako bi se dobile prave vrijednosti. postupak za dobijanje stvarne temperature i vrijednosti vibracija spominje se u narednim koracima.
Korak 3: Analiza temperature i vrijednosti vibracija bežične mreže pomoću Labview Utility -a
Senzor radi u dva načina rada
- Način konfiguracije: Konfigurirajte Pan ID, kašnjenje, broj pokušaja itd. Više o ovome izlazi iz okvira ovog uputstva i bit će objašnjeno u sljedećim uputama.
- Način rada: Uređaj pokrećemo u načinu rada. Za analizu ovih vrijednosti koristimo Labview Utility
Ovo korisničko sučelje Labview prikazuje vrijednosti u lijepim grafikonima. Prikazuje trenutne i prošle vrijednosti. Možete otići na ovu vezu za preuzimanje korisničkog interfejsa Labview.
kliknite na ikonu Pokreni u meniju odredišne stranice da biste prešli u način rada.
Korak 4: Konfiguriranje DHCP/statičkih IP postavki pomoću Captive Portala
Koristimo zaštitni portal za spremanje WiFi vjerodajnica i za kretanje kroz IP postavke. Za detaljan uvod na zarobljeničkom portalu možete proći kroz sljedeće upute.
Zaštitni portal daje nam mogućnost izbora između statičkih i DHCP postavki. Samo unesite vjerodajnice poput statičkog IP -a, maske podmreže, pristupnika i bežični pristupnik senzora će se konfigurirati na tom IP -u.
Korak 5: Spremanje WiFi postavki pomoću Captive Portala
Hostira se web stranica na kojoj se prikazuje popis dostupnih WiFi mreža i RSSI. Odaberite WiFi mrežu i lozinku i unesite submit. Vjerodajnice će se spremiti u EEPROM, a postavka IP -a u SPIFFS. Više o ovome možete pronaći u ovom uputstvu.
Korak 6: Objavljivanje očitanja senzora na UbiDots
Ovdje koristimo bežične senzore temperature i vibracije s prijemnikom pristupnika ESP 32 za dobivanje podataka o temperaturi i vlažnosti. Šaljemo podatke na UbiDots koristeći MQTT protokol. MQTT slijedi mehanizam objavljivanja i pretplate umjesto tog zahtjeva i odgovora. Brži je i pouzdaniji od HTTP -a. Ovo funkcionira na sljedeći način.
Čitanje podataka senzora bežične veze
Od bežičnih senzora temperature i vibracija dobivamo okvir od 29 bajtova. Ovim okvirom se manipulira kako bi se dobile stvarne temperature i podaci o vibracijama
if (Serial2.available ()) {data [0] = Serial2.read (); kašnjenje (k); if (data [0] == 0x7E) {Serial.println ("Got Packet"); while (! Serial2.available ()); za (i = 1; i <55; i ++) {podaci = Serial2.read (); kašnjenje (1); } if (data [15] == 0x7F) /////// da provjerite jesu li prijemni podaci tačni {if (data [22] == 0x08) //////// provjerite tip senzora je ispravno {rms_x = ((uint16_t) (((podaci [24]) << 16) + ((podaci [25]) << 8) + (podaci [26]))/100); rms_y = ((uint16_t) (((podaci [27]) << 16) + ((podaci [28]) << 8) + (podaci [29]))/100); rms_z = ((uint16_t) (((podaci [30]) << 16) + ((podaci [31]) << 8) + (podaci [32]))/100); max_x = ((uint16_t) (((podaci [33]) << 16) + ((podaci [34]) << 8) + (podaci [35]))/100); max_y = ((uint16_t) (((podaci [36]) << 16) + ((podaci [37]) << 8) + (podaci [38]))/100); max_z = ((uint16_t) (((podaci [39]) << 16) + ((podaci [40]) << 8) + (podaci [41]))/100);
min_x = ((uint16_t) (((podaci [42]) << 16) + ((podaci [43]) << 8) + (podaci [44]))/100); min_y = ((uint16_t) (((podaci [45]) << 16) + ((podaci [46]) << 8) + (podaci [47]))/100); min_z = ((uint16_t) (((podaci [48]) << 16) + ((podaci [49]) << 8) + (podaci [50]))/100);
cTemp = ((((podaci [51]) * 256) + podaci [52])); plovna baterija = ((podaci [18] * 256) + podaci [19]); plivajući napon = 0,00322 * baterija; Serial.print ("Broj senzora"); Serial.println (podaci [16]); Serial.print ("Tip senzora"); Serial.println (podaci [22]); Serial.print ("Verzija firmvera"); Serial.println (podaci [17]); Serial.print ("Temperatura u Celzijusima:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS vibracija na osi X:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("RMS vibracija na osi Y:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS vibracija na osi Z:"); Serial.print (rms_z); Serial.println ("mg");
Serial.print ("Minimalne vibracije na osi X:");
Serial.print (min_x); Serial.println ("mg"); Serial.print ("Minimalne vibracije na osi Y:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Minimalne vibracije na osi Z:"); Serial.print (min_z); Serial.println ("mg");
Serial.print ("ADC vrijednost:");
Serial.println (baterija); Serial.print ("Napon baterije:"); Serial.print (napon); Serial.println ("\ n"); if (napon <1) {Serial.println ("Vrijeme za zamjenu baterije"); }}} else {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); kašnjenje (1); }}}}
Povezivanje na UbiDots MQTT API
Uključite datoteku zaglavlja za MQTT proces
#include "PubSubClient.h"
definirajte druge varijable za MQTT poput imena klijenta, adrese brokera, ID tokena (Dohvaćamo ID tokena iz EEPROM -a)
#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; nosivost char [100]; char tema [150]; // kreira varijablu za spremanje ID -a tokena String tokenId;
Kreirajte varijable za spremanje različitih podataka senzora i stvorite char varijablu za spremanje teme
#define VARIABLE_LABEL_TEMPF "tempF" // Dodjeljivanje oznake varijable #define VARIABLE_LABEL_TEMPC "tempC" // Određivanje oznake varijable #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "label
char topic1 [100];
char topic2 [100]; char topic3 [100];
objaviti podatke na spomenutu temu MQTT -a korisni teret će izgledati kao {"tempc": {vrijednost: "tempData"}}
sprintf (topic1, "%s", ""); sprintf (topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (korisni teret, "%s", "");
// čisti korisnički teret sprintf (korisni teret, "{"%s / ":", VARIABLE_LABEL_TEMPC);
// Dodaje vrijednost sprintf (korisni teret, "%s {" vrijednost / ":%s}", korisni teret, str_cTemp);
// Dodaje vrijednost sprintf (korisni teret, "%s}", korisni teret);
// Zatvara zagrade rječnika Serial.println (korisni teret);
Serial.println (client.publish (topic1, korisni teret)? "Objavljeno": "nije objavljeno");
// Učinite isto i za drugu temu
client.publish () objavljuje podatke na UbiDots
Korak 7: Vizualizacija podataka
- Idite na Ubidots i prijavite se na svoj račun.
- Idite na nadzornu ploču s kartice Podaci navedene na vrhu.
- Sada kliknite ikonu "+" za dodavanje novih widgeta.
- Odaberite widget s popisa i dodajte varijablu i uređaje.
- Podaci senzora mogu se vizualizirati na nadzornoj ploči pomoću različitih widgeta.
Cjelokupni kod
Over kod za HTML i ESP32 može se pronaći u ovom GitHub spremištu.
- ncd ESP32 ploča za razbijanje.
- ncd Bežični senzori za temperaturu i vlažnost.
- pubsubclient
- UbiDots
Preporučuje se:
Prvi koraci sa flipboardom: 9 koraka
Početak rada s Flipboardom: Ovaj kratki vodič osmišljen je kako bi vam pomogao da započnete s mobilnom aplikacijom Flipboard. Ovo je samo uvodno jer postoji mnogo prilagodljivih funkcija Flipboard -a. Nakon što završite ovaj vodič, imat ćete osnovno znanje o Flipboardu
Prvi koraci s WeMos ESP8266: 6 koraka
Početak rada sa WeMos ESP8266: U ovom uputstvu ćemo pokrenuti trepćući Led primer na WeMos ESP8266
IoT- Ubidots- ESP32+Senzor senzora za bežične veze na daljinu, bežične vibracije i temperature: 7 koraka
IoT-Ubidots-ESP32+Senzor za bežične vibracije i temperaturu na daljinu, bežične veze i temperature: Vibracije su zaista kretanje naprijed-nazad-ili osciliranje-mašina i komponenti u motorizovanim spravama. Vibracije u industrijskom sistemu mogu biti simptom ili motiv gnjavaže, ili mogu biti povezane sa svakodnevnim radom. Na primjer, osci
Prvi koraci s AWS IoT -om s bežičnim senzorom temperature pomoću MQTT -a: 8 koraka
Početak rada s AWS IoT -om s bežičnim senzorom temperature Korištenje MQTT -a: U ranijim Instructables -ima prošli smo kroz različite cloud platforme poput Azure, Ubidots, ThingSpeak, Losant itd. Koristili smo MQTT protokol za slanje podataka senzora u oblak u gotovo sve cloud platforme. Za više informacija
Ručna konzola sa bežičnim kontrolerima i senzorima (Arduino MEGA & UNO): 10 koraka (sa slikama)
Ručna konzola sa bežičnim kontrolerima i senzorima (Arduino MEGA & UNO): Ono što sam koristio:- Arduino MEGA- 2x Arduino UNO- Adafruit 3.5 " TFT 320x480 Zaslon osjetljiv na dodir HXD8357D- zujalica- 4Ohm 3W zvučnik- 5 mm LED svjetla- Ultimaker 2+ štampač sa crnom PLA filamentom- laserska rezač sa MDF drvom- crna boja u spreju (za drvo)- 3x nRF24