İçindekiler:

Uzun Menzilli Kablosuz Sıcaklık ve Titreşim Sensörlerine Başlarken: 7 Adım
Uzun Menzilli Kablosuz Sıcaklık ve Titreşim Sensörlerine Başlarken: 7 Adım

Video: Uzun Menzilli Kablosuz Sıcaklık ve Titreşim Sensörlerine Başlarken: 7 Adım

Video: Uzun Menzilli Kablosuz Sıcaklık ve Titreşim Sensörlerine Başlarken: 7 Adım
Video: Apple Watch Alınca İlk Yapılması Gerekenler ! 2024, Temmuz
Anonim
Uzun Menzilli Kablosuz Sıcaklık ve Titreşim Sensörlerine Başlarken
Uzun Menzilli Kablosuz Sıcaklık ve Titreşim Sensörlerine Başlarken

Bazen titreşim birçok uygulamada ciddi sorunların nedenidir. Makine milleri ve yataklarından sabit disk performansına kadar, titreşim makine hasarına, erken değiştirmeye, düşük performansa neden olur ve doğruluk üzerinde büyük bir darbeye neden olur. Makinedeki titreşimin izlenmesi ve zaman zaman analizi, makine parçasının erken hasar ve aşınma ve yıpranma sorununu çözebilir.

Bu talimatta, IoT uzun menzilli kablosuz titreşim ve sıcaklık sensörleri üzerinde çalışacağız. Bunlar, birçok yaygın uygulamaya sahip endüstriyel sınıf sensörlerdir.

  • metal işleme
  • Güç üretimi
  • madencilik
  • Yiyecek ve içecek

Bu nedenle, bu Eğitilebilir Tabloda aşağıdakilerden geçeceğiz:

  • XCTU ve Labview UI kullanarak Kablosuz Sensörleri Yapılandırma.
  • Sensörden titreşim değerlerinin alınması.
  • xbee cihazının ve xbee protokolünün çalışmasını anlama.
  • Sabit portalı kullanarak WiFi kimlik bilgilerini ve IP yapılandırmasını yapılandırma

Adım 1: Donanım ve Yazılım Spesifikasyonu

Donanım ve Yazılım Spesifikasyonu
Donanım ve Yazılım Spesifikasyonu
Donanım ve Yazılım Spesifikasyonu
Donanım ve Yazılım Spesifikasyonu
Donanım ve Yazılım Spesifikasyonu
Donanım ve Yazılım Spesifikasyonu

Donanım Spesifikasyonu

  • Kablosuz Titreşim ve Sıcaklık Sensörleri
  • Zigmo Alıcı
  • ESP32 BLE/ WiFi cihazı

Yazılım özellikleri

  • Arduino IDE'si
  • LabView Yardımcı Programı

Adım 2: Kablosuz Sensörü ve Zigmo Alıcıyı XCTU Kullanarak Yapılandırma

XCTU Kullanarak Kablosuz Sensörü ve Zigmo Alıcıyı Yapılandırma
XCTU Kullanarak Kablosuz Sensörü ve Zigmo Alıcıyı Yapılandırma
XCTU Kullanarak Kablosuz Sensörü ve Zigmo Alıcıyı Yapılandırma
XCTU Kullanarak Kablosuz Sensörü ve Zigmo Alıcıyı Yapılandırma

Her IoT cihazının, cihazı buluta yerleştirmek ve farklı cihazlar arasında kablosuz bir arayüz kurmak için bir iletişim protokolüne ihtiyacı vardır.

Burada Kablosuz Sensörler ve Zigmo Alıcı, düşük güç ve uzun menzilli çözüm XBee kullanır. XBee, 902 ila 928 MHz ISM bantlarında çalışmayı belirten bir ZigBee protokolü kullanır.

Xbee, XCTU yazılımı kullanılarak yapılandırılabilir

  1. Xbee cihazını arayın veya sol üstteki simgeye tıklayarak yeni bir Xbee cihazı ekleyin.
  2. Cihaz sol taraftaki panelde listelenecektir.
  3. ayarları görmek için cihaza çift tıklayın.
  4. Şimdi sağ üst köşedeki konsol simgesine tıklayın
  5. Konsol çıktısında gelen değeri görebilirsiniz
  6. Burada 54 bayt uzunluğundaki çerçeveyi alıyoruz
  7. bu baytlar, gerçek değerleri elde etmek için daha fazla manipüle edilir. gerçek sıcaklık ve titreşim değerlerini elde etme prosedürü sonraki adımlarda belirtilmiştir.

Adım 3: Labview Yardımcı Programını Kullanarak Kablosuz Sıcaklık ve Titreşim Değerleri Analizi

Labview Yardımcı Programını Kullanarak Kablosuz Sıcaklık ve Titreşim Değerleri Analizi
Labview Yardımcı Programını Kullanarak Kablosuz Sıcaklık ve Titreşim Değerleri Analizi
Labview Yardımcı Programını Kullanarak Kablosuz Sıcaklık ve Titreşim Değerleri Analizi
Labview Yardımcı Programını Kullanarak Kablosuz Sıcaklık ve Titreşim Değerleri Analizi

Sensör iki modda çalışır

  • Konfigürasyon Modu: Pan ID'yi, gecikmeyi, yeniden deneme sayısını vb. yapılandırın. Bununla ilgili daha fazla bilgi bu talimatın kapsamı dışındadır ve bir sonraki talimatta açıklanacaktır.
  • Run Mode: Cihazı Run modunda çalıştırıyoruz. Ve bu değeri analiz etmek için Labview Yardımcı Programını kullanıyoruz.

Bu Labview kullanıcı arayüzü, değerleri güzel grafiklerde gösterir. Mevcut ve geçmiş değerleri gösterir. Labview kullanıcı arayüzünü indirmek için bu bağlantıya gidebilirsiniz.

Çalıştırma moduna gitmek için açılış sayfası menüsünden Çalıştır simgesine tıklayın.

Adım 4: Captive Portal Kullanarak DHCP/Statik IP Ayarlarını Yapılandırma

Captive Portal Kullanarak DHCP/Statik IP Ayarlarını Yapılandırma
Captive Portal Kullanarak DHCP/Statik IP Ayarlarını Yapılandırma
Captive Portal Kullanarak DHCP/Statik IP Ayarlarını Yapılandırma
Captive Portal Kullanarak DHCP/Statik IP Ayarlarını Yapılandırma
Captive Portal Kullanarak DHCP/Statik IP Ayarlarını Yapılandırma
Captive Portal Kullanarak DHCP/Statik IP Ayarlarını Yapılandırma

WiFi kimlik bilgilerini kaydetmek ve IP ayarları arasında gezinmek için esir portalını kullanıyoruz. Tutsak portalla ilgili ayrıntılı tanıtım için aşağıdaki talimata göz atabilirsiniz.

Sabit portal bize Statik ve DHCP ayarları arasında seçim yapma seçeneği sunar. Sadece Statik IP, Alt Ağ Maskesi, ağ geçidi gibi kimlik bilgilerini girin ve Kablosuz Sensör Ağ Geçidi bu IP üzerinde yapılandırılacaktır.

Adım 5: Captive Portal Kullanarak WiFi Ayarlarını Kaydetme

Captive Portal Kullanarak WiFi Ayarlarını Kaydetme
Captive Portal Kullanarak WiFi Ayarlarını Kaydetme

Kullanılabilir WiFi ağlarını ve orada RSSI'yi gösteren bir listenin bulunduğu bir web sayfası barındırılıyor. WiFi ağını ve şifresini seçin ve gönder'i girin. Kimlik bilgileri EEPROM'a kaydedilecek ve IP ayarı SPIFFS'ye kaydedilecektir. Bununla ilgili daha fazla bilgi bu talimatta bulunabilir.

Adım 6: Sensör Okumalarını UbiDots'ta Yayınlama

Burada sıcaklık ve Nem verilerini almak için ESP 32 ağ geçidi alıcısı ile Kablosuz Sıcaklık ve Titreşim Sensörleri kullanıyoruz. MQTT protokolünü kullanarak verileri UbiDots'a gönderiyoruz. MQTT, istek ve yanıt yerine yayınla ve abone ol mekanizmasını takip eder. HTTP'den daha hızlı ve güvenilirdir. Bu aşağıdaki gibi çalışır.

Kablosuz Sensör Verilerini Okuma

Kablosuz Sıcaklık ve Titreşim Sensörlerinden 29 baytlık bir çerçeve alıyoruz. Bu çerçeve, gerçek sıcaklık ve Titreşim verilerini almak için manipüle edilir

if (Serial2.available()) { data[0] = Serial2.read(); gecikme(k); if(data[0]==0x7E) { Serial.println("Paket Var"); while (!Serial2.available()); for (i = 1; i< 55; i++) { data = Serial2.read(); gecikme(1); } if(data[15]==0x7F) /////// alınan verilerin doğru olup olmadığını kontrol etmek için { if(data[22]==0x08) //////// sensör tipinden emin olun doğru { rms_x = ((uint16_t)(((veri[24])<<16) + ((veri[25])<<8) + (veri[26]))/100); rms_y = ((uint16_t)(((veri[27])<<16) + ((veri[28])<<8) + (veri[29]))/100); rms_z = ((uint16_t)(((veri[30])<<16) + ((veri[31])<<8) + (veri[32]))/100); max_x = ((uint16_t)(((veri[33])<<16) + ((veri[34])<<8) + (veri[35]))/100); max_y = ((uint16_t)(((veri[36])<<16) + ((veri[37])<<8) + (veri[38]))/100); max_z = ((uint16_t)(((veri[39])<<16) + ((veri[40])<<8) + (veri[41]))/100);

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

cTemp = ((((veri[51]) * 256) + veri[52])); yüzer pil = ((veri[18] * 256) + veri[19]); şamandıra voltajı = 0.00322 * pil; Serial.print("Sensör Numarası"); Serial.println(veri[16]); Serial.print("Sensör Tipi"); Serial.println(veri[22]); Serial.print("Firmware Sürümü"); Serial.println(veri[17]); Serial.print("Sıcaklık Santigrat Olarak:"); Seri.print(cTemp); Serial.println("C"); Serial.print("X ekseninde RMS titreşimi:"); Seri.print(rms_x); Seri.println(" mg"); Serial.print("Y ekseninde RMS titreşimi:"); Seri.print(rms_y); Seri.println(" mg"); Serial.print("Z ekseninde RMS titreşimi:"); Seri.print(rms_z); Seri.println(" mg");

Serial.print("X ekseninde minimum titreşim:");

Seri.print(min_x); Seri.println(" mg"); Serial.print("Y ekseninde minimum titreşim:"); Seri.print(min_y); Seri.println(" mg"); Serial.print("Z ekseninde minimum titreşim:"); Seri.print(min_z); Seri.println(" mg");

Serial.print("ADC değeri:");

Serial.println(pil); Serial.print("Pil Voltajı:"); Serial.print(voltaj); Serial.println("\n"); if (voltaj < 1) { Serial.println("Pili Değiştirme Zamanı"); } } } else { for (i = 0; i< 54; i++) { Serial.print(data); Seri.print(", "); gecikme(1); } } } }

UbiDots MQTT API'sine bağlanma

MQTT işlemi için başlık dosyasını ekleyin

#include "PubSubClient.h"

müşteri adı, komisyoncu adresi, belirteç kimliği gibi MQTT için diğer değişkenleri tanımlayın (EEPROM'dan belirteç kimliğini alıyoruz)

#define MQTT_CLIENT_NAME "ClientVBShightime123"char mqttBroker = "things.ubidots.com"; karakter yükü[100]; karakter konusu[150]; // belirteç kimliğini depolamak için değişken oluştur String tokenId;

Farklı sensör verilerini depolamak için değişkenler oluşturun ve konuyu depolamak için bir char değişkeni oluşturun

#define VARIABLE_LABEL_TEMPF "tempF" // Etiket değişkenini atama#define VARIABLE_LABEL_TEMPC "tempC" // Değişken etiketini atama #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "nemli" // Değişken etiketini atama

karakter konusu1[100];

karakter konusu2[100]; karakter konusu3[100];

verileri belirtilen MQTT konusuna yayınlayın, yük { "tempc": {value: "tempData"}} gibi görünecek

sprintf(konu1, "%s", "");sprintf(konu1, "%s%s", "/v1.6/cihazlar/", DEVICE_LABEL); sprintf(yük, "%s", "");

// Yükü temizler sprintf(yük, "{"%s\":", VARIABLE_LABEL_TEMPC);

// sprintf(payload, "%s{"value\":%s}", payload, str_cTemp) değerini ekler;

// sprintf(yük, "%s}", payload) değerini ekler;

// Sözlük parantezlerini kapatır Serial.println(payload);

Serial.println(client.publish(topic1, payload) ? "yayınlandı": "yayınlanmadı");

//Aynısını diğer konu için de yapın

client.publish(), verileri UbiDots'ta yayınlar

7. Adım: Verileri Görselleştirme

Verileri Görselleştirme
Verileri Görselleştirme
  • Ubidots'a gidin ve hesabınıza giriş yapın.
  • Üstte listelenen Veri sekmesinden Gösterge Tablosuna gidin.
  • Şimdi yeni widget'ları eklemek için "+" simgesine tıklayın.
  • Listeden bir widget seçin ve bir değişken ve cihazlar ekleyin.
  • Sensör verileri, farklı widget'lar kullanılarak gösterge tablosunda görselleştirilebilir.

Genel Kod

HTML ve ESP32 için Over kodu bu GitHub deposunda bulunabilir.

  1. ncd ESP32 koparma kartı.
  2. ncd Kablosuz sıcaklık ve Nem Sensörleri.
  3. pubsubclient
  4. UbiDot'lar

Önerilen: