Latihan - Menyiapkan komunikasi antara IoT Hub dan IoT Edge

Selesai

Latihan ini menggunakan Azure CLI di Azure Cloud Shell untuk mengeluarkan perintah yang diperlukan.

An illustration is showing how to connect azure Cloud Shell.

Menginstal ekstensi Azure IoT

Anda perlu menambahkan ekstensi Azure IoT ke instans Cloud Shell Azure CLI.

az extension add --name azure-iot

Catatan

Artikel ini menggunakan versi terbaru ekstensi Azure IoT, yang disebut azure-iot. Versi warisan disebut azure-cli-iot-ext. Anda seharusnya hanya memiliki satu versi yang terinstal pada satu waktu. Untuk melihat ekstensi apa yang telah Anda instal, gunakan az extension list.

Gunakan az extension remove --name azure-cli-iot-ext untuk menghapus versi lama ekstensi.

Gunakan az extension add --name azure-iot untuk menambahkan versi baru ekstensi.

Buat grup sumber daya

Buat grup sumber daya yang disebut "IoTEdgeResources" menggunakan perintah berikut:

az group create --name IoTEdgeResources --location eastus2

Output yang dihasilkan harus mirip dengan ini:

An illustration showing the creation of a resource group.

Membuat IoT Hub

Kode berikut membuat hub F1 gratis di grup sumber daya "IoTEdgeResources". Ganti {hub_name} dengan nama unik untuk IoT Hub Anda.

az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2

Catatan

Jika Anda mendapatkan kesalahan karena sudah ada satu hub gratis di langganan Anda, ubah SKU menjadi S1. Setiap langganan hanya dapat memiliki satu hub IoT gratis. Jika Anda mendapatkan pesan kesalahan bahwa nama IoT Hub tidak tersedia, berarti orang lain sudah menamai hubnya dengan nama yang sama.

Mendaftarkan perangkat IoT Edge

Di Azure Cloud Shell, masukkan perintah berikut untuk membuat nama perangkat "myEdgeDevice" di hub Anda.

Membuat identitas perangkat

Karena perangkat IoT Edge berperilaku dan dapat dikelola secara berbeda dibandingkan dengan perangkat IoT biasa, nyatakan identitas ini untuk perangkat IoT Edge dengan bendera --edge-enabled.

Penting

Jika Anda mendapatkan kesalahan tentang "kunci kebijakan iothubowner", pastikan Cloud Shell Anda menjalankan versi terbaru ekstensi azure-iot.

Perintah berikut membuat identitas perangkat:

az iot hub device-identity create --hub-name {hub_name} --device-id myEdgeDevice --edge-enabled

An illustration is showing that creating device identity.

Mengambil string koneksi

Untuk mengambil string koneksi perangkat Anda, yang menghubungkan perangkat fisik Anda dengan identitasnya di IoT Hub, gunakan perintah ini:

az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name} --output table

Output yang dihasilkan harus mirip dengan ini:

HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}

Salin nilai kunci connectionString dari output JSON dan simpan. Nilai ini adalah string koneksi perangkat. Anda menggunakan ini untuk mengonfigurasi runtime IoT Edge di bagian berikutnya.

Menyebarkan perangkat IoT Edge

Gunakan perintah CLI berikut untuk membuat perangkat IoT Edge Anda berdasarkan templat iotedge-vm-deploy bawaan. Salin perintah berikut ke editor teks, ganti teks tempat penampung dengan informasi Anda, lalu salin ke jendela bash atau Cloud Shell Anda:

az deployment group create \
--resource-group IoTEdgeResources \
--template-uri "https://aka.ms/iotedge-vm-deploy" \
--parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \
--parameters adminUsername='azureuser' \
--parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name
<REPLACE_WITH_HUB_NAME> -o tsv) \
--parameters authenticationType='password' \
--parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"

Pastikan sandi Anda (adminPasswordOrKey) minimal terdiri dari 12 karakter dan memiliki tiga dari empat karakter berikut: karakter huruf kecil, karakter huruf besar, angka, dan karakter khusus.

Mungkin perlu beberapa menit untuk membuat dan memulai mesin virtual baru. Setelah penyebaran selesai, Anda harus menerima output berformat JSON di CLI yang berisi informasi SSH untuk terhubung ke komputer virtual. Salin nilai entri SSH publik di bagian output:

An illustration is showing the public ssh.

Menampilkan status runtime IoT Edge

Gunakan perintah berikut untuk menyambungkan ke komputer virtual Anda. Ganti azureuser jika Anda menggunakan nama pengguna yang berbeda dari yang disarankan selama penyebaran mesin virtual. Ganti {DNS name} dengan nama DNS komputer Anda.

ssh {admin username}@{DNS name}

Periksa apakah perangkat IoT Edge dikonfigurasi

Untuk memverifikasi bahwa daemon keamanan IoT Edge berjalan sebagai layanan sistem, kami menggunakan perintah iotedge.

Penting

Anda memerlukan hak istimewa yang lebih tinggi untuk menjalankan perintah iotedge.

Jalankan perintah berikut untuk menguji status perangkat IoT Edge:

sudo systemctl status iotedge

Output yang dihasilkan harus mirip dengan ini:

An illustration is showing status of Azure IoT Edge Deamon.

An illustration is showing the list of modules running on the virtual device.

Perangkat IoT Edge Anda sekarang dikonfigurasi. Perangkat siap untuk menjalankan modul yang disebarkan cloud.

Jika Anda perlu memecahkan masalah layanan, ambil log layanan.

journalctl -u iotedge

Lihat semua modul yang berjalan di perangkat IoT Edge Anda. Karena layanan baru saja dimulai untuk pertama kalinya, Anda hanya akan melihat modul edgeAgent berjalan. Modul edgeAgent berjalan secara default dan membantu memasang dan memulai modul tambahan yang Anda sebarkan ke perangkat Anda.

sudo iotedge list