Menyiapkan lingkungan pengembangan dan pengujian Anda untuk IoT Edge
Berlaku untuk tanda
IoT Edge 1.1
IoT Edge 1.2
1.3
Azure IoT Edge memindahkan logika bisnis Anda yang ada ke perangkat yang beroperasi di tepi. Untuk menyiapkan aplikasi dan beban kerja Anda agar berjalan sebagai modul IoT Edge, Anda perlu membangunnya sebagai kontainer. Artikel ini menyediakan panduan cara mengonfigurasi lingkungan pengembangan Anda agar dapat berhasil membuat solusi IoT Edge. Setelah mengatur lingkungan pengembangan, Anda dapat mempelajari cara Mengembangkan modul IoT Edge Anda sendiri.
Terdapat setidaknya dua mesin untuk dipertimbangkan dalam setiap solusi IoT Edge. Salah satunya adalah perangkat IoT Edge (atau perangkat) itu sendiri yang menjalankan modul IoT Edge. Mesin lainnya adalah mesin pengembangan yang Anda gunakan untuk membangun, menguji, dan menggunakan modul. Artikel ini lebih berfokus pada mesin pengembangan. Untuk tujuan pengujian, kedua mesin dapat digunakan. Anda dapat menjalankan IoT Edge dalam mesin pengembangan Anda dan menyebarkan modul ke dalamnya.
Sistem operasi
Azure IoT Edge berjalan pada serangkaian sistem operasi tertentu yang didukung. Untuk mengembangkan IoT Edge, Anda dapat menggunakan sebagian besar sistem operasi yang dapat menjalankan mesin kontainer. Mesin kontainer adalah syarat pada mesin pengembangan untuk membangun modul Anda sebagai kontainer dan mendorongnya ke registri kontainer.
Jika mesin pengembangan Anda tidak dapat menjalankan Azure IoT Edge, periksa lebih jauh dalam artikel ini tentang alat pengujian yang membantu Anda menguji dan men-debug secara lokal.
Sistem operasi mesin pengembangan Anda tidak harus cocok dengan sistem operasi perangkat IoT Edge. Namun, sistem operasi kontainer antara mesin pengembangan dan perangkat IoT Edge harus konsisten. Misalnya, Anda dapat mengembangkan modul pada komputer Windows dan menyebarkannya ke perangkat Linux. Komputer Windows perlu menjalankan kontainer Linux untuk membangun modul untuk perangkat Linux.
Mesin kontainer
Konsep utama IoT Edge adalah Anda dapat menyebarkan logika bisnis dan cloud Anda dari jarak jauh ke perangkat dengan mengemasnya ke dalam kontainer. Untuk membangun kontainer, Anda memerlukan mesin kontainer pada mesin pengembangan Anda.
Satu-satunya mesin kontainer yang didukung untuk perangkat IoT Edge dalam produksi adalah Moby. Tetapi mesin kontainer apa pun yang kompatibel dengan Open Container Initiative, seperti Docker, mampu membangun gambar modul IoT Edge.
Alat pengembangan
Visual Studio dan Visual Studio Code memiliki ekstensi add-on untuk membantu mengembangkan solusi IoT Edge. Ekstensi ini menyediakan templat khusus bahasa untuk membantu membuat dan menerapkan skenario IoT Edge baru. Ekstensi Azure IoT Edge untuk Visual Studio dan Visual Studio Code membantu Anda membuat kode, membuat, menerapkan, dan men-debug solusi IoT Edge Anda. Anda dapat membuat seluruh solusi IoT Edge yang berisi beberapa modul beserta ekstensinya secara otomatis memperbarui templat manifes penyebaran dengan setiap penambahan modul baru. Dengan ekstensi tersebut, Anda juga dapat mengelola perangkat IoT dari dalam Visual Studio atau Visual Studio Code. Sebarkan modul ke perangkat, pantau status, dan lihat pesan saat tiba di IoT Hub. Kedua ekstensi menggunakan alat pengembangan IoT EdgeHub untuk mengaktifkan proses lokal dan penelusuran kesalahan modul pada mesin pengembangan Anda.
Jika Anda memilih mengembangkan dengan editor lain atau dari CLI, alat pengembangan Azure IoT Edge menyediakan perintah sehingga Anda dapat mengembangkan dan menguji dari baris perintah. Anda dapat membuat skenario IoT Edge baru, membangun gambar modul, menjalankan modul dalam simulator, dan memantau pesan yang dikirim ke IoT Hub.
Ekstensi Visual Studio Code
Ekstensi Azure IoT Edge untuk Visual Studio Code menyediakan templat modul IoT Edge yang dibangun berdasarkan bahasa pemrograman termasuk C, C#, Java, Node.js, dan Python serta fungsi Azure di C#.
Untuk mendapatkan informasi selengkapnya dan pemasangan, lihat Alat Azure IoT untuk Visual Studio Code.
Selain ekstensi IoT Edge, mungkin ada baiknya bagi Anda untuk memasang ekstensi tambahan untuk pengembangan. Misalnya, Anda dapat menggunakan Dukungan Docker untuk Visual Studio Code untuk mengelola gambar, kontainer, dan registri Anda. Selain itu, semua bahasa utama yang didukung memiliki ekstensi untuk Visual Studio Code yang dapat membantu saat Anda mengembangkan modul.
Prasyarat
Template modul untuk beberapa bahasa dan layanan memiliki prasyarat yang diperlukan untuk membangun folder proyek di mesin pengembangan Anda dengan Visual Studio Code.
| Templat modul | Prasyarat |
|---|---|
| Azure Functions | SDK .NET Core 2.1 |
| C | Git |
| C# | SDK .NET Core 2.1 |
| Java | |
| Node.js | |
| Python |
Ekstensi 2017/2019 Visual Studio
Alat Azure IoT Edge untuk Visual Studio menyediakan templat modul IoT Edge yang dibangun pada C# dan C.
Untuk mendapatkan informasi selengkapnya dan pemasangan, lihat Alat Azure IoT Edge untuk Visual Studio 2017 atau Alat Azure IoT Edge untuk Visual Studio 2019.
Alat pengembangan IoT Edge
Alat pengembangan Azure IoT Edge menyederhanakan pengembangan IoT Edge dengan kemampuan baris perintah. Alat ini menyediakan perintah CLI untuk mengembangkan, men-debug, dan menguji modul. Alat pengembangan IoT Edge bekerja dengan sistem pengembangan Anda, dalam kondisi Anda telah memasang dependensi secara manual pada mesin maupun sedang menggunakan kontainer pengembangan IoT Edge.
Untuk mendapatkan informasi selengkapnya dan untuk memulai, lihat wiki alat pengembangan IoT Edge.
Alat pengujian
Beberapa alat pengujian tersedia untuk membantu Anda menyimulasikan perangkat IoT Edge atau men-debug modul dengan lebih efisien. Tabel berikut ini memperlihatkan perbandingan tingkat tinggi antar alat. Bagian individu menjelaskan setiap alat secara lebih khusus.
Hanya runtime IoT Edge yang didukung untuk penyebaran produksi, tetapi alat berikut memungkinkan Anda menyimulasikan atau dengan mudah membuat perangkat IoT Edge untuk tujuan pengembangan dan pengujian. Peralatan ini tidak saling eksklusif, tetapi dapat bekerja sama untuk pengalaman pengembangan seutuhnya.
| Alat | Juga disebut | Platform yang didukung | Terbaik untuk |
|---|---|---|---|
| Alat pengembangan IoT EdgeHub | iotedgehubdev | Windows, Linux, macOS | Menyimulasikan perangkat untuk men-debug modul. |
| Kontainer pengembangan IoT Edge | iotedgedev | Windows, Linux, macOS | Berkembang tanpa memasang dependensi. |
| Runtime IoT Edge dalam kontainer | iotedgec | Windows, Linux, macOS, ARM | Pengujian pada perangkat yang mungkin tidak mendukung runtime. |
| Kontainer perangkat IoT Edge | toolboc/azure-iot-edge-device-container | Windows, Linux, macOS, ARM | Menguji skenario dengan banyak perangkat IoT Edge sesuai skala. |
Alat pengembangan IoT EdgeHub
Alat pengembangan Azure IoT EdgeHub menyediakan pengembangan lokal dan pengalaman debug. Alat ini membantu memulai modul IoT Edge tanpa runtime IoT Edge sehingga Anda dapat membuat, mengembangkan, menguji, menjalankan, dan men-debug modul dan solusi IoT Edge secara lokal. Anda tidak perlu mendorong gambar ke registri kontainer dan menyebarkannya ke perangkat untuk pengujian.
Alat pengembangan IoT EdgeHub dirancang untuk bekerja bersamaan dengan ekstensi Visual Studio dan Visual Studio Code, serta dengan alat pengembangan IoT Edge. Alat ini mendukung pengembangan loop dalam dan pengujian loop luar, sehingga terintegrasi dengan alat DevOps juga.
Untuk informasi selengkapnya dan pemasangan, lihat Alat pengembangan Azure IoT EdgeHub.
Kontainer pengembangan IoT Edge
Kontainer pengembangan Azure IoT Edge adalah kontainer Docker yang memiliki semua dependensi yang Anda butuhkan untuk pengembangan IoT Edge. Kontainer ini memudahkan Anda untuk memulai dengan bahasa apa pun yang ingin Anda kembangkan, termasuk C#, Python, Node.js, dan Java. Yang perlu Anda pasang adalah mesin kontainer, seperti Docker atau Moby, untuk menarik kontainer ke mesin pengembangan Anda.
Untuk informasi selengkapnya, lihat Kontainer pengembangan Azure IoT Edge.
Kontainer perangkat IoT Edge
Kontainer perangkat IoT Edge adalah perangkat IoT Edge lengkap, siap diluncurkan pada mesin apa pun yang dilengkapi mesin kontainer. Kontainer perangkat mencakup runtime IoT Edge dan mesin kontainer itu sendiri. Setiap instans kontainer adalah perangkat IoT Edge pengadaan mandiri yang berfungsi penuh. Kontainer perangkat mendukung penelusuran kesalahan modul jarak jauh, selama terdapat rute jaringan ke modul. Kontainer perangkat kompatibel untuk membuat sejumlah besar perangkat IoT Edge dengan cepat untuk menguji skenario skala atau Azure Pipelines. Kontainer ini juga mendukung penyebaran ke kubernetes melalui helm.
Untuk informasi selengkapnya, lihat Kontainer perangkat Azure IoT Edge.
Alat DevOps
Ketika Anda siap untuk mengembangkan solusi dalam skala besar untuk skenario produksi yang luas, manfaatkan prinsip DevOps modern termasuk otomatisasi, pemantauan, dan proses rekayasa perangkat lunak yang disederhanakan. IoT Edge memiliki ekstensi untuk mendukung alat DevOps termasuk Azure DevOps, Azure DevOps Projects, dan Jenkins. Jika Anda ingin menyesuaikan alur yang ada atau menggunakan alat DevOps yang berbeda seperti CircleCI atau TravisCI, Anda dapat melakukannya dengan fitur CLI yang disertakan dalam alat pengembangan IoT Edge.
Untuk informasi, panduan, dan contoh selengkapnya, lihat halaman berikut: