Tutorial: Hasilkan data perangkat yang disimulasikan

Berlaku untuk:yes icon IoT Edge 1.1

Dalam artikel ini, kami menggunakan data pelatihan pembelajaran mesin untuk mensimulasikan perangkat yang mengirim telemetri ke Azure IoT Hub. Seperti yang dinyatakan dalam pengantar, tutorial ini menggunakan himpunan data simulasi degradasi mesin Turbofan untuk mensimulasikan data dari seperangkat mesin pesawat untuk pelatihan dan pengujian.

Dalam skenario eksperimental kami, kami tahu bahwa:

  • Data terdiri dari beberapa rangkaian waktu multivariat.
  • Setiap himpunan data dibagi menjadi subset pelatihan dan pengujian.
  • Setiap kali seri berasal dari mesin yang berbeda.
  • Setiap mesin dimulai dengan berbagai tingkat keausan awal dan variasi manufaktur.

Untuk tutorial ini, kami menggunakan subset data pelatihan dari satu himpunan data (FD003).

Pada kenyataannya, setiap mesin akan menjadi perangkat IoT independen. Dengan asumsi Anda tidak memiliki koleksi mesin turbofan yang terhubung dengan internet yang tersedia, kami akan membangun stand-in perangkat lunak untuk perangkat ini.

Simulator adalah program C# yang menggunakan API Azure IoT Hub untuk mendaftarkan perangkat virtual secara terprogram dengan Azure IoT Hub. Kami kemudian membaca data untuk setiap perangkat dari subset data yang disediakan NASA dan mengirimkannya ke hub IoT Anda menggunakan Perangkat IoT yang disimulasikan. Semua kode untuk bagian tutorial ini dapat ditemukan di direktori DeviceHarness repositori.

Proyek DeviceHarness adalah proyek inti .NET yang ditulis dalam C# yang terdiri dari empat kelas:

  • Program: Titik masuk untuk eksekusi yang bertanggung jawab untuk menangani input pengguna dan koordinasi keseluruhan.
  • TrainingFileManager: Bertanggung jawab untuk membaca dan mengurai file data yang dipilih.
  • CycleData: Mewakili satu baris data dalam file yang dikonversi menjadi format pesan.
  • TurbofanDevice: Bertanggung jawab untuk membuat Perangkat IoT, yang sesuai dengan satu perangkat (seri waktu), dalam data dan mengirimkan data ke Azure IoT Hub.

Tugas yang dijelaskan dalam artikel ini harus memakan waktu sekitar 20 menit untuk diselesaikan.

Dunia nyata yang setara dengan pekerjaan dalam langkah ini kemungkinan akan dilakukan oleh pengembang perangkat dan pengembang cloud.

Di bagian tutorial ini, Anda mempelajari cara:

  • Memasukkan proyek eksternal ke dalam lingkungan pengembangan Anda.
  • Gunakan contoh proyek DeviceHarness untuk menghasilkan data perangkat IoT yang disimulasikan.
  • Lihat data yang dihasilkan di Azure IoT Hub Anda.

Prasyarat

Artikel ini merupakan bagian dari rangkaian tutorial tentang menggunakan Azure Machine Learning di Azure IoT Edge. Setiap artikel dalam rangkaian membuat pekerjaan di artikel sebelumnya. Jika Anda telah tiba di artikel ini secara langsung, kunjungi artikel pertama dalam seri ini.

Konfigurasikan Visual Studio Code dan membangun projek DeviceHarness

  1. Buka sesi desktop jarak jauh untuk pengembangan komputer virtual Anda.

  2. Di kode Visual Studio, buka C:\source\IoTEdgeAndMlSample\DeviceHarness folder.

  3. Karena Anda menggunakan ekstensi pada mesin ini untuk pertama kalinya, beberapa ekstensi akan memperbarui dan memasang dependensinya. Anda mungkin diminta untuk memperbarui ekstensi. Jika demikian, pilih Isi Ulang Jendela.

    Jika kesalahan OmniSharp muncul di jendela output, Anda harus mencopot pemasangan ekstensi C#.

  4. Anda akan diminta untuk menambahkan aset yang diperlukan untuk DeviceHarness. Pilih Ya untuk menambahkannya.

    • Pemberitahuan mungkin perlu waktu beberapa detik untuk muncul.
    • Jika Anda melewatkan pemberitahuan ini, periksa ikon bel di sudut kanan bawah.

    VS Code extension popup

  5. Pilih Pulihkan untuk memulihkan dependensi paket.

    VS Code restore prompt

    Jika Anda tidak mendapatkan notifikasi ini, tutup Visual Studio Code, hapus direktori biner dan obj di C:\source\IoTEdgeAndMlSample\DeviceHarness, buka Visual Studio Code, dan buka kembali folder DeviceHarness.

  6. Validasi bahwa lingkungan Anda disiapkan dengan benar dengan memicu kompilasi, Ctrl + Shift + B, , atau Terminal>Jalankan Tugas KOmpilasiBuild.

  7. Anda diminta untuk memilih tugas kompilasi yang akan dijalankan. Pilih Kompilasi.

  8. Kompilasi berjalan dan menghasilkan pesan sukses.

    Build succeeded output message

  9. Anda dapat membuat kompilasi ini sebagai tugas kompilasi default dengan memilih Terminal>Konfigurasikan Tugas Kompilasi Default... dan memilih Kompilasi dari prompt.

Sambungkan ke Azure IoT Hub dan jalankan DeviceHarness

Sekarang kita memiliki pembangunan proyek, sambungkan ke hub IoT Anda untuk mengakses string koneksi dan pantau kemajuan pembuatan data.

Masuk ke Azure di Visual Studio Code

  1. Masuk ke langganan Azure Anda di Visual Studio Code dengan membuka palet perintah, Ctrl + Shift + P atau Tampilkan>Palet Perintah.

  2. Cari perintah Azure: Masuk.

    Jendela browser terbuka dan meminta informasi masuk Anda. Saat Anda diarahkan ke halaman sukses, Anda dapat menutup browser.

Sambungkan ke hub IoT Anda dan ambil string koneksi hub

  1. Di bagian bawah penjelajah Visual Studio Code, pilih bingkai Azure IoT Hub untuk memperluasnya.

  2. Dalam bingkai yang diperluas, klik Pilih Azure IoT Hub.

  3. Saat diminta, pilih langganan Azure Anda lalu hub IoT Anda.

  4. Klik ... di sebelah kanan Azure IoT Hub untuk tindakan lebih lanjut. Pilih Salin string koneksi Azure IoT Hub.

    Copy IoT Hub connection string

Jalankan proyek DeviceHarness

  1. Pilih Tampilkan>Terminal untuk membuka terminal Visual Studio Code.

    Jika Anda tidak melihat perintah, tekan Enter.

  2. Masukkan dotnet run di terminal.

  3. Ketika diminta untuk String Koneksi Azure IoT Hub, tempelkan string koneksi yang disalin di bagian sebelumnya.

  4. Di bingkai perangkat Azure IoT Hub, klik tombol refresh.

    Refresh IoT Hub device list

  5. Perhatikan bahwa perangkat ditambahkan ke Azure IoT Hub dan perangkat muncul dalam warna hijau untuk menunjukkan bahwa data sedang dikirim melalui perangkat tersebut. Setelah perangkat mengirim pesan ke hub IoT, mereka memutuskan koneksi dan tampak biru.

  6. Anda dapat melihat pesan yang dikirim ke hub dengan mengeklik kanan pada perangkat apa pun dan memilih Mulai Pemantauan Titik Akhir Acara Bawaan. Pesan akan ditampilkan di panel output di Visual Studio Code.

  7. Berhenti memantau dengan mengeklik di panel output Azure IoT Hub dan pilih Hentikan Pemantauan Titik Akhir Kejadian Bawaan.

  8. Biarkan aplikasi berjalan hingga selesai, yang memakan waktu beberapa menit.

Periksa Azure IoT Hub untuk aktivitas

Data yang dikirim oleh DeviceHarness masuk ke hub IoT agar Anda dapat memverifikasi di portal Microsoft Azure.

  1. Buka portal Microsoft Azure dan navigasi ke hub IoT yang dibuat untuk tutorial ini.

  2. Di menu sebelah kiri, di bawah Pemantauan, pilih Metrik.

  3. Pada halaman definisi bagan, klik drop down Metrik, gulir ke bawah daftar, dan pilih Perutean: data yang dikirimkan ke penyimpanan. Bagan harus menunjukkan lonjakan kapan data dirutekan ke penyimpanan.

    Chart shows spike when data delivered to storage

Validasikan data di Microsoft Azure Storage

Data yang baru saja kami kirim ke hub IoT Anda dirutekan ke kontainer penyimpanan yang kami buat di artikel sebelumnya. Mari kita lihat data di akun penyimpanan kami.

  1. Di portal Microsoft Azure, navigasikan ke akun penyimpanan Anda.

  2. Dari navigator akun penyimpanan, pilih penjelajah penyimpanan (pratinjau) .

  3. Di penjelajah penyimpanan, pilih Blob Containers lalu devicedata.

  4. Di panel konten, klik folder untuk nama hub IoT, diikuti dengan tahun, bulan, hari, dan jam. Anda akan melihat beberapa folder yang mewakili menit saat data ditulis.

    View folders in blob storage

  5. Klik salah satu folder tersebut untuk mencari file data berlabel 00 dan 01 yang sesuai dengan partisi.

  6. File ditulis dalam format Avro. Klik dua kali pada salah satu file ini untuk membuka tab browser lain dan sebagian merender data. Jika diminta untuk membuka file dalam program, Anda dapat memilih Visual Studio Code dan file tersebut akan dirender dengan benar.

  7. Tidak perlu mencoba membaca atau menginterpretasikan data saat ini; kami akan melakukannya di artikel berikutnya.

Bersihkan sumber daya

Tutorial ini adalah bagian dari set tempat setiap artikel dibuat pada pekerjaan yang dilakukan di set sebelumnya. Tunggu untuk membersihkan sumber daya apa pun sampai Anda menyelesaikan tutorial akhir.

Langkah berikutnya

Dalam artikel ini, kami menggunakan proyek .NET Core untuk membuat sekumpulan perangkat IoT virtual dan mengirim data melaluinya ke hub IoT kami dan ke dalam kontainer Microsoft Azure Storage. Proyek ini mensimulasikan skenario dunia nyata di mana perangkat IoT fisik mengirim data ke Azure IoT Hub dan seterusnya ke penyimpanan yang dikuratori. Data ini mencakup pembacaan sensor, pengaturan operasional, sinyal kegagalan dan mode, dan sebagainya. Setelah data yang cukup dikumpulkan, kami menggunakannya untuk melatih model yang memprediksi sisa masa pakai (RUL) yang berguna untuk perangkat. Kami akan menunjukkan pembelajaran mesin ini di artikel berikutnya.

Lanjutkan ke artikel berikutnya untuk melatih model pembelajaran mesin dengan data.