Latihan - Menyiapkan komunikasi antara IoT Hub dan IoT Edge
Latihan ini menggunakan Azure CLI di Azure Cloud Shell untuk mengeluarkan perintah yang diperlukan.
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:
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
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:
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:
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