Obsah:

Začíname s bezdrôtovými snímačmi teploty a vibrácií s dlhým dosahom: 7 krokov
Začíname s bezdrôtovými snímačmi teploty a vibrácií s dlhým dosahom: 7 krokov

Video: Začíname s bezdrôtovými snímačmi teploty a vibrácií s dlhým dosahom: 7 krokov

Video: Začíname s bezdrôtovými snímačmi teploty a vibrácií s dlhým dosahom: 7 krokov
Video: Ako natáča kamera DJI Osmo Pocket 3 a oplatí sa balenie Combo? 2024, Júl
Anonim
Začíname s bezdrôtovými snímačmi teploty a vibrácií s dlhým dosahom
Začíname s bezdrôtovými snímačmi teploty a vibrácií s dlhým dosahom

Niekedy sú vibrácie príčinou vážnych problémov v mnohých aplikáciách. Od hriadeľov a ložísk stroja po výkon pevného disku, vibrácie spôsobujú poškodenie stroja, skorú výmenu, nízky výkon a spôsobujú zásadný zásah do presnosti. Monitorovanie a čas od času analýza vibrácií v stroji môže vyriešiť problém skorého poškodenia a opotrebovania časti stroja.

V tomto návode budeme pracovať na bezdrôtových snímačoch vibrácií a teploty IoT s dlhým dosahom. Jedná sa o snímače priemyselnej kvality s mnohými rozšírenými aplikáciami.

  • Kovoobrábanie
  • Vytváranie energie
  • Baníctvo
  • Jedlá a nápoje

V tomto návode sa teda budeme zaoberať nasledujúcim:

  • Konfigurácia bezdrôtových senzorov pomocou XCTU a Labview UI.
  • Získanie hodnôt vibrácií zo snímača.
  • Pochopenie fungovania zariadenia xbee a protokolu xbee.
  • Konfigurácia poverení WiFi a konfigurácia IP pomocou portálu na prihlásenie do siete

Krok 1: Špecifikácia hardvéru a softvéru

Špecifikácia hardvéru a softvéru
Špecifikácia hardvéru a softvéru
Špecifikácia hardvéru a softvéru
Špecifikácia hardvéru a softvéru
Špecifikácia hardvéru a softvéru
Špecifikácia hardvéru a softvéru

Špecifikácia hardvéru

  • Bezdrôtové snímače vibrácií a teploty
  • Prijímač Zigmo
  • Zariadenie ESP32 BLE/ WiFi

Špecifikácia softvéru

  • Arduino IDE
  • LabView Utility

Krok 2: Konfigurácia bezdrôtového senzora a prijímača Zigmo pomocou XCTU

Konfigurácia bezdrôtového senzora a prijímača Zigmo pomocou XCTU
Konfigurácia bezdrôtového senzora a prijímača Zigmo pomocou XCTU
Konfigurácia bezdrôtového senzora a prijímača Zigmo pomocou XCTU
Konfigurácia bezdrôtového senzora a prijímača Zigmo pomocou XCTU

Každé zariadenie IoT potrebuje komunikačný protokol na umiestnenie zariadenia do cloudu a na nastavenie bezdrôtového rozhrania medzi rôznymi zariadeniami.

Bezdrôtové senzory a prijímač Zigmo tu používajú riešenie XBee s nízkym výkonom a veľkým dosahom. XBee používa protokol ZigBee, ktorý špecifikuje prevádzku v pásmach ISM 902 až 928 MHz.

Xbee je možné konfigurovať pomocou softvéru XCTU

  1. Vyhľadajte zariadenie Xbee alebo pridajte nové zariadenie Xbee kliknutím na ikonu vľavo hore.
  2. Zariadenie bude uvedené na ľavom bočnom paneli.
  3. dvojitým kliknutím na zariadenie zobrazíte nastavenia.
  4. Teraz kliknite na ikonu konzoly v pravom hornom rohu
  5. Môžete vidieť hodnotu prichádzajúcu na výstup konzoly
  6. Tu dostaneme rámec s dĺžkou 54 bajtov
  7. tieto bajty by boli ďalej manipulované, aby získali skutočné hodnoty. postup na získanie skutočných hodnôt teploty a vibrácií je uvedený v nasledujúcich krokoch.

Krok 3: Bezdrôtová analýza hodnôt teploty a vibrácií pomocou Labview Utility

Bezdrôtová analýza hodnôt teploty a vibrácií pomocou Labview Utility
Bezdrôtová analýza hodnôt teploty a vibrácií pomocou Labview Utility
Bezdrôtová analýza hodnôt teploty a vibrácií pomocou Labview Utility
Bezdrôtová analýza hodnôt teploty a vibrácií pomocou Labview Utility

Senzor pracuje v dvoch režimoch

  • Konfiguračný režim: Nakonfigurujte Pan ID, oneskorenie, počet opakovaní atď. Viac o tomto je nad rámec tohto pokynu a bude vysvetlené v nasledujúcom návode.
  • Režim spustenia: Zariadenie používame v režime spustenia. A na analýzu týchto hodnôt používame nástroj Labview Utility

Toto používateľské rozhranie Labview zobrazuje hodnoty v pekných grafoch. Zobrazuje aktuálne aj minulé hodnoty. Na tento odkaz si môžete stiahnuť používateľské rozhranie Labview.

kliknutím na ikonu Spustiť v ponuke vstupnej stránky prejdete do režimu spustenia.

Krok 4: Konfigurácia nastavení DHCP/statickej IP pomocou portálu pre vlastnú potrebu

Konfigurácia nastavení DHCP/statickej IP pomocou portálu Captive Portal
Konfigurácia nastavení DHCP/statickej IP pomocou portálu Captive Portal
Konfigurácia nastavení DHCP/statickej IP pomocou portálu pre vlastnú potrebu
Konfigurácia nastavení DHCP/statickej IP pomocou portálu pre vlastnú potrebu
Konfigurácia nastavení DHCP/statickej IP pomocou portálu pre vlastnú potrebu
Konfigurácia nastavení DHCP/statickej IP pomocou portálu pre vlastnú potrebu

Na uchovanie poverení WiFi a na pohybovanie sa v nastaveniach IP používame portál na zaistenie. Podrobný úvod do portálu na zajatie nájdete v nasledujúcom návode.

Portál pre vlastnú potrebu nám dáva možnosť vybrať si medzi statickým a DHCP nastavením. Stačí zadať poverenia, ako sú statická adresa IP, maska podsiete, brána a bezdrôtová senzorová brána sa na tejto adrese IP nakonfigurujú.

Krok 5: Uloženie nastavení WiFi pomocou portálu Captive Portal

Ukladanie nastavení WiFi pomocou portálu pre vlastnú potrebu
Ukladanie nastavení WiFi pomocou portálu pre vlastnú potrebu

Je hostiteľom webovej stránky so zoznamom dostupných sietí WiFi a RSSI. Vyberte sieť WiFi a heslo a zadajte príkaz na odoslanie. Poverenia sa uložia do EEPROM a nastavenie IP sa uloží do SPIFFS. Viac o tom nájdete v tomto návode.

Krok 6: Publikovanie nameraných hodnôt senzora do UbiDots

Tu používame bezdrôtové snímače teploty a vibrácií s prijímačom brány ESP 32 na získavanie údajov o teplote a vlhkosti. Údaje odosielame do UbiDots pomocou protokolu MQTT. MQTT sa riadi mechanizmom publikovania a prihlásenia na odber, a nie požiadavkou a odpoveďou. Je rýchlejší a spoľahlivejší ako HTTP. Funguje to nasledovne.

Čítanie údajov bezdrôtového senzora

Z bezdrôtových snímačov teploty a vibrácií získavame 29-bajtový rámec. S týmto rámcom sa manipuluje, aby sa získali údaje o skutočnej teplote a vibráciách

if (Serial2.available ()) {data [0] = Serial2.read (); oneskorenie (k); if (data [0] == 0x7E) {Serial.println ("Got Packet"); while (! Serial2.available ()); pre (i = 1; i <55; i ++) {údaje = Serial2.read (); oneskorenie (1); } if (data [15] == 0x7F) /////// a skontroluje správnosť prijatých údajov {if (data [22] == 0x08) //////// uistite sa, že je typ snímača je správne {rms_x = ((uint16_t) (((data [24]) << 16) + ((data [25]) << 8) + (data [26]))/100); rms_y = ((uint16_t) (((údaje [27]) << 16) + ((údaje [28]) << 8) + (údaje [29]))/100); rms_z = ((uint16_t) ((((údaje [30]) << 16) + ((údaje [31]) << 8) + (údaje [32]))/100); max_x = ((uint16_t) ((((údaje [33]) << 16) + ((údaje [34]) << 8) + (údaje [35]))/100); max_y = ((uint16_t) ((((údaje [36]) << 16) + ((údaje [37]) << 8) + (údaje [38]))/100); max_z = ((uint16_t) (((údaje [39]) << 16) + ((údaje [40]) << 8) + (údaje [41]))/100);

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

cTemp = ((((údaje [51]) * 256) + údaje [52])); plávajúca batéria = ((údaje [18] * 256) + údaje [19]); plávajúce napätie = 0,00322 * batéria; Serial.print („číslo senzora“); Serial.println (údaje [16]); Serial.print ("Typ snímača"); Serial.println (údaje [22]); Serial.print („Verzia firmvéru“); Serial.println (údaje [17]); Serial.print ("Teplota v stupňoch Celzia:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS vibrácie v osi X:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("RMS vibrácie v osi Y:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS vibrácie v osi Z:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Minimálne vibrácie v osi X:");

Serial.print (min_x); Serial.println ("mg"); Serial.print ("Minimálne vibrácie v osi Y:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Minimálne vibrácie v osi Z:"); Serial.print (min_z); Serial.println ("mg");

Serial.print ("hodnota ADC:");

Serial.println (batéria); Serial.print ("Napätie batérie:"); Serial.print (napätie); Serial.println ("\ n"); if (napätie <1) {Serial.println ("Čas na výmenu batérie"); }}} else {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); oneskorenie (1); }}}}

Pripojenie k rozhraniu UbiDots MQTT API

Zahrňte súbor hlavičky pre proces MQTT

#include "PubSubClient.h"

definovať ďalšie premenné pre MQTT, ako je meno klienta, adresa makléra, ID tokenu (načítavame ID tokenu z EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; užitočné zaťaženie znakov [100]; char téma [150]; // vytvorenie premennej na uloženie ID tokenu Reťazec tokenId;

Vytvorte premenné na ukladanie rôznych údajov zo senzorov a vytvorte premennú char na ukladanie tém

#define VARIABLE_LABEL_TEMPF "tempF" // Assing the variable label #define VARIABLE_LABEL_TEMPC "tempC" // Assing the variable label #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "humid" // Assing the variable label

char topic1 [100];

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

publikovať údaje do uvedenej témy MQTT, užitočné zaťaženie bude vyzerať {{tempc ": {value:" tempData "}}

sprintf (topic1, "%s", ""); sprintf (topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (užitočné zaťaženie, "%s", "");

// Čistí sprintf užitočného zaťaženia (užitočné zaťaženie, "{"%s / ":", VARIABLE_LABEL_TEMPC);

// Pridá hodnotu sprintf (užitočné zaťaženie, "%s {" hodnota / ":%s}", užitočné zaťaženie, str_cTemp);

// Pridá hodnotu sprintf (užitočné zaťaženie, "%s}", užitočné zaťaženie);

// Zatvorí slovníky v zátvorkách Serial.println (užitočné zaťaženie);

Serial.println (client.publish (topic1, užitočné zaťaženie)? "Publikované": "nezverejnené");

// Urobte to isté aj pre inú tému

client.publish () publikuje údaje do UbiDots

Krok 7: Vizualizácia údajov

Vizualizácia údajov
Vizualizácia údajov
  • Prejdite na stránku Ubidots a prihláste sa do svojho účtu.
  • Prejdite na informačný panel na karte Údaje v hornej časti.
  • Teraz kliknite na ikonu „+“a pridajte nové miniaplikácie.
  • Vyberte miniaplikáciu zo zoznamu a pridajte premennú a zariadenia.
  • Údaje senzora je možné vizualizovať na palubnej doske pomocou rôznych miniaplikácií.

Celkový kód

Nadmerný kód pre HTML a ESP32 nájdete v tomto úložisku GitHub.

  1. ncd ESP32 oddeľovacia doska.
  2. ncd Bezdrôtové snímače teploty a vlhkosti.
  3. pubsubclient
  4. UbiDots

Odporúča: