Daftar Isi:

Memulai Dengan Sensor Suhu dan Getaran Nirkabel Jarak Jauh: 7 Langkah
Memulai Dengan Sensor Suhu dan Getaran Nirkabel Jarak Jauh: 7 Langkah

Video: Memulai Dengan Sensor Suhu dan Getaran Nirkabel Jarak Jauh: 7 Langkah

Video: Memulai Dengan Sensor Suhu dan Getaran Nirkabel Jarak Jauh: 7 Langkah
Video: VIDEO CARA KERJA ALAT KENDALI ROUTER, SISTEM KEAMANAN ONLINE DAN SENSOR SUHU ONLINE 2024, November
Anonim
Memulai Dengan Sensor Suhu dan Getaran Nirkabel Jarak Jauh
Memulai Dengan Sensor Suhu dan Getaran Nirkabel Jarak Jauh

Terkadang getaran adalah penyebab masalah serius di banyak aplikasi. Dari poros dan bantalan mesin hingga kinerja hard disk, getaran menyebabkan kerusakan mesin, penggantian lebih awal, kinerja rendah, dan memberikan pukulan besar pada akurasi. Pemantauan dan analisis getaran dari waktu ke waktu pada mesin dapat mengatasi masalah kerusakan dini dan keausan pada bagian mesin.

Dalam instruksi ini, kami akan mengerjakan sensor getaran dan suhu nirkabel jarak jauh IoT. Ini adalah sensor kelas industri dengan banyak aplikasi yang tersebar luas seperti.

  • Pengerjaan logam
  • Pembangkit listrik
  • Pertambangan
  • Makanan dan minuman

Jadi, Dalam Instruksi ini kita akan melalui yang berikut:

  • Mengonfigurasi Sensor Nirkabel menggunakan XCTU dan Labview UI.
  • Mendapatkan nilai getaran dari sensor.
  • Memahami cara kerja perangkat xbee dan protokol xbee.
  • Mengonfigurasi kredensial WiFi dan konfigurasi IP menggunakan portal tawanan

Langkah 1: Spesifikasi Perangkat Keras dan Perangkat Lunak

Spesifikasi Perangkat Keras dan Perangkat Lunak
Spesifikasi Perangkat Keras dan Perangkat Lunak
Spesifikasi Perangkat Keras dan Perangkat Lunak
Spesifikasi Perangkat Keras dan Perangkat Lunak
Spesifikasi Perangkat Keras dan Perangkat Lunak
Spesifikasi Perangkat Keras dan Perangkat Lunak

Spesifikasi Perangkat Keras

  • Sensor Getaran dan Suhu Nirkabel
  • Penerima Zigmo
  • ESP32 BLE/perangkat WiFi

Spesifikasi Perangkat Lunak

  • Arduino IDE
  • Utilitas LabView

Langkah 2: Mengonfigurasi Sensor Nirkabel dan Penerima Zigmo Menggunakan XCTU

Mengonfigurasi Sensor Nirkabel dan Penerima Zigmo Menggunakan XCTU
Mengonfigurasi Sensor Nirkabel dan Penerima Zigmo Menggunakan XCTU
Mengonfigurasi Sensor Nirkabel dan Penerima Zigmo Menggunakan XCTU
Mengonfigurasi Sensor Nirkabel dan Penerima Zigmo Menggunakan XCTU

Setiap perangkat IoT memerlukan protokol komunikasi untuk menempatkan perangkat di atas cloud dan untuk mengatur antarmuka nirkabel antara perangkat yang berbeda.

Di sini Sensor Nirkabel dan Penerima Zigmo menggunakan daya rendah dan solusi jarak jauh XBee. XBee menggunakan protokol ZigBee yang menetapkan operasi pada pita ISM 902 hingga 928 MHz.

Xbee dapat dikonfigurasi menggunakan perangkat lunak XCTU

  1. Cari perangkat Xbee atau tambahkan perangkat Xbee baru dengan mengklik ikon kiri atas.
  2. Perangkat akan terdaftar di panel sisi kiri.
  3. klik dua kali pada perangkat untuk melihat pengaturan.
  4. Sekarang klik ikon konsol di sudut kanan atas
  5. Anda dapat melihat nilai yang datang pada keluaran konsol
  6. Di sini kita mendapatkan bingkai dengan panjang 54 byte
  7. byte ini akan dimanipulasi lebih lanjut untuk mendapatkan nilai sebenarnya. prosedur untuk mendapatkan suhu nyata dan nilai getaran disebutkan dalam langkah-langkah yang akan datang.

Langkah 3: Analisis Nilai Suhu dan Getaran Nirkabel Menggunakan Labview Utility

Analisis Nilai Suhu dan Getaran Nirkabel Menggunakan Utilitas Labview
Analisis Nilai Suhu dan Getaran Nirkabel Menggunakan Utilitas Labview
Analisis Nilai Suhu dan Getaran Nirkabel Menggunakan Utilitas Labview
Analisis Nilai Suhu dan Getaran Nirkabel Menggunakan Utilitas Labview

Sensor berjalan dalam dua mode

  • Mode Konfigurasi: Konfigurasikan ID Pan, penundaan, Jumlah percobaan ulang, dll. Lebih lanjut tentang ini berada di luar cakupan instruksi ini dan akan dijelaskan dalam instruksi berikutnya.
  • Run Mode: Kami menjalankan perangkat dalam mode Run. Dan untuk menganalisis nilai ini kami menggunakan Labview Utility

UI Labview ini menunjukkan nilai dalam grafik yang bagus. Ini menunjukkan nilai saat ini dan juga masa lalu. Anda dapat membuka tautan ini untuk mengunduh Labview UI.

klik ikon Run dari menu halaman arahan untuk masuk ke mode run.

Langkah 4: Mengonfigurasi Pengaturan DHCP/IP Statis Menggunakan Captive Portal

Mengonfigurasi Pengaturan DHCP/IP Statis Menggunakan Captive Portal
Mengonfigurasi Pengaturan DHCP/IP Statis Menggunakan Captive Portal
Mengonfigurasi Pengaturan DHCP/IP Statis Menggunakan Captive Portal
Mengonfigurasi Pengaturan DHCP/IP Statis Menggunakan Captive Portal
Mengonfigurasi Pengaturan DHCP/IP Statis Menggunakan Captive Portal
Mengonfigurasi Pengaturan DHCP/IP Statis Menggunakan Captive Portal

Kami menggunakan portal tawanan untuk menyimpan kredensial WiFi dan mengarahkan kursor melalui pengaturan IP. Untuk pengenalan terperinci tentang portal tawanan, Anda dapat mengikuti instruksi berikut.

Portal captive memberi kita pilihan untuk memilih antara pengaturan Statis dan DHCP. Cukup masukkan kredensial seperti IP Statis, Subnet Mask, gateway dan Wireless Sensor Gateway akan dikonfigurasi pada IP tersebut.

Langkah 5: Menyimpan Pengaturan WiFi Menggunakan Captive Portal

Menyimpan Pengaturan WiFi Menggunakan Captive Portal
Menyimpan Pengaturan WiFi Menggunakan Captive Portal

Halaman web sedang di-host di mana daftar yang menunjukkan jaringan WiFi yang tersedia dan RSSI di sana. Pilih jaringan WiFi dan kata sandi dan masukkan kirim. Kredensial akan disimpan di EEPROM dan pengaturan IP akan disimpan di SPIFFS. Lebih lanjut tentang ini dapat ditemukan di instruksi ini.

Langkah 6: Menerbitkan Pembacaan Sensor ke UbiDots

Di sini kami menggunakan Sensor Suhu dan Getaran Nirkabel dengan penerima gateway ESP 32 untuk mendapatkan data suhu dan Kelembaban. Kami mengirimkan data ke UbiDots menggunakan protokol MQTT. MQTT mengikuti mekanisme terbitkan dan berlangganan daripada permintaan dan tanggapan itu. Ini lebih cepat dan andal daripada HTTP. Ini bekerja sebagai berikut.

Membaca Data Sensor Nirkabel

Kami mendapatkan bingkai 29-byte dari Sensor Suhu dan Getaran Nirkabel. Bingkai ini dimanipulasi untuk mendapatkan suhu aktual dan data Getaran

if (Serial2.available()) { data[0] = Serial2.read(); penundaan (k); if(data[0]==0x7E) { Serial.println("Mendapat Paket"); while (!Serial2.available()); for (i = 1; i< 55; i++) { data = Serial2.read(); penundaan (1); } if(data[15]==0x7F) /////// untuk memeriksa apakah data yang diterima sudah benar { if(data[22]==0x08) //////// pastikan jenis sensor benar { 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])); baterai float = ((data[18] * 256) + data[19]); tegangan mengambang = 0,00322 * baterai; Serial.print("Nomor Sensor "); Serial.println(data[16]); Serial.print("Jenis Sensor "); Serial.println(data[22]); Serial.print("Versi Firmware "); Serial.println(data[17]); Serial.print("Suhu dalam Celcius:"); Serial.print(cTemp); Serial.println("C"); Serial.print("Getaran RMS pada sumbu X:"); Serial.print(rms_x); Serial.println("mg"); Serial.print("Getaran RMS pada sumbu Y:"); Serial.print(rms_y); Serial.println("mg"); Serial.print("Getaran RMS pada sumbu Z:"); Serial.print(rms_z); Serial.println("mg");

Serial.print("Getaran minimum pada sumbu X:");

Serial.print(min_x); Serial.println("mg"); Serial.print("Getaran minimum pada sumbu Y:"); Serial.print(min_y); Serial.println("mg"); Serial.print("Getaran minimum pada sumbu Z:"); Serial.print(min_z); Serial.println("mg");

Serial.print("Nilai ADC:");

Serial.println(baterai); Serial.print("Tegangan Baterai:"); Serial.print(tegangan); Serial.println("\n"); if (tegangan < 1) { Serial.println("Waktunya Mengganti Baterai"); } } } else { untuk (i = 0; i< 54; i++) { Serial.print(data); Serial.print(", "); penundaan (1); } } } }

Menghubungkan ke UbiDots MQTT API

Sertakan file header untuk proses MQTT

#sertakan "PubSubClient.h"

tentukan variabel lain untuk MQTT seperti nama klien, alamat broker, ID token (Kami mengambil ID token dari EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123"char mqttBroker = "things.ubidots.com"; muatan char[100]; topik karakter[150]; //buat variabel untuk menyimpan token ID String tokenId;

Buat variabel untuk menyimpan data sensor yang berbeda dan buat variabel karakter untuk menyimpan topik

#define VARIABLE_LABEL_TEMPF "tempF" // Menentukan label variabel#define VARIABLE_LABEL_TEMPC "tempC" // Menentukan label variabel #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "humid" // Menentukan label variabel

char topik1[100];

char topik2[100]; char topik3[100];

publikasikan data ke topik MQTT yang disebutkan, payload akan terlihat seperti { "tempc": {value: "tempData"}}

sprintf(topic1, "%s", "");sprintf(topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf(muatan, "%s", "");

// Membersihkan payload sprintf(payload, "{"%s\":", VARIABLE_LABEL_TEMPC);

// Menambahkan nilai sprintf(payload, "%s{"value\":%s}", payload, str_cTemp);

// Menambahkan nilai sprintf(payload, "%s}", payload);

// Menutup tanda kurung kamus Serial.println(payload);

Serial.println(client.publish(topic1, payload) ? "diterbitkan": "tidak dipublikasikan");

//Lakukan hal yang sama untuk topik lain juga

client.publish() menerbitkan data ke UbiDots

Langkah 7: Memvisualisasikan Data

Memvisualisasikan Data
Memvisualisasikan Data
  • Pergi ke Ubidots dan Login ke akun Anda.
  • Arahkan ke Dasbor dari tab Data yang tercantum di atas.
  • Sekarang klik ikon "+" untuk menambahkan widget baru.
  • Pilih widget dari daftar dan tambahkan variabel dan perangkat.
  • Data sensor dapat divisualisasikan di dasbor menggunakan widget yang berbeda.

Kode Keseluruhan

Kode Over untuk HTML dan ESP32 dapat ditemukan di repositori GitHub ini.

  1. papan pelarian ncd ESP32.
  2. ncd Sensor suhu dan Kelembaban nirkabel.
  3. klien pub
  4. UbiDots

Direkomendasikan: