Latihan - Menyiapkan komunikasi antara IoT Hub dan IoT Edge
Latihan ini menggunakan Azure CLI di Azure Cloud Shell untuk menjalankan perintah yang diperlukan.
Menginstal ekstensi Azure IoT
Tambahkan ekstensi Azure IoT ke instans Cloud Shell Azure CLI.
az extension add --name azure-iot
Nota
Artikel ini menggunakan versi terbaru ekstensi Azure IoT, yang disebut azure-iot. Versi warisan disebut azure-cli-iot-ext. Anda seharusnya hanya menginstal satu versi pada satu waktu. Untuk memeriksa ekstensi mana yang diinstal, jalankan az extension list.
Jalankan az extension remove --name azure-cli-iot-ext untuk menghapus versi warisan ekstensi.
Jalankan az extension add --name azure-iot untuk menambahkan versi baru ekstensi.
Membuat grup sumber daya
Buat grup sumber daya bernama "IoTEdgeResources" dengan menjalankan perintah berikut:
az group create --name IoTEdgeResources --location eastus2
Outputnya mirip dengan yang berikut ini:
Membuat hub IoT
Kode berikut membuat hub tingkat F1 gratis di grup sumber daya "IoTEdgeResources." Ganti {hub_name} dengan nama unik untuk hub IoT Anda.
az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2
Nota
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 kesalahan bahwa nama hub IoT tidak tersedia, itu berarti orang lain sudah memiliki hub dengan nama tersebut.
Mendaftarkan perangkat IoT Edge
Di Azure Cloud Shell, ikuti langkah-langkah ini untuk membuat perangkat bernama "myEdgeDevice" di hub Anda.
Membuat identitas perangkat
Perangkat IoT Edge berulah dan dikelola secara berbeda dari perangkat IoT biasa.
--edge-enabled Gunakan bendera untuk mendeklarasikan identitas ini sebagai perangkat IoT Edge.
Penting
Jika Anda melihat pesan kesalahan terkait "kunci kebijakan iothubowner", pastikan bahwa Cloud Shell Anda menjalankan ekstensi azure-iot versi terbaru.
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 untuk perangkat Anda, yang menautkan 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
Outputnya mirip dengan yang berikut 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, yang digunakan untuk mengonfigurasi runtime IoT Edge di bagian berikutnya.
Menyebarkan perangkat IoT Edge
Gunakan perintah CLI ini untuk membuat perangkat IoT Edge Anda berdasarkan templat iotedge-vm-deploy bawaan. Salin perintah ke editor teks, ganti teks tempat penampung dengan informasi Anda, lalu tempelkan 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 kata sandi Anda (adminPasswordOrKey) memiliki panjang setidaknya 12 karakter dan mencakup tiga karakter berikut: karakter huruf kecil, karakter huruf besar, digit, dan karakter khusus.
Mungkin perlu beberapa menit untuk membuat dan memulai komputer virtual baru. Setelah penyebaran selesai, Anda menerima output berformat JSON di CLI yang berisi informasi SSH untuk terhubung ke komputer virtual. Salin nilai entri SSH publik di bagian output :
Lihat status runtime IoT Edge
Gunakan perintah ini untuk menyambungkan ke komputer virtual Anda. Ganti azureuser jika Anda menggunakan nama pengguna yang berbeda selama penyebaran VM. 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, gunakan iotedge perintah.
Penting
Anda memerlukan hak istimewa yang lebih tinggi untuk menjalankan perintah iotedge.
Jalankan perintah berikut untuk memeriksa status perangkat IoT Edge:
sudo systemctl status iotedge
Output yang dihasilkan harus mirip dengan ini:
Perangkat IoT Edge Anda sekarang dikonfigurasi. Ini siap untuk menjalankan modul yang diimplementasikan di cloud.
Untuk 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, hanya modul edgeAgent yang berjalan. Modul edgeAgent berjalan secara default dan membantu menginstal dan memulai modul tambahan yang Anda sebarkan ke perangkat Anda.
sudo iotedge list