İçindekiler:
- Adım 1: Donanım ve Yazılım Spesifikasyonu
- Adım 2: Kablosuz Sensörü ve Zigmo Alıcıyı XCTU Kullanarak Yapılandırma
- Adım 3: Labview Yardımcı Programını Kullanarak Kablosuz Sıcaklık ve Titreşim Değerleri Analizi
- Adım 4: Captive Portal Kullanarak DHCP/Statik IP Ayarlarını Yapılandırma
- Adım 5: Captive Portal Kullanarak WiFi Ayarlarını Kaydetme
- Adım 6: Sensör Okumalarını UbiDots'ta Yayınlama
- 7. Adım: Verileri Görselleştirme
Video: Uzun Menzilli Kablosuz Sıcaklık ve Titreşim Sensörlerine Başlarken: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
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 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
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
- Xbee cihazını arayın veya sol üstteki simgeye tıklayarak yeni bir Xbee cihazı ekleyin.
- Cihaz sol taraftaki panelde listelenecektir.
- ayarları görmek için cihaza çift tıklayın.
- Şimdi sağ üst köşedeki konsol simgesine tıklayın
- Konsol çıktısında gelen değeri görebilirsiniz
- Burada 54 bayt uzunluğundaki çerçeveyi alıyoruz
- 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
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
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
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
- 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.
- ncd ESP32 koparma kartı.
- ncd Kablosuz sıcaklık ve Nem Sensörleri.
- pubsubclient
- UbiDot'lar
Önerilen:
IoT- Ubidots- ESP32+Uzun Menzilli-Kablosuz-Titreşim-Ve-Sıcaklık-Sensörü: 7 Adım
IoT- Ubidots- ESP32+Uzun Menzilli-Kablosuz-Titreşim-Ve-Sıcaklık-Sensörü: Titreşim, gerçekten motorlu araçlardaki makinelerin ve bileşenlerin bir ileri geri hareketi veya salınımıdır. Endüstriyel sistemdeki titreşim, bir zorluğun belirtisi veya nedeni olabilir veya günlük çalışma ile ilişkilendirilebilir. Örneğin, osci
Esp32-Ubidots-Kablosuz-uzun menzilli Sıcaklık-Ve-Nem: 6 Adım
Esp32-Ubidots-Kablosuz-uzun menzilli Sıcaklık-Ve-Nem: Bu derste, Sıcaklık ve nem sensörünü kullanarak farklı sıcaklık ve nem verilerini ölçeceğiz. Bu verileri Ubidots'a nasıl göndereceğinizi de öğreneceksiniz. Farklı uygulamalar için her yerden analiz edebilmeniz için
IoT Uzun Menzilli Titreşim ve Sıcaklık Sensörlü Node-RED: 34 Adım
IoT Uzun Menzilli Titreşim ve Sıcaklık Sensörlü Node-RED: Kablosuz ağ mimarisi kullanarak 28 Mil menzile kadar NCD'nin uzun menzilli kablosuz sıcaklık nem sensörü ile tanışın. Honeywell HIH9130 sıcaklık nem sensörünün dahil edilmesi, son derece hassas sıcaklık ve
IoT - ThingSpeak - ESP32-Uzun Menzilli-Kablosuz-Titreşim-Ve-Temp: 6 Adım
IoT - ThingSpeak - ESP32-Uzun Menzilli-Kablosuz-Titreşim-Ve-Temp: Bu projede, NCD titreşim ve sıcaklık sensörleri, Esp32, ThingSpeak kullanarak titreşimi ve sıcaklığı ölçeceğiz. Titreşim gerçekten bir ileri geri hareket - veya salınımdır. - motorlu araçlardaki makineler ve bileşenler. Bendeki titreşim
ThingSpeak, ESP32 ve Uzun Menzilli Kablosuz Sıcaklık ve Nem: 5 Adım
ThingSpeak, ESP32 ve Uzun Menzilli Kablosuz Sıcaklık ve Nem: Bu eğitimde, Sıcaklık ve nem sensörünü kullanarak farklı sıcaklık ve nem verilerini ölçeceğiz. Bu verileri ThingSpeak'e nasıl göndereceğinizi de öğreneceksiniz. Farklı uygulamalar için her yerden analiz edebilmeniz için