Satura rādītājs:

Darba sākšana ar liela attāluma bezvadu temperatūras un vibrācijas sensoriem: 7 soļi
Darba sākšana ar liela attāluma bezvadu temperatūras un vibrācijas sensoriem: 7 soļi

Video: Darba sākšana ar liela attāluma bezvadu temperatūras un vibrācijas sensoriem: 7 soļi

Video: Darba sākšana ar liela attāluma bezvadu temperatūras un vibrācijas sensoriem: 7 soļi
Video: Красивый японский секретный онсэн-рёкан, прямо из аниме | Асиномаки-Онсэн Оокавасо 2024, Novembris
Anonim
Darba sākšana ar liela attāluma bezvadu temperatūras un vibrācijas sensoriem
Darba sākšana ar liela attāluma bezvadu temperatūras un vibrācijas sensoriem

Dažreiz vibrācija ir nopietnu problēmu cēlonis daudzās lietojumprogrammās. No mašīnas vārpstām un gultņiem līdz cietā diska veiktspējai vibrācija izraisa mašīnas bojājumus, agrīnu nomaiņu, zemu veiktspēju un būtiski ietekmē precizitāti. Mašīnas vibrācijas uzraudzība un laiku pa laikam analīze var atrisināt mašīnas daļas agrīnu bojājumu un nolietošanās problēmu.

Šajā pamācībā mēs strādāsim pie IoT liela attāluma bezvadu vibrācijas un temperatūras sensoriem. Tie ir rūpnieciski sensori ar daudzām plaši izplatītām lietojumprogrammām, piemēram.

  • Metālapstrāde
  • Enerģijas ražošana
  • Kalnrūpniecība
  • Pārtikas un dzērienu

Tātad, šajā pamācībā mēs iziesim tālāk:

  • Bezvadu sensoru konfigurēšana, izmantojot XCTU un Labview UI.
  • Vibrācijas vērtību iegūšana no sensora.
  • Izpratne par xbee ierīces un xbee protokola darbību.
  • WiFi akreditācijas datu un IP konfigurācijas konfigurēšana, izmantojot saistošo portālu

1. darbība. Aparatūras un programmatūras specifikācija

Aparatūras un programmatūras specifikācija
Aparatūras un programmatūras specifikācija
Aparatūras un programmatūras specifikācija
Aparatūras un programmatūras specifikācija
Aparatūras un programmatūras specifikācija
Aparatūras un programmatūras specifikācija

Aparatūras specifikācija

  • Bezvadu vibrācijas un temperatūras sensori
  • Zigmo uztvērējs
  • ESP32 BLE/ WiFi ierīce

Programmatūras specifikācija

  • Arduino IDE
  • LabView Utility

2. darbība. Bezvadu sensora un Zigmo uztvērēja konfigurēšana, izmantojot XCTU

Bezvadu sensora un Zigmo uztvērēja konfigurēšana, izmantojot XCTU
Bezvadu sensora un Zigmo uztvērēja konfigurēšana, izmantojot XCTU
Bezvadu sensora un Zigmo uztvērēja konfigurēšana, izmantojot XCTU
Bezvadu sensora un Zigmo uztvērēja konfigurēšana, izmantojot XCTU

Katrai IoT ierīcei ir nepieciešams sakaru protokols, lai ierīci novietotu mākonī un izveidotu bezvadu saskarni starp dažādām ierīcēm.

Šeit bezvadu sensori un Zigmo uztvērējs izmanto mazjaudas un liela attāluma risinājumu XBee. XBee izmanto ZigBee protokolu, kas nosaka darbību 902 līdz 928 MHz ISM joslās.

Xbee var konfigurēt, izmantojot XCTU programmatūru

  1. Meklējiet Xbee ierīci vai pievienojiet jaunu Xbee ierīci, noklikšķinot uz augšējās kreisās ikonas.
  2. Ierīce tiks parādīta kreisajā sānu panelī.
  3. veiciet dubultklikšķi uz ierīces, lai redzētu iestatījumus.
  4. Tagad noklikšķiniet uz konsoles ikonas augšējā labajā stūrī
  5. Jūs varat redzēt konsoles izejas vērtību
  6. Šeit mēs iegūstam rāmi, kura garums ir 54 baiti
  7. šie baiti tiks tālāk manipulēti, lai iegūtu patiesās vērtības. procedūra, lai iegūtu reālās temperatūras un vibrācijas vērtības, ir minēta turpmākajos posmos.

3. darbība. Bezvadu temperatūras un vibrācijas vērtību analīze, izmantojot Labview Utility

Bezvadu temperatūras un vibrācijas vērtību analīze, izmantojot Labview Utility
Bezvadu temperatūras un vibrācijas vērtību analīze, izmantojot Labview Utility
Bezvadu temperatūras un vibrācijas vērtību analīze, izmantojot Labview Utility
Bezvadu temperatūras un vibrācijas vērtību analīze, izmantojot Labview Utility

Sensors darbojas divos režīmos

  • Konfigurācijas režīms: konfigurējiet Pan ID, aizkavi, atkārtoto mēģinājumu skaitu utt. Vairāk par to nav šajā instrukcijā un tas tiks izskaidrots nākamajā pamācībā.
  • Palaist režīmu: Mēs darbinām ierīci darbības režīmā. Un, lai analizētu šīs vērtības, mēs izmantojam Labview Utility

Šis Labview lietotāja interfeiss parāda vērtības jaukos grafikos. Tas parāda pašreizējās, kā arī pagātnes vērtības. Varat lejupielādēt Labview lietotāja saskarni, noklikšķinot uz šīs saites.

lai nokļūtu darbības režīmā, galvenās lapas izvēlnē noklikšķiniet uz ikonas Palaist.

4. darbība: DHCP/statisko IP iestatījumu konfigurēšana, izmantojot Captive Portal

DHCP/statisko IP iestatījumu konfigurēšana, izmantojot Captive Portal
DHCP/statisko IP iestatījumu konfigurēšana, izmantojot Captive Portal
DHCP/statisko IP iestatījumu konfigurēšana, izmantojot Captive Portal
DHCP/statisko IP iestatījumu konfigurēšana, izmantojot Captive Portal
DHCP/statisko IP iestatījumu konfigurēšana, izmantojot Captive Portal
DHCP/statisko IP iestatījumu konfigurēšana, izmantojot Captive Portal

Mēs izmantojam nebrīvē pieejamo portālu, lai saglabātu WiFi akreditācijas datus un virzītu kursoru, izmantojot IP iestatījumus. Lai iegūtu detalizētu ievadu sagūstītajā portālā, varat izlasīt tālāk sniegtos norādījumus.

Fiksētais portāls dod mums iespēju izvēlēties starp statiskajiem un DHCP iestatījumiem. Vienkārši ievadiet akreditācijas datus, piemēram, statisko IP, apakštīkla masku, vārteju un bezvadu sensora vārteju, kas tiks konfigurēta šajā IP.

5. darbība. WiFi iestatījumu saglabāšana, izmantojot Captive Portal

WiFi iestatījumu saglabāšana, izmantojot Captive Portal
WiFi iestatījumu saglabāšana, izmantojot Captive Portal

Tiek mitināta tīmekļa lapa, kurā ir saraksts ar pieejamajiem WiFi tīkliem un RSSI. Atlasiet WiFi tīklu un paroli un ievadiet Iesniegt. Akreditācijas dati tiks saglabāti EEPROM, un IP iestatījums tiks saglabāts SPIFFS. Vairāk par to var atrast šajā pamācībā.

6. darbība. Sensora rādījumu publicēšana UbiDots

Šeit mēs izmantojam bezvadu temperatūras un vibrācijas sensorus ar vārtejas uztvērēju ESP 32, lai iegūtu temperatūras un mitruma datus. Mēs nosūtām datus uz UbiDots, izmantojot MQTT protokolu. MQTT ievēro publicēšanas un abonēšanas mehānismu, nevis šo pieprasījumu un atbildi. Tas ir ātrāks un uzticamāks par HTTP. Tas darbojas šādi.

Bezvadu sensora datu nolasīšana

Mēs iegūstam 29 baitu rāmi no bezvadu temperatūras un vibrācijas sensoriem. Šis rāmis tiek manipulēts, lai iegūtu faktiskos temperatūras un vibrācijas datus

ja (Serial2.available ()) {data [0] = Serial2.read (); kavēšanās (k); ja (dati [0] == 0x7E) {Serial.println ("Got Packet"); while (! Serial2.available ()); par (i = 1; i <55; i ++) {data = Serial2.read (); kavēšanās (1); } ja (dati [15] == 0x7F) /////// lai pārbaudītu, vai recesīvie dati ir pareizi {if (dati [22] == 0x08) //////// pārliecinieties, vai sensora tips ir pareizs {rms_x = ((uint16_t) (((dati [24]) << 16) + ((dati [25]) << 8) + (dati [26]))/100); rms_y = ((uint16_t) (((dati [27]) << 16) + ((dati [28]) << 8) + (dati [29]))/100); rms_z = ((uint16_t) (((dati [30]) << 16) + ((dati [31]) << 8) + (dati [32]))/100); max_x = ((uint16_t) (((dati [33]) << 16) + ((dati [34]) << 8) + (dati [35]))/100); max_y = ((uint16_t) (((dati [36]) << 16) + ((dati [37]) << 8) + (dati [38]))/100); max_z = ((uint16_t) (((dati [39]) << 16) + ((dati [40]) << 8) + (dati [41]))/100);

min_x = ((uint16_t) (((dati [42]) << 16) + ((dati [43]) << 8) + (dati [44]))/100); min_y = ((uint16_t) (((dati [45]) << 16) + ((dati [46]) << 8) + (dati [47]))/100); min_z = ((uint16_t) (((dati [48]) << 16) + ((dati [49]) << 8) + (dati [50]))/100);

cTemp = ((((dati [51]) * 256) + dati [52])); pludiņa akumulators = ((dati [18] * 256) + dati [19]); pludiņa spriegums = 0,00322 * akumulators; Serial.print ("Sensora numurs"); Serial.println (dati [16]); Serial.print ("Sensora tips"); Serial.println (dati [22]); Serial.print ("Programmaparatūras versija"); Serial.println (dati [17]); Serial.print ("Temperatūra pēc Celsija:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS vibrācija X-asī:"); Sērijas nospiedums (rms_x); Serial.println ("mg"); Serial.print ("RMS vibrācija Y asī:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS vibrācija Z asī:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Minimālā vibrācija X-asī:");

Sērijas nospiedums (min_x); Serial.println ("mg"); Serial.print ("Minimālā vibrācija Y asī:"); Sērijas nospiedums (min_y); Serial.println ("mg"); Serial.print ("Minimālā vibrācija Z asī:"); Sērijas nospiedums (min_z); Serial.println ("mg");

Serial.print ("ADC vērtība:");

Serial.println (akumulators); Serial.print ("Akumulatora spriegums:"); Sērijas nospiedums (spriegums); Serial.println ("\ n"); ja (spriegums <1) {Serial.println ("Laiks nomainīt akumulatoru"); }}} cits {par (i = 0; i <54; i ++) {Serial.print (dati ); Serial.print (","); kavēšanās (1); }}}}

Savienojuma izveide ar UbiDots MQTT API

Iekļaujiet galvenes failu MQTT procesam

#include "PubSubClient.h"

definējiet citus MQTT mainīgos, piemēram, klienta vārdu, brokera adresi, marķiera ID (marķiera ID tiek ielādēts no EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; ogļu lietderīgā krava [100]; char tēma [150]; // izveidot mainīgo, lai saglabātu marķiera ID String tokenId;

Izveidojiet mainīgos, lai saglabātu dažādus sensoru datus, un izveidojiet char mainīgo, lai saglabātu tēmu

#define VARIABLE_LABEL_TEMPF "tempF" // Mainīgā etiķetes piešķiršana #define VARIABLE_LABEL_TEMPC "tempC" // Mainīgā etiķetes piešķiršana #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "mitrs mainīgais" // Assing

char tēma1 [100];

char topic2 [100]; char topic3 [100];

publicējiet datus minētajā MQTT tēmā, lietderīgā slodze izskatīsies šādi: "tempc": {value: "tempData"}}

sprintf (topic1, "%s", ""); sprintf (topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (lietderīgā slodze, "%s", "");

// Notīra lietderīgo slodzi sprintf (lietderīgā slodze, "{"%s / ":", VARIABLE_LABEL_TEMPC);

// Pievieno vērtību sprintf (lietderīgā slodze, "%s {" vērtība / ":%s}", lietderīgā slodze, str_cTemp);

// Pievieno vērtību sprintf (lietderīgā slodze, "%s}", lietderīgā slodze);

// Aizver vārdnīcas iekavas Serial.println (lietderīgā slodze);

Serial.println (client.publish (topic1, payload)? "Published": "notpublished");

// Dariet to pašu ar citu tēmu

client.publish () publicē datus UbiDots

7. darbība: datu vizualizācija

Datu vizualizācija
Datu vizualizācija
  • Dodieties uz Ubidots un piesakieties savā kontā.
  • Virzieties uz informācijas paneli no cilnes Dati augšpusē.
  • Tagad noklikšķiniet uz ikonas "+", lai pievienotu jaunos logrīkus.
  • Sarakstā atlasiet logrīku un pievienojiet mainīgo un ierīces.
  • Sensora datus var vizualizēt informācijas panelī, izmantojot dažādus logrīkus.

Kopējais kods

HTML un ESP32 kods Over ir atrodams šajā GitHub krātuvē.

  1. ncd ESP32 sadalīšanas panelis.
  2. ncd Bezvadu temperatūras un mitruma sensori.
  3. kroga pasūtītājs
  4. UbiDots

Ieteicams: