Menyiapkan Azure IoT Edge untuk Azure Sphere
Penting
Ini adalah dokumentasi Azure Sphere (Warisan). Azure Sphere (Warisan) dihentikan pada 27 September 2027, dan pengguna harus bermigrasi ke Azure Sphere (Terintegrasi) saat ini. Gunakan pemilih Versi yang terletak di atas TOC untuk melihat dokumentasi Azure Sphere (Terintegrasi).
Azure IoT Edge menyediakan lapisan pemfilteran dan pemrosesan data antara perangkat hilir, seperti Azure Sphere dan Azure IoT Hub. Pertimbangkan untuk menggunakan Azure IoT Edge jika perangkat Azure Sphere Anda menghasilkan sejumlah besar data atau data yang memerlukan pasca-pemrosesan.
Topik ini mencakup langkah-langkah untuk menyiapkan perangkat Azure IoT Edge dengan Azure Sphere. Azure Sphere mendukung Azure IoT Edge versi 1.1 dan 1.2; perbedaan signifikan dicatat dalam instruksi. Perbedaan utama adalah:
- Nama paket berubah dari
iotedge
keaziot-edge
. - File konfigurasi default memiliki nama atau lokasi baru. Di Azure IoT Edge 1.1, file konfigurasinya adalah /etc/iotedge/config.yaml. Di Azure IoT Edge 1.2, file konfigurasinya adalah /etc/aziot/config.toml.
- Azure IoT Edge 1.2 memerlukan nama domain yang sepenuhnya memenuhi syarat (FQDN) yang dapat diakses melalui server DNS di jaringan.
Setelah Anda menyelesaikan tugas dalam topik ini, perangkat Azure Sphere Anda akan dikonfigurasi untuk mengirim data ke Azure IoT Hub melalui perangkat Azure IoT Edge yang bertindak sebagai gateway transparan. Anda dapat menambahkan pemfilteran dan pemrosesan data tambahan dengan modul di perangkat Azure IoT Edge dengan mengikuti panduan Modul Azure IoT Edge.
Sebelum Anda mulai
Langkah-langkah dalam topik ini mengasumsikan bahwa:
- Perangkat Azure Sphere Anda tersambung ke PC anda dengan USB.
- Anda memiliki langganan Azure.
- Anda telah membuat instans Azure IoT Hub dan menyediakan perangkat secara manual. Perhatikan bahwa Anda harus menggunakan sertifikat CA penyewa untuk IoT Hub nanti dalam prosedur (Langkah 6).
- Anda telah membuat grup sumber daya, dan semua sumber daya yang terkait dengan layanan Azure IoT Hub dan IoT Edge harus termasuk dalam grup sumber daya ini.
Penting
Meskipun Anda dapat membuat langganan Azure tanpa biaya, proses pendaftaran mengharuskan Anda memasukkan nomor kartu kredit. Azure menyediakan beberapa tingkat layanan langganan. Secara default, tingkat Standar, yang memerlukan biaya layanan bulanan, dipilih saat Anda membuat instans Azure IoT Hub. Untuk menghindari biaya bulanan, pilih tingkat Gratis. Tingkat Gratis mencakup layanan yang diperlukan untuk menggunakan perangkat Anda dengan instans Azure IoT Hub, termasuk Device Twin. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Gambaran Umum
Menyiapkan perangkat Azure IoT Edge dan mengonfigurasinya untuk bekerja dengan perangkat Azure Sphere memerlukan proses multi-langkah dan Anda harus merencanakan sekitar 8 jam untuk bekerja melalui langkah-langkah, terutama jika Anda tidak terbiasa dengan Azure IoT Edge. Jika ini adalah pertama kalinya Anda bekerja dengan Azure IoT Edge, ikuti petunjuk Mulai Cepat di setiap bagian untuk menyiapkan dan mengonfigurasi perangkat IoT Edge yang berjalan pada komputer virtual Linux.
Langkah-langkah ini harus diselesaikan hanya sekali per penyewa Azure Sphere dan perangkat Azure IoT Edge; namun, setiap perangkat Azure Sphere harus dikonfigurasi secara manual di Azure IoT Hub, dan perangkat Azure IoT Edge harus ditetapkan sebagai induk perangkat Azure Sphere.
Langkah-langkah penyiapan dapat dipecah menjadi tiga pengelompokan logis:
Membuat dan mengonfigurasi perangkat IoT Edge sebagai gateway transparan
- Langkah 1. Buat perangkat Azure IoT Edge.
- Langkah 2. Konfigurasikan perangkat gateway Azure IoT Edge sebagai server.
- Langkah 3. Buka port perangkat gateway Azure IoT Edge untuk komunikasi.
- Langkah 4. Perbarui nama host gateway di config.toml (Azure IoT Edge versi 1.2) atau config.yaml (Azure IoT Edge versi 1.1).
Mengonfigurasi perangkat Azure Sphere di Azure IoT Hub
- Langkah 5. Atur perangkat Azure IoT Edge sebagai induk perangkat Azure Sphere.
Membuat koneksi tepercaya antara perangkat Azure Sphere dan perangkat IoT Edge
- Langkah 6. Berikan sertifikat CA penyewa perangkat Azure Sphere ke perangkat Azure IoT Edge.
- Langkah 7. Berikan sertifikat OS akar perangkat Azure IoT Edge ke perangkat Azure Sphere.
Langkah 1. Buat perangkat Azure IoT Edge
Anda harus menyiapkan perangkat Azure IoT Edge dan mendaftarkannya dengan Azure IoT Hub, jika Anda belum melakukannya.
Anda dapat menggunakan Device Provisioning Service (DPS) untuk menyediakan perangkat Azure IoT Edge. Namun, Anda tidak dapat menggunakan DPS untuk menyediakan perangkat Azure Sphere. Provisi otomatis perangkat hilir perangkat Azure IoT Edge dengan Azure IoT Hub DPS tidak didukung.
Anda dapat mengikuti langkah-langkah dalam Mulai Cepat IoT Edge untuk menyiapkan perangkat Azure IoT Edge yang berjalan di VM Linux atau perangkat Windows dan mendaftarkannya dengan Azure IoT Hub.
Gunakan langkah-langkah dalam Mulai Cepat untuk:
- Daftarkan perangkat Azure IoT Edge ke instans Azure IoT Hub Anda. Jangan membuat hub IoT baru dalam langkah ini, cukup daftarkan perangkat Azure IoT Edge Anda ke hub IoT yang telah Anda buat.
- Instal dan mulai runtime Azure IoT Edge di perangkat Azure IoT Edge Anda.
Catatan
Di Mulai Cepat IoT Edge, hentikan sebelum menyebarkan modul.
Langkah 2. Mengonfigurasi perangkat gateway IoT Edge sebagai server
Ikuti instruksi untuk Mengonfigurasi perangkat Azure IoT Edge untuk bertindak sebagai gateway transparan (Azure IoT Edge 1.2) atau Azure IoT Edge 1.1, tetapi berhenti saat Anda mencapai bagian "Buka port di perangkat gateway." Meskipun instruksi ini memberi tahu Anda untuk menyalin file sertifikat ke perangkat IoT Edge Anda, jangan salin file ke VM Anda hingga Langkah 8 dari prosedur ini.
Sebagai bagian dari langkah-langkah yang Anda selesaikan untuk mengonfigurasi gateway perangkat sebagai server, Anda akan memiliki:
- Mengonfigurasi sertifikat perangkat Azure IoT Edge.
- Menyebarkan modul hub Azure IoT Edge.
- Mengonfigurasi perutean pesan melalui Azure IoT Edge.
Juga sebagai bagian dari langkah-langkah ini, Anda akan membuat sertifikat ini:
- Sertifikat CA akar:
certs/azure-iot-test-only.root.ca.cert.pem
- Sertifikat OS perangkat dan kunci privat (digunakan untuk mendaftarkan perangkat IoT Edge ke IoT Hub):
certs/iot-edge-device-identity-<cert-name>-full-chain.cert.pem
private/iot-edge-device-identity-<cert-name>.key.pem
- Sertifikat CA IoT Edge dan kunci privat (untuk disalin ke perangkat IoT Edge dan direferensikan dalam file konfigurasinya):
certs/iot-edge-device-ca-<cert-name>-full-chain.cert.pem
private/iot-edge-device-ca-<cert-name>.key.pem
Jika Anda mengikuti Mulai Cepat, gunakan instruksi Linux untuk mengonfigurasi sertifikat demo jika komputer tempat Anda membuat sertifikat adalah komputer berbasis Linux. Gunakan instruksi Windows untuk menghasilkan sertifikat demo jika komputer tempat Anda membuat sertifikat adalah komputer berbasis Windows. Lihat bagian untuk menyalin sertifikat akar ke VM Linux atau ke komputer Windows lokal.
Sertifikat OS akar Azure IoT Edge akan dimodifikasi di Langkah 7, tetapi Anda akan memerlukan sertifikat asli di Langkah 8. Simpan salinan sertifikat asli sehingga Anda dapat menggunakannya kembali.
Catatan
Saat memperbarui bagian sertifikat dari file config.toml (Azure IoT Edge 1.2) atau config.yaml (Azure IoT Edge 1.1), pastikan bahwa certificates:
baris di config.toml (Azure IoT Edge 1.2) atau config.yaml (Azure IoT Edge 1.1) tidak memiliki spasi kosong sebelumnya dan bahwa masing-masing sertifikat berlapis diinden oleh dua spasi.
Setelah Anda memperbarui file, verifikasi bahwa modul edgehub berjalan di perangkat Azure IoT Edge Anda:
sudo iotedge list
Untuk informasi selengkapnya, lihat Bagaimana perangkat IoT Edge dapat digunakan sebagai gateway (Azure IoT Edge 1.2) atau Azure IoT Edge 1.1.
Jika Anda menggunakan sertifikat pengujian, hentikan sebelum membuat sertifikat perangkat hilir, seperti yang didokumenkan dalam Membuat sertifikat perangkat hilir (Azure IoT Edge 1.2) atau Azure IoT Edge 1.1.
Langkah 3. Buka port perangkat gateway Azure IoT Edge untuk komunikasi
Perangkat gateway harus dapat menerima pesan dari perangkat hilir mereka. Agar skenario gateway berfungsi, setidaknya salah satu protokol hub IoT yang didukung harus terbuka untuk lalu lintas masuk dari perangkat hilir.
Azure Sphere menggunakan protokol MQTT. Protokol ini menggunakan port 8883.
Untuk informasi selengkapnya, lihat Membuka port pada perangkat gateway (Azure IoT Edge 1.2) atau Azure IoT Edge 1.1.
Ikuti langkah-langkah ini untuk membuka port 8883 pada VM Windows setelah menyiapkan perangkat Edge di Mulai Cepat:
- Jika perlu, masuk ke portal Azure Anda menggunakan akun Azure Anda.
- Navigasi ke komputer virtual yang Anda buat di bagian Langkah 1: Buat perangkat Azure IoT Edge.
- Di bagian Pengaturan di sebelah kiri, pilih Jaringan, lalu Tambahkan aturan port masuk.
- Di bilah Tambahkan aturan port masuk, di bawah Rentang port tujuan, ubah nilai menjadi 8883.
- Di bawah Protokol, pilih TCP.
- Di bawah Nama, ubah nilai menjadi MQTT.
- Biarkan semua pengaturan lain sebagai default, lalu pilih Tambahkan.
Ikuti langkah-langkah ini untuk membuka port 8883 pada VM Linux setelah menyiapkan perangkat Azure IoT Edge di Mulai Cepat:
Jalankan perintah berikut untuk memeriksa apakah port untuk MQTT terbuka:
sudo netstat -lptu
Jika perlu, gunakan perintah berikut untuk membuka port:
sudo ufw allow 8883
Ini akan menentukan aturan keamanan masuk untuk memungkinkan komunikasi untuk protokol MQTT ke Azure IoT Edge Gateway.
Langkah 4. Memperbarui nama host gateway
Langkah ini menggunakan prosedur yang berbeda tergantung pada versi Azure IoT Edge yang Anda gunakan: Azure IoT Edge 1.2 atau Azure IoT Edge 1.1.
Azure IoT Edge 1.2: Memperbarui nama host gateway di config.toml
Runtime Azure IoT Edge mendukung nama host yang kurang dari 64 karakter. Komputer fisik biasanya tidak memiliki nama host yang panjang, tetapi jika Anda menggunakan komputer virtual sebagai perangkat Azure IoT Edge, seperti contoh di Mulai Cepat, Anda harus mengonfigurasi nama host secara manual.
Untuk memecahkan masalah nama host yang tidak valid, lihat resolusi kesalahan umum.
Ikuti langkah-langkah ini untuk mengonfigurasi nama host perangkat Azure IoT Edge setelah mengonfigurasi port MQTT di Mulai Cepat:
Temukan nama domain yang sepenuhnya memenuhi syarat (FQDN) untuk gateway IoT Edge Anda dengan menavigasi ke perangkat IoT Edge (Linux VM) Anda di Portal Microsoft Azure dan menyalin nilai untuk nama DNS dari halaman gambaran umum.
Jika perlu, masuk ke perangkat Azure IoT Edge.
Buka file config.toml di editor teks.
/etc/aziot/config.toml
Tempelkan FQDN ke bagian nama host config.toml. Pastikan bahwa nama semuanya huruf kecil.
hostname: "<iotedge_machinename>.<mydomain>"
Catatan
Secara desain dengan Azure IoT Edge v1.2 ke atas, nama host HARUS berupa nama FQDN (alamat IP tidak diizinkan lagi, seperti pada v1.1); oleh karena itu, server DNS dengan catatan A yang sesuai pada jaringan yang sama wajib.
Hidupkan ulang daemon
iotedge
.sudo systemctl restart iotedge
Jika Anda melihat kesalahan (teks berwarna diawali dengan "[ERROR]") dalam status, periksa log daemon untuk informasi kesalahan terperinci.
sudo journalctl -u iotedge --no-pager --no-full
Untuk menghindari peringatan, siapkan konfigurasi DNS untuk modul pada perangkat Azure IoT Edge untuk menyertakan file konfigurasi di /etc/docker/daemon.json, misalnya:
{ "dns": ["<IP address of your DNS server>"] }
Azure IoT Edge 1.1: Memperbarui nama host gateway di config.yaml
Runtime Azure IoT Edge mendukung nama host yang kurang dari 64 karakter. Komputer fisik biasanya tidak memiliki nama host yang panjang, tetapi jika Anda menggunakan komputer virtual sebagai perangkat Azure IoT Edge, seperti contoh di Mulai Cepat, Anda harus mengonfigurasi nama host secara manual.
Untuk memecahkan masalah nama host yang tidak valid, lihat resolusi kesalahan umum.
Ikuti langkah-langkah ini untuk mengonfigurasi nama host perangkat Azure IoT Edge setelah mengonfigurasi port MQTT di Mulai Cepat:
Di portal Azure, navigasikan ke komputer virtual Anda. Salin nilai untuk nama DNS (FQDN komputer) dari bagian Gambaran Umum .
Jika perlu, masuk ke perangkat Azure IoT Edge.
Buka file config.yaml di editor teks.
/etc/iotedge/config.yaml
Tempelkan FQDN ke bagian nama host config.yaml. Pastikan bahwa nama semuanya huruf kecil.
`hostname: "<machinename>.<region>.cloudapp.azure.com"`
Catatan
Anda mungkin harus menggunakan nama komputer kosong untuk nama host (baik alamat IP atau nama host aktual) jika resolver DNS ada di jaringan, karena Azure Sphere tidak mendukung netbios.
Hidupkan ulang daemon
iotedge
.sudo systemctl restart iotedge
Jika Anda melihat kesalahan (teks berwarna diawali dengan "[ERROR]") dalam status, periksa log daemon untuk informasi kesalahan terperinci.
sudo journalctl -u iotedge --no-pager --no-full
Untuk menghindari peringatan, siapkan konfigurasi DNS untuk modul pada perangkat Azure IoT Edge untuk menyertakan file konfigurasi di /etc/docker/daemon.json, misalnya:
{ "dns": ["<IP address of your DNS server>"] }
Langkah 5. Mengatur perangkat Azure IoT Edge sebagai induk perangkat Azure Sphere
Ikuti langkah-langkah ini untuk mengatur perangkat Azure IoT Edge sebagai induk perangkat Azure Sphere:
- Navigasikan ke perangkat Azure Sphere yang disediakan secara manual di atas.
- Pilih ID Perangkat.
- Pilih ikon gigi di bawah Tidak ada perangkat induk.
- Pilih perangkat Azure IoT Edge yang ingin Anda atur sebagai induknya.
- Pilih OK, lalu Simpan.
Perangkat Azure IoT Edge sekarang menjadi induk perangkat Azure Sphere.
Langkah 6. Berikan sertifikat OS penyewa perangkat Azure Sphere ke perangkat IoT Edge
Untuk memverifikasi sertifikat perangkat Azure Sphere, perangkat Azure IoT Edge harus memiliki salinan CA penyewanya sendiri.
Unduh sertifikat CA penyewa, jika Anda belum melakukannya. Catatan: Anda seharusnya sudah menyelesaikan ini sebagai bagian dari mengonfigurasi Azure IoT Hub Anda.
Dari prompt perintah, masuk dengan login Azure Sphere Anda:
azsphere login
Unduh sertifikat CA untuk penyewa Azure Sphere Anda. Perintah ini mengunduh sertifikat ke file bernama CAcertificate.cer di direktori kerja saat ini. Pastikan Anda mengunduh file ke direktori tempat Anda memiliki izin tulis, atau operasi pengunduhan akan gagal. File output harus memiliki ekstensi .cer.
azsphere ca-certificate download --destination CAcertificate.cer
Konversikan sertifikat CA penyewa ke format PEM. Contoh instruksi untuk mengonversi format pada komputer Windows adalah sebagai berikut:
- Temukan jalur sertifikat di komputer Anda dan klik dua kali sertifikat untuk membukanya.
- Buka tab Detail dan pilih Salin ke File.
- Di wizard Ekspor Sertifikat, pilih Berikutnya.
- Pilih format Base-64 encoded X.509 (CER), lalu pilih Berikutnya.
- Masukkan nama file untuk diekspor sertifikat, lalu pilih Berikutnya.
- Pilih Selesai untuk menyelesaikan wizard.
- Ganti nama file sertifikat yang diunduh agar memiliki ekstensi file .pem.
Tambahkan sertifikat penyewa ke sertifikat akar Azure IoT Edge. Ingatlah bahwa Anda membuat sertifikat Azure IoT Edge di Langkah 2.
- Jika perlu, masuk ke perangkat Azure IoT Edge.
- Temukan jalur sertifikat OS akar perangkat IoT Edge dan buka di editor teks. Jika Anda mengikuti Mulai Cepat lalu menggunakan skrip yang disediakan di repositori git Azure IoT Edge untuk membuat sertifikat demo, sertifikat CA akar diberi nama azure-iot-test-only.root.ca.cert.pem.
- Buka sertifikat CA Penyewa Azure Sphere (dalam format PEM) di editor teks. Salin konten dan tempelkan di akhir sertifikat OS akar IoT Edge.
- Simpan perubahan yang dilakukan pada sertifikat OS akar Azure IoT Edge, lalu tutup file.
- Mulai ulang perangkat Azure IoT Edge. Untuk perangkat Linux Azure IoT Edge, jalankan:
sudo systemctl restart iotedge
. - Verifikasi bahwa modul berjalan di perangkat Azure IoT Edge Anda. Untuk perangkat Linux Azure IoT Edge, jalankan:
sudo iotedge list
.
Langkah 7. Berikan sertifikat OS akar perangkat Azure IoT Edge ke perangkat Azure Sphere
Untuk memverifikasi sertifikat perangkat Azure IoT Edge, perangkat Azure Sphere (perangkat hilir) harus memiliki salinan sertifikat CA akar perangkat Azure IoT Edge sendiri, yang Anda konfigurasi di Langkah 2.
Untuk informasi selengkapnya, lihat Menyambungkan perangkat hilir ke gateway Azure IoT Edge.
Temukan sertifikat akar perangkat Azure IoT Edge asli.
- Ingatlah bahwa sertifikat akar perangkat Azure IoT Edge asli adalah sertifikat yang Anda buat di Langkah 2.
- Jika Anda mengikuti Mulai Cepat lalu menggunakan skrip yang disediakan di repositori git IoT Edge untuk membuat sertifikat demo, sertifikat CA akar disebut azure-iot-test-only.root.ca.cert.pem.
Salin sertifikat akar Azure IoT Edge ke perangkat Azure Sphere dengan menambahkannya ke paket aplikasi.
- Untuk langkah-langkah mendetail, lihat Pembuatan paket gambar.
- Lihat bagian untuk menyalin sertifikat akar ke VM Linux atau ke komputer Windows lokal.
Langkah 8. Menyalin sertifikat akar IoT ke komputer jarak jauh
Ikuti langkah-langkah ini untuk menyalin sertifikat akar Azure IoT Edge ke VM Linux jarak jauh atau ke komputer Windows lokal:
Anda dapat menginstal alat WinSCP untuk mentransfer file. Alat ini menyediakan GUI sehingga lebih mudah digunakan daripada pendekatan baris perintah.
Untuk menggunakan baris perintah, gunakan alat baris perintah SCP (Secure Copy).
Untuk mentransfer file dari komputer Windows lokal ke VM Linux jarak jauh, jalankan perintah berikut di Windows PowerShell:
powershell -Command scp -r <path-to-file-name> <userName@remote-ip>:<path-to-destination-directory>
Sintaksis sampel:
scp C:\Documents\cert.pem AzureUser@edgevmname-west.westus22.cloudapp.azure.com:/home/azureUser/test/
Untuk mentransfer file dari VM Linux jarak jauh ke komputer Windows lokal, jalankan perintah berikut di Windows PowerShell:
powershell -Command scp -r <userName@remote-ip>:<path-to-file-name> <path-to-destination-dir>
Sintaksis sampel:
scp azureUser@edgevmname-west.westus22.cloudapp.azure.com:/home/azureUser/test/cert.pem C:\Documents\
Pemecahan Masalah
Jika Anda mengalami masalah saat menjalankan Azure IoT Edge di lingkungan Anda, gunakan artikel ini untuk pemecahan masalah dan diagnostik:
Memecahkan masalah perangkat IoT Edge Anda (Azure IoT Edge 1.2) atau Azure IoT Edge 1.1
Masalah dan resolusi umum untuk Azure IoT Edge (Azure IoT Edge 1.2) atau Azure IoT Edge 1.1
Langkah berikutnya
- Setelah menyelesaikan langkah-langkah dalam topik ini, Anda dapat menjalankan sampel Azure IoT, mengikuti instruksi untuk menyambungkan menggunakan Azure IoT Edge.