Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam tutorial ini, Anda menggunakan Eclipse ThreadX untuk menyambungkan MXCHIP AZ3166 IoT DevKit (mulai sekarang, MXCHIP DevKit) ke Azure IoT.
Kemudian, selesaikan tugas-tugas berikut:
- Pasang satu set alat pengembangan tersemat untuk memprogram MXChip DevKit di C
- Buat gambar dan flash itu ke MXCHIP DevKit
- Menggunakan Azure CLI untuk membuat dan mengelola hub Azure IoT yang tersambung dengan aman oleh MXCHIP DevKit
- Gunakan Azure IoT Explorer untuk mendaftarkan perangkat dengan hub IoT Anda, melihat properti perangkat, melihat telemetri perangkat, dan memanggil perintah langsung di perangkat
Prasyarat
PC yang menjalankan Windows 10 atau Windows 11
Langganan Azure aktif. Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.
Git dengan tujuan mengkloning repositori
Azure CLI. Anda memiliki dua opsi untuk menjalankan perintah Azure CLI dalam tutorial ini:
- Gunakan Azure Cloud Shell, shell interaktif yang menjalankan perintah CLI di browser Anda. Opsi ini direkomendasikan karena Anda tidak perlu menginstal apa pun. Jika Anda menggunakan Cloud Shell untuk pertama kalinya, masuk ke portal Microsoft Azure. Ikutilah langkah-langkah tersebut di mulai cepat Cloud Shell untuk Mulai Cloud Shell dan Pilih lingkungan Bash.
- Secara opsional, jalankan Azure CLI di komputer lokal Anda. Jika Azure CLI sudah diinstal, jalankan
az upgradeuntuk meningkatkan CLI dan ekstensi ke versi saat ini. Untuk menginstal Azure CLI, lihat Menginstal Azure CLI.
Perangkat keras
- MXCHIP AZ3166 IoT DevKit (MXCHIP DevKit)
- Wi-Fi 2,4 GHz
- Kabel USB 2.0 A male ke Micro USB male
Mempersiapkan lingkungan pengembangan
Untuk mengatur lingkungan pengembangan Anda, pertama-tama Anda mengkloning repositori GitHub yang berisi semua aset yang Anda butuhkan untuk tutorial. Lalu Anda pasang satu set alat pemrograman.
Mengkloning reka ulang
Buat klon repositori berikut untuk mengunduh semua sampel kode perangkat, skrip penyiapan, dan versi online dokumentasi. Jika sebelumnya Anda mengkloning repositori ini di tutorial lain, Anda tidak perlu melakukannya lagi.
Untuk membuat kloning repositori, jalankan perintah berikut:
git clone --recursive https://github.com/eclipse-threadx/getting-started.git
Pasang alat
Repositori kloning berisi skrip persiapan yang memasang dan mengonfigurasi alat yang diperlukan. Jika Anda menginstal alat-alat ini di tutorial perangkat tersemat lain, Anda tidak perlu melakukannya lagi.
Nota
Skrip persiapan memasang alat-alat berikut:
Cara memasang peralatan:
Navigasi ke jalur berikut di repositori dan jalankan skrip penyiapan bernama get-toolchain.bat:
getting-started\tools\get-toolchain.bat
Buka jendela konsol baru untuk mengenali perubahan konfigurasi yang dibuat oleh skrip penyiapan. Gunakan konsol ini untuk menyelesaikan tugas pemrograman yang tersisa dalam tutorial. Anda dapat menggunakan Windows CMD, PowerShell, atau Git Bash untuk Windows.
Jalankan kode berikut untuk mengonfirmasi bahwa CMake versi 3.14 atau lebih terbaru telah terpasang.
cmake --version
Membuat komponen cloud
Membuat hub IoT
Anda dapat menggunakan Azure CLI untuk membuat hub IoT yang menangani peristiwa dan pesan untuk perangkat Anda.
Membuat hub IoT:
Luncurkan aplikasi CLI Anda. Untuk menjalankan perintah CLI di bagian sisa panduan cepat ini, salin sintaks perintah, tempelkan ke aplikasi CLI Anda, edit nilai variabel, dan tekan Enter.
- Jika Anda menggunakan Cloud Shell, klik kanan tautan untuk Cloud Shell, dan pilih opsi untuk membuka di tab baru.
- Jika Anda menggunakan Azure CLI secara lokal, buka aplikasi konsol CLI Anda dan masuk ke Azure CLI.
Jalankan az extension add untuk memasang atau meningkatkan ekstensi azure-iot ke versi saat ini.
az extension add --upgrade --name azure-iotJalankan perintah az group create untuk membuat grup sumber daya. Perintah berikut membuat grup sumber daya bernama MyResourceGroup di wilayah centralus.
Nota
Anda dapat secara opsional menetapkan
locationalternatif. Untuk melihat lokasi yang tersedia, jalankan az account list-locations.az group create --name MyResourceGroup --location centralusJalankan perintah az iot hub create untuk membuat hub IoT. Mungkin perlu waktu beberapa menit untuk membuat hub IoT.
YourIotHubName. Ganti placeholder ini dalam kode dengan nama yang Anda pilih untuk hub IoT Anda. Nama hub IoT harus unik secara global di Azure. Placeholder ini digunakan untuk seluruh panduan memulai cepat ini untuk mewakili nama hub IoT unik Anda.
Parameter
--sku F1membuat hub IoT di tingkat Gratis. Hub tingkat gratis memiliki set fitur terbatas dan digunakan untuk aplikasi "proof of concept". Untuk informasi selengkapnya tentang tingkat, fitur, dan harga IoT Hub, lihat Harga Azure IoT Hub.az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName} --sku F1 --partition-count 2Setelah hub IoT dibuat, lihat output JSON di konsol, dan salin nilai
hostNameyang akan digunakan di langkah selanjutnya. NilaihostNameseperti contoh berikut ini:{Your IoT hub name}.azure-devices.net
Mengonfigurasi IoT Explorer
Di sisa panduan cepat ini, Anda menggunakan IoT Explorer untuk mendaftarkan perangkat ke IoT hub Anda, melihat properti perangkat serta telemetri, dan mengirim perintah ke perangkat Anda. Di bagian ini, Anda mengonfigurasi IoT Explorer untuk menyambungkan ke hub IoT yang Anda buat, dan untuk membaca model plug and play dari repositori model publik.
Untuk menambahkan koneksi ke hub IoT Anda:
Instal Azure IoT Explorer. Alat ini adalah utilitas lintas platform untuk memantau dan mengelola sumber daya Azure IoT.
Di aplikasi CLI Anda, jalankan perintah az iot hub connection-string show untuk mendapatkan string koneksi untuk hub IoT Anda.
az iot hub connection-string show --hub-name {YourIoTHubName}Salin string koneksi tanpa karakter kutipan di sekitarnya.
Di Azure IoT Explorer, pilih hub IoT di menu sebelah kiri.
Pilih + Tambahkan koneksi.
Tempelkan string koneksi ke dalam kotak String koneksi .
Pilih Simpan.
Jika koneksi berhasil, IoT Explorer beralih ke tampilan Perangkat .
Untuk menambahkan repositori model publik:
Di IoT Explorer, pilih Beranda untuk kembali ke tampilan beranda.
Di menu sebelah kiri, pilih Pengaturan IoT Plug and Play.
Konfirmasikan bahwa ada entri Repositori Publik dengan titik akhir
https://devicemodels.azure.com.Nota
Jika tidak ada entri repositori publik, pilih +Tambahkan, pilih Repositori publik dari menu drop-down, tentukan
https://devicemodels.azure.comnilai titik akhir, lalu pilih Simpan.Entri lengkap untuk repositori publik terlihat seperti cuplikan layar berikut:
Mendaftarkan perangkat
Di bagian ini, Anda membuat instans perangkat baru dan mendaftarkannya dengan hub IoT yang Anda buat. Anda menggunakan informasi koneksi untuk perangkat yang baru terdaftar untuk menyambungkan perangkat fisik Anda dengan aman di bagian selanjutnya.
Untuk mendaftarkan perangkat:
Dari tampilan beranda di IoT Explorer, pilih IoT hubs.
Koneksi yang sebelumnya Anda tambahkan akan muncul. Pilih Tampilkan perangkat di hub ini di bawah properti koneksi.
Pilih + Baru dan masukkan ID perangkat untuk perangkat Anda; misalnya,
mydevice. Biarkan semua properti lain sama.Pilih Buat.
Gunakan tombol salin untuk menyalin ID Perangkat dan Kunci Utama.
Sebelum melanjutkan ke bagian berikutnya, simpan setiap nilai berikut yang diambil dari langkah-langkah sebelumnya, ke lokasi yang aman. Anda menggunakan nilai-nilai ini di bagian berikutnya untuk mengonfigurasi perangkat Anda.
hostNamedeviceIdprimaryKey
Siapkan perangkat
Untuk menyambungkan MXCHIP DevKit ke Azure, Anda memodifikasi file konfigurasi untuk pengaturan Wi-Fi dan Azure IoT, membangun kembali gambar, dan mem-flash gambar ke perangkat.
Menambahkan konfigurasi
Buka file berikut dalam editor teks:
getting-started\MXChip\AZ3166\app\azure_config.h
Komentari baris berikut di dekat bagian atas file seperti yang diperlihatkan:
// #define ENABLE_DPSAtur konstanta Wi-Fi ke dalam nilai berikut dari lingkungan lokal Anda.
Nama konstanta Nilai WIFI_SSID{SSID Wi-Fi Anda} WIFI_PASSWORD{Kata sandi Wi-Fi Anda} WIFI_MODE{Salah satu nilai mode Wi-Fi yang dienumerasi di file} Atur konstanta informasi perangkat IoT Azure ke nilai yang Anda simpan setelah Anda membuat sumber daya Azure.
Nama konstanta Nilai IOT_HUB_HOSTNAME{Nilai nama host Anda} IOT_HUB_DEVICE_ID{Nilai ID Perangkat Anda} IOT_DEVICE_SAS_KEY{Nilai Kunci primer Anda} Simpan dan tutup file.
Membuat gambar
Di konsol atau di File Explorer, jalankan skrip rebuild.bat pada jalur berikut untuk membangun gambar:
getting-started\MXChip\AZ3166\tools\rebuild.bat
Setelah kompilasi selesai, konfirmasikan bahwa file biner dibuat pada jalur berikut:
getting-started\MXChip\AZ3166\build\app\mxchip_azure_iot.bin
Mem-flash gambar
Pada MXCHIP DevKit, temukan tombol Reset, dan port Micro USB. Gunakan komponen ini dalam langkah-langkah berikut. Keduanya disorot dalam gambar berikut:
Sambungkan kabel Micro USB ke port Micro USB pada MXCHIP DevKit, lalu sambungkan ke komputer Anda.
Di File Explorer, temukan file biner yang Anda buat di bagian sebelumnya.
Salin file biner mxchip_azure_iot.bin.
Di File Explorer, temukan perangkat MXCHIP DevKit yang terhubung ke komputer Anda. Perangkat muncul sebagai drive pada sistem Anda dengan label drive AZ3166.
Tempelkan file biner ke folder root MXCHIP Devkit. Flash dimulai secara otomatis dan selesai dalam beberapa detik.
Nota
Selama proses flashing, LED hijau beralih pada MXCHIP DevKit.
Mengonfirmasi detail sambungan perangkat
Anda dapat menggunakan aplikasi Termite untuk memantau komunikasi dan mengonfirmasi bahwa perangkat Anda telah disiapkan dengan benar.
Mulai Termite.
Petunjuk / Saran
Jika Anda tidak dapat menghubungkan Termite ke devkit Anda, pasangdriver ST-LINK dan coba lagi. Lihat Pemecahan masalah untuk langkah tambahan.
Pilih pengaturan.
Dalam dialog Pengaturan port serial, periksa pengaturan berikut serta perbarui jika diperlukan:
- Tingkat baud: 115.200
- Port: Port yang terhubung dengan MXCHIP DevKit Anda. Jika ada beberapa opsi port pada menu drop-down, Anda dapat memilih port yang sesuai untuk digunakan. Buka Windows Device Manager, dan lihat Port untuk mengidentifikasi port mana yang akan digunakan.
Pilih OK.
Tekan tombol Reset pada perangkat. Tombol diberi label pada perangkat dan terletak dekat konektor Micro USB.
Pada aplikasi Termite, periksa nilai titik pemeriksaan berikut untuk mengonfirmasi bahwa perangkat telah terinisialisasi dan tersambung ke Azure IoT.
Starting Azure thread Initializing WiFi MAC address: ****************** SUCCESS: WiFi initialized Connecting WiFi Connecting to SSID 'iot' Attempt 1... SUCCESS: WiFi connected Initializing DHCP IP address: 192.168.0.49 Mask: 255.255.255.0 Gateway: 192.168.0.1 SUCCESS: DHCP initialized Initializing DNS client DNS address: 192.168.0.1 SUCCESS: DNS client initialized Initializing SNTP time sync SNTP server 0.pool.ntp.org SNTP time update: Jan 4, 2023 22:57:32.658 UTC SUCCESS: SNTP initialized Initializing Azure IoT Hub client Hub hostname: ***.azure-devices.net Device id: mydevice Model id: dtmi:eclipsethreadx:devkit:gsgmxchip;2 SUCCESS: Connected to IoT Hub Receive properties: {"desired":{"$version":1},"reported":{"deviceInformation":{"__t":"c","manufacturer":"MXCHIP","model":"AZ3166","swVersion":"1.0.0","osName":"Eclipse ThreadX","processorArchitecture":"Arm Cortex M4","processorManufacturer":"STMicroelectronics","totalStorage":1024,"totalMemory":128},"ledState":false,"telemetryInterval":{"ac":200,"av":1,"value":10},"$version":4}} Sending property: $iothub/twin/PATCH/properties/reported/?$rid=3{"deviceInformation":{"__t":"c","manufacturer":"MXCHIP","model":"AZ3166","swVersion":"1.0.0","osName":"Eclipse ThreadX","processorArchitecture":"Arm Cortex M4","processorManufacturer":"STMicroelectronics","totalStorage":1024,"totalMemory":128}} Sending property: $iothub/twin/PATCH/properties/reported/?$rid=5{"ledState":false} Sending property: $iothub/twin/PATCH/properties/reported/?$rid=7{"telemetryInterval":{"ac":200,"av":1,"value":10}} Starting Main loop Telemetry message sent: {"humidity":31.01,"temperature":25.62,"pressure":927.3}. Telemetry message sent: {"magnetometerX":177,"magnetometerY":-36,"magnetometerZ":-346.5}. Telemetry message sent: {"accelerometerX":-22.5,"accelerometerY":0.54,"accelerometerZ":1049.01}. Telemetry message sent: {"gyroscopeX":0,"gyroscopeY":0,"gyroscopeZ":0}.
Biarkan Termite memonitor output perangkat dengan langkah-langkah berikut.
Melihat properti perangkat
Anda dapat menggunakan Azure IoT Explorer untuk melihat dan mengelola properti perangkat Anda. Di bagian ini dan bagian berikut, Anda menggunakan kemampuan Plug and Play yang muncul di IoT Explorer untuk mengelola dan berinteraksi dengan MXCHIP DevKit. Kemampuan ini bergantung pada model perangkat yang diterbitkan untuk MXCHIP DevKit di repositori model publik. Anda mengonfigurasi IoT Explorer untuk mencari repositori ini untuk model perangkat sebelumnya dalam tutorial ini. Anda dapat melakukan banyak tindakan tanpa menggunakan plug and play dengan memilih tindakan dari menu sisi kiri panel perangkat Anda di IoT Explorer. Namun, menggunakan plug and play sering memberikan pengalaman yang ditingkatkan. IoT Explorer dapat membaca model perangkat yang ditentukan oleh perangkat plug and play dan menyajikan informasi khusus untuk perangkat tersebut.
Untuk mengakses komponen IoT Plug and Play untuk perangkat di IoT Explorer:
Dari tampilan beranda di IoT Explorer, pilih hub IoT, lalu pilih Tampilkan perangkat di hub ini.
Silakan pilih perangkat Anda.
Pilihlah Komponen IoT Plug and Play.
Pilih Komponen default. IoT Explorer menampilkan komponen IoT Plug and Play yang diimplementasikan pada perangkat Anda.
Pada tab Antarmuka, lihat konten JSON di deskripsi model perangkat. JSON berisi detail konfigurasi untuk setiap komponen IoT Plug and Play dalam model perangkat.
Setiap tab di IoT Explorer sesuai dengan salah satu komponen IoT Plug and Play dalam model perangkat.
Tab Tipe Nama Deskripsi Interface Antarmuka MXCHIP Getting Started GuideContoh model untuk MXCHIP DevKit Sifat (hanya baca) Harta benda ledStateStatus LED saat ini Properti (bisa ditulis) Harta benda telemetryIntervalInterval pengiriman telemetri perangkat Perintah Perintah setLedStateMengaktifkan atau menonaktifkan LED
Untuk melihat properti perangkat menggunakan Azure IoT Explorer:
Pilih tab Properti (dapat ditulis). Ini menampilkan interval pengiriman telemetri.
Ubah ke
telemetryInterval5, lalu pilih Perbarui nilai yang diinginkan. Perangkat Anda sekarang menggunakan interval ini untuk mengirim telemetri.
IoT Explorer merespons dengan pemberitahuan. Anda juga dapat mengamati pembaruan di Termite.
Atur interval telemetri kembali ke 10.
Untuk menggunakan Azure CLI untuk melihat properti perangkat:
Jalankan perintah az iot hub device-twin show.
az iot hub device-twin show --device-id mydevice --hub-name {YourIoTHubName}Periksa properti untuk perangkat Anda di output konsol.
Lihat telemetri
Dengan Azure IoT Explorer, Anda dapat melihat alur telemetri dari perangkat Anda ke cloud. Secara opsional, Anda dapat melakukan tugas yang sama menggunakan Azure CLI.
Untuk melihat telemetri di Azure IoT Explorer:
Dari panel IoT Plug and Play components (Komponen Default) untuk perangkat Anda di IoT Explorer, pilih tab Telemetri. Pastikan bahwa Gunakan hub peristiwa bawaan diatur ke Ya.
Pilih Mulai.
Lihat telemetri saat perangkat mengirim pesan ke cloud.
Nota
Anda juga dapat memantau telemetri dari perangkat dengan menggunakan aplikasi Termite.
Pilih kotak centang Perlihatkan peristiwa bermodel untuk menampilkan peristiwa dalam format data yang ditentukan oleh model perangkat.
Pilih Hentikan untuk mengakhiri penerimaan peristiwa.
Untuk menggunakan Azure CLI untuk melihat telemetri perangkat:
Jalankan perintah az iot hub monitor-events. Gunakan nama yang Anda buat sebelumnya di Azure IoT untuk perangkat dan hub IoT Anda.
az iot hub monitor-events --device-id mydevice --hub-name {YourIoTHubName}Lihat output JSON di konsol.
{ "event": { "origin": "mydevice", "module": "", "interface": "dtmi:eclipsethreadx:devkit:gsgmxchip;1", "component": "", "payload": "{\"humidity\":41.21,\"temperature\":31.37,\"pressure\":1005.18}" } }Pilih CTRL+C untuk mengakhiri pemantauan.
Panggil metode langsung pada perangkat
Anda juga dapat menggunakan Azure IoT Explorer untuk memanggil metode langsung yang Anda terapkan di perangkat Anda. Metode langsung memiliki nama dan secara opsional dapat memiliki payload JSON, koneksi yang dapat dikonfigurasi, dan waktu habis metode. Di bagian ini, Anda memanggil metode yang mengaktifkan atau menonaktifkan LED. Secara opsional, Anda dapat melakukan tugas yang sama menggunakan Azure CLI.
Untuk memanggil metode di Azure IoT Explorer:
Dari panel Komponen Colok-dan-Main IoT (Komponen Default) untuk perangkat Anda di IoT Explorer, pilih tab Perintah.
Untuk perintah setLedState, atur status ke benar.
Pilih Kirim Perintah. Anda akan melihat pemberitahuan di IoT Explorer, dan lampu LED Pengguna kuning pada perangkat harus menyala.
Atur status menjadi false, lalu pilih Kirim perintah. LED Pengguna kuning harus dimatikan.
Secara opsional, Anda dapat memantau status metode dengan melihat output di Termite.
Untuk menggunakan Azure CLI untuk memanggil metode:
Jalankan perintah az iot hub invoke-device-method, dan tentukan nama metode dan payload. Untuk metode ini, atur
method-payloadmenjaditrueuntuk menyalakan LED, dan mengaturnyafalseuntuk mematikannya.az iot hub invoke-device-method --device-id mydevice --method-name setLedState --method-payload true --hub-name {YourIoTHubName}Konsol CLI menampilkan status panggilan metode Anda di perangkat, di mana
204menunjukkan keberhasilan.{ "payload": {}, "status": 200 }Periksa perangkat Anda untuk mengonfirmasi status LED.
Lihat terminal Termite untuk mengonfirmasi pesan output.
Receive direct method: setLedState Payload: true LED is turned ON Device twin property sent: {"ledState":true}
Memecahkan masalah dan memperbaiki kesalahan
Jika Anda mengalami masalah saat membangun kode perangkat, mem-flash perangkat, atau menyambungkan, lihat Pemecahan masalah.
Untuk debugging aplikasi, lihat Debugging dengan Visual Studio Code.
Membersihkan sumber daya
Jika Anda tidak lagi memerlukan sumber daya Azure yang dibuat dalam panduan memulai cepat ini, Anda bisa menggunakan Azure CLI untuk menghapus grup sumber daya beserta semua sumber daya di dalamnya.
Penting
Penghapusan grup sumber daya tidak bisa dipulihkan. Grup sumber daya dan semua sumber daya yang tercakup di dalamnya akan dihapus secara permanen. Pastikan Anda tidak salah menghapus grup sumber daya atau sumber daya secara tidak sengaja.
Untuk menghapus grup sumber daya berdasarkan nama:
Jalankan perintah az group delete. Perintah ini menghapus grup sumber daya, IoT Hub, dan pendaftaran perangkat yang Anda buat.
az group delete --name MyResourceGroupJalankan perintah az group list untuk mengonfirmasi bahwa grup sumber daya sudah dihapus.
az group list
Langkah berikutnya
Dalam tutorial ini, Anda membuat gambar kustom yang berisi kode sampel Eclipse ThreadX, lalu mem-flash gambar ke perangkat MXCHIP DevKit. Anda juga menggunakan Azure CLI dan/atau IoT Explorer untuk membuat sumber daya Azure, menghubungkan MXCHIP DevKit dengan aman ke Azure, melihat telemetri, dan mengirim pesan.
Sebagai langkah selanjutnya, jelajahi artikel berikut ini untuk mempelajari selengkapnya tentang opsi pengembangan yang disematkan.
Eclipse ThreadX menyediakan OEM dengan komponen untuk mengamankan komunikasi dan untuk membuat kode dan isolasi data menggunakan mekanisme perlindungan perangkat keras MCU/MPU yang mendasar. Namun, setiap OEM akan bertanggung jawab untuk memastikan bahwa perangkatnya memenuhi persyaratan keamanan yang terus berkembang.