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 postavki DHCP -a/statičkog IP -a pomoću Captive Portala
- Korak 5: Spremanje postavki WiFi -a pomoću Captive Portala
- Korak 6: Objavljivanje očitanja senzora na UbiDots
- Korak 7: Vizualizacija podataka
Video: Početak rada s bežičnim osjetnicima temperature i vibracija na daljinu: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:31
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 točnosti. 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 osjetnicima vibracija i temperature na daljinu. To su senzori industrijskog stupnja s mnogo raširenih primjena, poput.
- Obrada metala
- Proizvodnja energije
- Rudarstvo
- Hrane i pića
Dakle, u ovom Instructableu ćemo proći kroz sljedeće:
- Konfiguriranje bežičnih senzora pomoću sučelja XCTU i Labview.
- Dobivanje vrijednosti vibracija s senzora.
- Razumijevanje rada xbee uređaja i xbee protokola.
- Konfiguriranje WiFi vjerodajnica i IP konfiguracije pomoću zarobljenog portala
Korak 1: Specifikacija hardvera i softvera
Specifikacija hardvera
- Bežični osjetnici vibracija i temperature
- 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 prijamnik koriste rješenje XBee male snage i velikog dometa. XBee koristi ZigBee protokol koji specificira rad u ISM opsezima od 902 do 928 MHz.
Xbee se može konfigurirati pomoću softvera XCTU
- 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 bočnoj ploči.
- dvaput kliknite na uređaj da biste vidjeli postavke.
- Sada kliknite ikonu konzole u gornjem desnom kutu
- Možete vidjeti vrijednost koja dolazi na izlazu konzole
- Ovdje dobivamo okvir duljine 54 bajta
- tim bi se bajtovima dalje manipuliralo kako bi se dobile prave vrijednosti. postupak za dobivanje stvarne temperature i vrijednosti vibracija spominje se u nadolazećim 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 sučelja Labview.
kliknite ikonu Pokreni na izborniku odredišne stranice da biste prešli u način rada.
Korak 4: Konfiguriranje postavki DHCP -a/statičkog IP -a pomoću Captive Portala
Koristimo zarobljeni portal za spremanje vjerodajnica za WiFi i lebdenje kroz postavke IP -a. 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 postavki WiFi -a 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 tome 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, a ne taj zahtjev i odgovor. Brži je i pouzdaniji od HTTP -a. Ovo funkcionira na sljedeći način.
Očitavanje podataka bežičnog senzora
Od bežičnih senzora temperature i vibracija dobivamo okvir od 29 bajtova. Ovim se okvirom 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 (); odgoda (1); } if (data [15] == 0x7F) /////// da provjerite jesu li primljeni podaci točni {if (data [22] == 0x08) //////// provjerite vrstu 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:"); Serijski.ispis (cTemp); Serial.println ("C"); Serial.print ("RMS vibracija na osi X:"); Serijski.ispis (rms_x); Serial.println ("mg"); Serial.print ("RMS vibracija na osi Y:"); Serijski.ispis (rms_y); Serial.println ("mg"); Serial.print ("RMS vibracija u osi Z:"); Serijski.ispis (rms_z); Serial.println ("mg");
Serial.print ("Minimalne vibracije na osi X:");
Serijski.ispis (min_x); Serial.println ("mg"); Serial.print ("Minimalne vibracije na osi Y:"); Serijski.ispis (min_y); Serial.println ("mg"); Serial.print ("Minimalne vibracije na osi Z:"); Serijski.ispis (min_z); Serial.println ("mg");
Serial.print ("ADC vrijednost:");
Serial.println (baterija); Serial.print ("Napon baterije:"); Serijski.ispis (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 (","); odgoda (1); }}}}
Povezivanje s UbiDots MQTT API
Uključite datoteku zaglavlja za proces MQTT
#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]; // stvoriti varijablu za spremanje ID -a tokena String tokenId;
Izradite varijable za spremanje različitih podataka senzora i stvorite varijablu char za spremanje teme
#define VARIABLE_LABEL_TEMPF "tempF" // Određivanje 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": {value: "tempData"}}
sprintf (topic1, "%s", ""); sprintf (topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (korisni teret, "%s", "");
// Čisti sprintf korisnog tereta (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 probijanje.
- ncd Bežični osjetnici temperature i vlage.
- pubsubclient
- UbiDots
Preporučeni:
Početak rada sa STM32f767zi Cube IDE i učitavanje prilagođene skice: 3 koraka
Početak rada sa STM32f767zi Cube IDE -om i učitajte svoju prilagođenu skicu: KUPITE (kliknite test za kupnju/posjet web stranici) STM32F767ZISUPPORTED SOFTVER · STM32CUBE IDE · KEIL MDK ARM µVISION · EARMAR IAR EMBEDDED WORKBENCH mogući su koristi se za programiranje STM mikrokontrolera
Početak rada s Bascom AVR -om: 5 koraka
Početak rada s Bascom AVR -om: Ovo je početak serije koja će vas naučiti programirati vaš AVR mikrokontroler s Bascom AVR -om. Zašto to radim. Većinu uzoraka programa u ovoj seriji možete napraviti s Arduinom. Neke lakše, a neke teže, ali na kraju će oboje
Node-RED s IoT senzorom vibracija i temperature na daljinu: 34 koraka
Node-RED s IoT senzorom za vibracije i temperaturu na velikim udaljenostima: Predstavljamo NCD-ov bežični senzor temperature vlage na daljinu, koji se može pohvaliti do 28 milja koristeći bežičnu mrežnu mrežnu arhitekturu. Uključujući Honeywell HIH9130 senzor vlažnosti temperature prenosi vrlo točnu temperaturu i
Početak rada 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štenjem MQTT -a: U ranijim Instructables -ima prošli smo različite oblačne platforme poput Azure, Ubidots, ThingSpeak, Losant itd. Koristili smo MQTT protokol za slanje podataka senzora u oblak u gotovo svu cloud platformu. Za više informacija
LED pomračenje s osjetnicima na dodir i MIDI: 9 koraka (sa slikama)
LED pomrčina sa senzorima dodira i MIDI: LED pomrčina je interaktivni instrument sa LED diodama, kapacitivnim senzorima dodira i MIDI izlazom koji se sve kontrolira pomoću Arduino Uno. Uređaj možete programirati na mnogo različitih načina. U svim aplikacijama ideja je približno ista: