Obsah:

Začínáme s bezdrátovými senzory teploty a vibrací s dlouhým dosahem: 7 kroků
Začínáme s bezdrátovými senzory teploty a vibrací s dlouhým dosahem: 7 kroků

Video: Začínáme s bezdrátovými senzory teploty a vibrací s dlouhým dosahem: 7 kroků

Video: Začínáme s bezdrátovými senzory teploty a vibrací s dlouhým dosahem: 7 kroků
Video: IoT bezdrátový snímač teploty pro 4 sondy Pt1000 s konektorem ELKA, s výstupem do sítě Sigfox, IP65 2024, Červenec
Anonim
Začínáme s bezdrátovými senzory teploty a vibrací s dlouhým dosahem
Začínáme s bezdrátovými senzory teploty a vibrací s dlouhým dosahem

Někdy jsou vibrace příčinou vážných problémů v mnoha aplikacích. Od hřídelí strojů a ložisek po výkon pevného disku, vibrace způsobují poškození stroje, brzkou výměnu, nízký výkon a způsobují zásadní zásah do přesnosti. Monitorování a čas od času analýza vibrací ve stroji může vyřešit problém časného poškození a opotřebení části stroje.

V tomto pokynu budeme pracovat na bezdrátových snímačích vibrací a teploty IoT s dlouhým dosahem. Jedná se o senzory průmyslové kvality s mnoha rozšířenými aplikacemi jako.

  • Obrábění kovů
  • Výroba elektřiny
  • Hornictví
  • Potravin a nápojů

V tomto Instructable tedy projdeme následující:

  • Konfigurace bezdrátových senzorů pomocí XCTU a Labview UI.
  • Získání hodnot vibrací ze senzoru.
  • Porozumění fungování zařízení xbee a protokolu xbee.
  • Konfigurace pověření WiFi a konfigurace IP pomocí portálu pro zajetí

Krok 1: Specifikace hardwaru a softwaru

Specifikace hardwaru a softwaru
Specifikace hardwaru a softwaru
Specifikace hardwaru a softwaru
Specifikace hardwaru a softwaru
Specifikace hardwaru a softwaru
Specifikace hardwaru a softwaru

Specifikace hardwaru

  • Bezdrátové snímače vibrací a teploty
  • Přijímač Zigmo
  • Zařízení ESP32 BLE/ WiFi

Specifikace softwaru

  • Arduino IDE
  • Nástroj LabView

Krok 2: Konfigurace bezdrátového senzoru a přijímače Zigmo pomocí XCTU

Konfigurace bezdrátového senzoru a přijímače Zigmo pomocí XCTU
Konfigurace bezdrátového senzoru a přijímače Zigmo pomocí XCTU
Konfigurace bezdrátového senzoru a přijímače Zigmo pomocí XCTU
Konfigurace bezdrátového senzoru a přijímače Zigmo pomocí XCTU

Každé zařízení IoT potřebuje komunikační protokol pro umístění zařízení do cloudu a nastavení bezdrátového rozhraní mezi různými zařízeními.

Zde bezdrátové senzory a přijímač Zigmo používají řešení XBee s nízkým výkonem a dlouhým dosahem. XBee používá protokol ZigBee, který specifikuje provoz v pásmech ISM 902 až 928 MHz.

Xbee lze konfigurovat pomocí softwaru XCTU

  1. Vyhledejte zařízení Xbee nebo přidejte nové zařízení Xbee kliknutím na ikonu vlevo nahoře.
  2. Zařízení bude uvedeno na levém bočním panelu.
  3. dvojitým kliknutím na zařízení zobrazíte nastavení.
  4. Nyní klikněte na ikonu konzoly v pravém horním rohu
  5. Můžete vidět hodnotu přicházející na výstup konzoly
  6. Zde získáme rámec o délce 54 bytů
  7. tyto bajty by byly dále manipulovány, aby získaly skutečné hodnoty. postup pro získání skutečných hodnot teploty a vibrací je uveden v následujících krocích.

Krok 3: Bezdrátová analýza hodnot teploty a vibrací pomocí nástroje Labview

Bezdrátová analýza hodnot teploty a vibrací pomocí nástroje Labview
Bezdrátová analýza hodnot teploty a vibrací pomocí nástroje Labview
Bezdrátová analýza hodnot teploty a vibrací pomocí nástroje Labview
Bezdrátová analýza hodnot teploty a vibrací pomocí nástroje Labview

Senzor pracuje ve dvou režimech

  • Konfigurační režim: Nakonfigurujte ID Pan, zpoždění, počet opakování atd. Více o tom je mimo rozsah tohoto pokynu a bude vysvětleno v dalším pokynu.
  • Run Mode: Zařízení provozujeme v režimu Run. A pro analýzu těchto hodnot používáme nástroj Labview Utility

Toto uživatelské rozhraní Labview zobrazuje hodnoty v pěkných grafech. Zobrazuje aktuální i minulé hodnoty. Chcete -li si stáhnout uživatelské rozhraní Labview, přejděte na tento odkaz.

kliknutím na ikonu Spustit v nabídce vstupní stránky přejdete do režimu spuštění.

Krok 4: Konfigurace nastavení DHCP/statické IP pomocí Captive Portal

Konfigurace nastavení DHCP/statické IP pomocí Captive Portal
Konfigurace nastavení DHCP/statické IP pomocí Captive Portal
Konfigurace nastavení DHCP/statické IP pomocí Captive Portal
Konfigurace nastavení DHCP/statické IP pomocí Captive Portal
Konfigurace nastavení DHCP/statické IP pomocí Captive Portal
Konfigurace nastavení DHCP/statické IP pomocí Captive Portal

Portál pro zajetí používáme k ukládání pověření WiFi a k přechodu přes nastavení IP. Podrobný úvod do portálu pro zajetí můžete projít následujícím návodem.

Portál pro zajetí nám dává možnost vybrat si mezi statickým a DHCP nastavením. Stačí zadat přihlašovací údaje jako statická IP, maska podsítě, brána a bezdrátová senzorová brána se na této IP nakonfiguruje.

Krok 5: Uložení nastavení WiFi pomocí Captive Portal

Uložení nastavení WiFi pomocí Captive Portal
Uložení nastavení WiFi pomocí Captive Portal

Hostuje se webová stránka se seznamem dostupných sítí WiFi a RSSI. Vyberte síť WiFi a heslo a zadejte odeslat. Pověření budou uložena do EEPROM a nastavení IP bude uloženo do SPIFFS. Více o tom najdete v tomto návodu.

Krok 6: Publikování údajů ze senzorů do UbiDots

Zde používáme bezdrátové snímače teploty a vibrací s přijímačem brány ESP 32 k získání údajů o teplotě a vlhkosti. Data odesíláme do UbiDots pomocí protokolu MQTT. MQTT sleduje spíše mechanismus publikování a odběru, než požadavek a odpověď. Je rychlejší a spolehlivější než HTTP. Funguje to následovně.

Čtení dat bezdrátového senzoru

Získáváme 29bajtový rámec z bezdrátových snímačů teploty a vibrací. Tento rámec je upraven tak, aby získal aktuální teplotu a údaje o vibracích

if (Serial2.available ()) {data [0] = Serial2.read (); zpoždění (k); if (data [0] == 0x7E) {Serial.println ("Got Packet"); while (! Serial2.available ()); pro (i = 1; i <55; i ++) {data = Serial2.read (); zpoždění (1); } if (data [15] == 0x7F) /////// pro kontrolu, zda jsou přijímaná data správná {if (data [22] == 0x08) //////// zkontrolujte typ senzoru je správné {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])); float baterie = ((data [18] * 256) + data [19]); plovoucí napětí = 0,00322 * baterie; Serial.print („číslo senzoru“); Serial.println (data [16]); Serial.print („Typ senzoru“); Serial.println (data [22]); Serial.print („Verze firmwaru“); Serial.println (data [17]); Serial.print ("Teplota ve stupních Celsia:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS vibrace v ose X:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("RMS vibrace v ose Y:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS vibrace v ose Z:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Minimální vibrace v ose X:");

Serial.print (min_x); Serial.println ("mg"); Serial.print ("Minimální vibrace v ose Y:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Minimální vibrace v ose Z:"); Serial.print (min_z); Serial.println ("mg");

Serial.print ("hodnota ADC:");

Serial.println (baterie); Serial.print ("Napětí baterie:"); Serial.print (napětí); Serial.println ("\ n"); if (napětí <1) {Serial.println ("Čas na výměnu baterie"); }}} else {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); zpoždění (1); }}}}

Připojení k UbiDots MQTT API

Zahrňte soubor záhlaví pro proces MQTT

#include "PubSubClient.h"

definovat další proměnné pro MQTT, jako je jméno klienta, adresa makléře, ID tokenu (načítáme ID tokenu z EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; užitečné zatížení char [100]; char téma [150]; // vytvoření proměnné pro uložení ID tokenu Řetězec tokenId;

Vytvořte proměnné pro ukládání různých dat ze senzorů a vytvořte proměnnou char pro uložení tématu

#define VARIABLE_LABEL_TEMPF "tempF" // Zadání označení proměnné #define VARIABLE_LABEL_TEMPC "tempC" // Zadání označení proměnné #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "vlhké" // Označení proměnné

char topic1 [100];

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

publikovat data do zmíněného tématu MQTT, užitečné zatížení bude vypadat jako {"tempc": {value: "tempData"}}

sprintf (topic1, "%s", ""); sprintf (topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (užitečné zatížení, "%s", "");

// Čistí sprintf užitečného zatížení (užitečné zatížení, "{"%s / ":", VARIABLE_LABEL_TEMPC);

// Přidá hodnotu sprintf (užitečné zatížení, "%s {" hodnota / ":%s}", užitečné zatížení, str_cTemp);

// Přidá hodnotu sprintf (užitečné zatížení, "%s}", užitečné zatížení);

// Zavře závorky slovníku Serial.println (užitečné zatížení);

Serial.println (client.publish (topic1, užitečné zatížení)? "Publikováno": "nezveřejněno");

// Udělejte to samé i pro jiné téma

client.publish () publikuje data do UbiDots

Krok 7: Vizualizace dat

Vizualizace dat
Vizualizace dat
  • Přejděte na Ubidots a přihlaste se ke svému účtu.
  • Přejděte na hlavní panel z karty Data uvedené v horní části.
  • Nyní klikněte na ikonu „+“a přidejte nové widgety.
  • Vyberte ze seznamu widget a přidejte proměnnou a zařízení.
  • Data senzorů lze zobrazit na palubní desce pomocí různých widgetů.

Celkový kód

Over code pro HTML a ESP32 najdete v tomto úložišti GitHub.

  1. ncd ESP32 breakout deska.
  2. ncd Bezdrátové snímače teploty a vlhkosti.
  3. pubsubclient
  4. UbiDots

Doporučuje: