Bagikan melalui


Tutorial: Menyambungkan ESPRESSIF ESP32-Azure IoT Kit ke IoT Hub

Dalam tutorial ini, Anda menggunakan middleware Azure IoT untuk FreeRTOS untuk menyambungkan ESPRESSIF ESP32-Azure IoT Kit (mulai sekarang, ESP32 DevKit) ke Azure IoT.

Kemudian, selesaikan tugas-tugas berikut:

  • Memasang sekumpulan alat pengembangan yang disematkan untuk memprogram ESP32 DevKit
  • Buat gambar dan flash ke ESP32 DevKit
  • Menggunakan Azure CLI untuk membuat dan mengelola hub Azure IoT yang tersambung dengan ESP32 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
  • Git dengan tujuan mengkloning repositori
  • Perangkat keras
  • Langganan Azure aktif. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Mempersiapkan lingkungan pengembangan

Pasang alat-alat

Untuk menyiapkan lingkungan pengembangan Anda, pertama-tama Anda menginstal lingkungan build ESPRESSIF ESP-IDF. Alat penginstal mencakup semua alat yang diperlukan untuk mengkloning, membangun, mem-flash, dan memantau perangkat Anda.

Untuk menginstal alat ESP-IDF:

  1. Unduh dan luncurkan penginstal Offline ESP-IDF v5.0.
  2. Saat alat penginstal mencantumkan komponen untuk diinstal, pilih semua komponen dan selesaikan penginstalan.

Mengkloning reka ulang

Kloning repositori berikut untuk mengunduh semua contoh kode perangkat, skrip penyiapan, dan dokumentasi SDK. Jika sebelumnya Anda mengkloning repositori ini, Anda tidak perlu melakukannya lagi.

Untuk membuat kloning repositori, jalankan perintah berikut:

git clone --recursive  https://github.com/Azure-Samples/iot-middleware-freertos-samples.git

Untuk Windows 10 dan 11, pastikan jalur panjang diaktifkan.

  1. Untuk mengaktifkan jalur panjang, lihat Mengaktifkan jalur panjang di Windows 10.

  2. Di git, jalankan perintah berikut di terminal dengan izin administrator:

    git config --system core.longpaths true
    

Membuat komponen cloud

Membuat IoT Hub

Anda dapat menggunakan Azure CLI untuk membuat hub IoT yang menangani peristiwa dan pesan untuk perangkat Anda.

Membuat hub IoT:

  1. Luncurkan aplikasi CLI Anda. Untuk menjalankan perintah CLI di sisa mulai 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.
  2. Jalankan az extension add untuk memasang atau meningkatkan ekstensi azure-iot ke versi saat ini.

    az extension add --upgrade --name azure-iot
    
  3. Jalankan perintah az group create untuk membuat grup sumber daya. Perintah berikut membuat grup sumber daya bernama MyResourceGroup di wilayah centralus.

    Catatan

    Anda dapat secara opsional menetapkan location alternatif. Untuk melihat lokasi yang tersedia, jalankan az account list-locations.

    az group create --name MyResourceGroup --location centralus
    
  4. Jalankan perintah az iot hub create untuk membuat hub IoT. Mungkin perlu waktu beberapa menit untuk membuat hub IoT.

    YourIotHubName. Ganti tempat penampung ini dalam kode dengan nama yang Anda pilih untuk hub IoT Anda. Nama hub IoT harus unik secara global di Azure. Tempat penampung ini digunakan di sisa mulai cepat ini untuk mewakili nama hub IoT unik Anda.

    Parameter --sku F1 membuat hub IoT di tingkat Gratis. Hub tingkat gratis memiliki set fitur terbatas dan digunakan untuk bukti aplikasi konsep. 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 2
    
  5. Setelah hub IoT dibuat, lihat output JSON di konsol, dan salin nilai hostName yang akan digunakan di langkah selanjutnya. Nilai hostName seperti contoh berikut ini:

    {Your IoT hub name}.azure-devices.net

Mengonfigurasi Penjelajah IoT

Di sisa mulai cepat ini, Anda menggunakan IoT Explorer untuk mendaftarkan perangkat ke hub IoT Anda, untuk melihat properti perangkat dan telemetri, dan untuk 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:

  1. Instal Azure IoT Explorer. Alat ini adalah utilitas lintas platform untuk memantau dan mengelola sumber daya Azure IoT.

  2. 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}
    
  3. Salin string koneksi tanpa karakter kutipan di sekitarnya.

  4. Di Azure IoT Explorer, pilih hub IoT di menu sebelah kiri.

  5. Pilih + Tambahkan koneksi.

  6. Tempel string koneksi Anda dalam kotak String koneksi.

  7. Pilih Simpan.

Jika koneksi berhasil, IoT Explorer beralih ke tampilan Perangkat.

Untuk menambahkan repositori model publik:

  1. Di IoT Explorer, pilih Beranda untuk kembali ke tampilan beranda.

  2. Di menu sebelah kiri, pilih Pengaturan IoT Plug and Play.

  3. Konfirmasikan bahwa ada entri Repositori Publik yang ada dengan titik https://devicemodels.azure.comakhir .

    Catatan

    Jika tidak ada entri repositori publik, pilih +Tambahkan, pilih Repositori publik dari menu drop-down, tentukan https://devicemodels.azure.com nilai titik akhir, lalu pilih Simpan.

    Entri lengkap untuk repositori publik terlihat seperti cuplikan layar berikut:

    Cuplikan layar menambahkan repositori model publik di IoT Explorer.

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:

  1. Dari tampilan beranda di IoT Explorer, pilih hub IoT.

  2. Sambungan yang sebelumnya Anda tambahkan akan muncul. Pilih Lihat perangkat di hub ini di bawah properti koneksi.

  3. Pilih + Baru dan masukkan ID perangkat untuk perangkat Anda; misalnya, mydevice. Biarkan semua properti lainnya sama.

  4. Pilih Buat.

    Cuplikan layar identitas perangkat Azure IoT Explorer.

  5. Gunakan tombol salin untuk menyalin bidang ID Perangkat dan Kunci primer.

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.

  • hostName
  • deviceId
  • primaryKey

Siapkan perangkat

Untuk menyambungkan ESP32 DevKit ke Azure, Anda memodifikasi pengaturan konfigurasi, membangun gambar, dan mem-flash gambar ke perangkat.

Menyiapkan lingkungan

Untuk meluncurkan lingkungan ESP-IDF:

  1. Pilih Windows Start, temukan ESP-IDF 5.0 CMD, dan jalankan.

  2. Di ESP-IDF 5.0 CMD, navigasikan ke direktori iot-middleware-freertos-samples yang Anda kloning sebelumnya.

  3. Navigasi ke demo direktori proyek ESP32-Azure IoT Kit\projects\ESPRESSIF\aziotkit.

  4. Jalankan perintah berikut untuk meluncurkan menu konfigurasi:

    idf.py menuconfig
    

Menambahkan konfigurasi

Untuk menambahkan konfigurasi jaringan nirkabel:

  1. Di ESP-IDF 5.0 CMD, pilih middleware Azure IoT untuk ---> Konfigurasi Sampel FreeRTOS, dan tekan Enter.

  2. Atur setelan konfigurasi berikut menggunakan kredensial jaringan nirkabel lokal Anda.

    Pengaturan Nilai
    WiFi SSID {SSID Wi-Fi Anda}
    Kata Sandi WiFi {Kata sandi Wi-Fi Anda}
  3. Pilih Esc untuk kembali ke menu sebelumnya.

Untuk menambahkan konfigurasi agar tersambung ke Azure IoT Hub:

  1. Pilih middleware Azure IoT untuk Konfigurasi Tugas Utama FreeRTOS --->, dan tekan Enter.

  2. Atur pengaturan konfigurasi Azure IoT berikut ke nilai yang Anda simpan setelah Membuat sumber daya Azure.

    Pengaturan Nilai
    Azure IoT Hub FQDN {Nama host Anda}
    ID Perangkat Azure IoT {ID Perangkat Anda}
    Kunci Konten Perangkat Azure IoT {Kunci utama Anda}

    Catatan

    Dalam pengaturan Metode Autentikasi Azure IoT, konfirmasikan bahwa nilai default Kunci Konten dipilih.

  3. Pilih Esc untuk kembali ke menu sebelumnya.

Untuk menyimpan konfigurasi:

  1. Pilih Shift+S untuk membuka opsi simpan. Menu ini memungkinkan Anda menyimpan konfigurasi ke file bernama skconfig di direktori .\aziotkit saat ini.
  2. Pilih Enter untuk menyimpan konfigurasi.
  3. Pilih Enter untuk menutup pesan pengakuan.
  4. Pilih Q untuk keluar dari menu konfigurasi.

Membangun dan mem-flash gambar

Di bagian ini, Anda menggunakan alat ESP-IDF untuk membangun, mem-flash, dan memantau ESP32 DevKit saat terhubung ke Azure IoT.

Catatan

Di perintah berikut di bagian ini, gunakan jalur output build pendek di dekat direktori akar Anda. Tentukan jalur build setelah -B parameter di setiap perintah yang memerlukannya. Jalur singkat membantu menghindari masalah saat ini di alat ESPRESSIF ESP-IDF yang dapat menyebabkan kesalahan dengan nama jalur build panjang. Perintah berikut menggunakan jalur lokal C:\espbuild sebagai contoh.

Untuk membangun gambar:

  1. Di ESP-IDF 5.0 CMD, dari direktori iot-middleware-freertos-samples\demos\projects\ESPRESSIF\aziotkit, jalankan perintah berikut untuk membangun gambar.

    idf.py --no-ccache -B "C:\espbuild" build 
    
  2. Setelah build selesai, konfirmasikan bahwa file gambar biner dibuat di jalur build yang Anda tentukan sebelumnya.

    C:\espbuild\azure_iot_freertos_esp32.bin

Untuk mem-flash gambar:

  1. Pada ESP32 DevKit, temukan port Micro USB, yang disorot dalam gambar berikut:

    Foto papan ESP32-Azure IoT Kit.

  2. Sambungkan kabel Micro USB ke port Micro USB pada ESP32 DevKit, lalu sambungkan ke komputer Anda.

  3. Buka Windows Device Manager, dan lihat Port untuk mengetahui port COM mana yang terhubung dengan ESP32 DevKit.

    Cuplikan layar Pengelola Perangkat Windows yang menampilkan port COM untuk perangkat yang tersambung.

  4. Di ESP-IDF 5.0 CMD, jalankan perintah berikut, ganti< tempat penampung dan kurung port> Your-COM dengan port COM yang benar dari langkah sebelumnya. Misalnya, ganti tempat penampung dengan COM3.

    idf.py --no-ccache -B "C:\espbuild" -p <Your-COM-port> flash
    
  5. Konfirmasikan bahwa output selesai dengan teks berikut untuk lampu kilat yang berhasil:

    Hash of data verified
    
    Leaving...
    Hard resetting via RTS pin...
    Done
    

Untuk mengonfirmasi bahwa perangkat tersambung ke Azure IoT Central:

  1. Di ESP-IDF 5.0 CMD, jalankan perintah berikut untuk memulai alat pemantauan. Seperti yang Anda lakukan di perintah sebelumnya, ganti <tempat penampung port> Your-COM, dan tanda kurung dengan port COM yang tersambung dengan perangkat.

    idf.py -B "C:\espbuild" -p <Your-COM-port> monitor
    
  2. Periksa blok output berulang yang mirip dengan contoh berikut. Output ini mengonfirmasi bahwa perangkat terhubung ke Azure IoT dan mengirim telemetri.

    I (50807) AZ IOT: Successfully sent telemetry message
    I (50807) AZ IOT: Attempt to receive publish message from IoT Hub.
    
    I (51057) MQTT: Packet received. ReceivedBytes=2.
    I (51057) MQTT: Ack packet deserialized with result: MQTTSuccess.
    I (51057) MQTT: State record updated. New state=MQTTPublishDone.
    I (51067) AZ IOT: Puback received for packet id: 0x00000008
    I (53067) AZ IOT: Keeping Connection Idle...
    

Melihat properti perangkat

Anda dapat menggunakan Azure IoT Explorer untuk melihat dan mengelola properti perangkat Anda. Di bagian berikut, Anda menggunakan kemampuan Plug and Play yang terlihat di IoT Explorer untuk mengelola dan berinteraksi dengan ESP32 DevKit. Kemampuan ini mengandalkan model perangkat yang diterbitkan untuk ESP32 DevKit di repositori model publik. Anda mengonfigurasi IoT Explorer untuk mencari repositori ini untuk model perangkat sebelumnya dalam tutorial ini. Dalam banyak kasus, Anda dapat melakukan tindakan yang sama tanpa menggunakan plug and play dengan memilih opsi menu 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:

  1. Dari tampilan beranda di IoT Explorer, pilih hub IoT, lalu pilih Tampilkan perangkat di hub ini.

  2. Silakan pilih perangkat Anda.

  3. Pilih Komponen IoT Plug and Play.

  4. Pilih Komponen default. IoT Explorer menampilkan komponen IoT Plug and Play yang diimplementasikan pada perangkat Anda.

    Cuplikan layar komponen default perangkat di IoT Explorer.

  5. 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 Jenis Nama Deskripsi
    Interface Antarmuka Espressif ESP32 Azure IoT Kit Contoh model perangkat untuk ESP32 DevKit
    Properti (bisa ditulis) Properti telemetryFrequencySecs Interval pengiriman telemetri perangkat
    Perintah Perintah ToggleLed1 Mengaktifkan atau menonaktifkan LED
    Perintah Perintah ToggleLed2 Mengaktifkan atau menonaktifkan LED
    Perintah Perintah DisplayText Menampilkan teks terkirim pada layar perangkat

Untuk melihat dan mengedit properti perangkat menggunakan Azure IoT Explorer:

  1. Pilih tab Properti (bisa ditulis). Ini menampilkan interval bahwa telemetri dikirim.

  2. Ubah nilai menjadi telemetryFrequencySecs5, lalu pilih Perbarui nilai yang diinginkan. Perangkat Anda sekarang menggunakan interval ini untuk mengirim telemetri.

    Cuplikan layar pengaturan interval telemetri pada perangkat di IoT Explorer.

  3. IoT Explorer merespons dengan pemberitahuan.

Untuk menggunakan Azure CLI untuk melihat properti perangkat:

  1. Jalankan perintah az iot hub device-twin show .

    az iot hub device-twin show --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Periksa properti untuk perangkat Anda di output konsol.

Tip

Anda juga dapat menggunakan Azure IoT Explorer untuk melihat properti perangkat. Di navigasi kiri pilih Perangkat kembar.

Tampilkan 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 menampilkan telemetri di Azure IoT Explorer:

  1. Dari panel Komponen Colok-dan-Main IoT (Komponen Default) untuk perangkat Anda di IoT Explorer, pilih tab Telemetri. Konfirmasi bahwa Gunakan hub peristiwa bawaan diatur ke Ya.

  2. Pilih Mulai.

  3. Lihat telemetri saat perangkat mengirim pesan ke cloud.

    Cuplikan layar telemetri perangkat di IoT Explorer.

  4. Pilih kotak centang Perlihatkan peristiwa bermodel untuk menampilkan peristiwa dalam format data yang ditentukan oleh model perangkat.

    Cuplikan layar peristiwa telemetri yang dimodelkan di IoT Explorer.

  5. Pilih Berhenti untuk mengakhiri menerima acara.

Untuk menggunakan Azure CLI untuk melihat telemetri perangkat:

  1. Jalankan perintah monitor-peristiwa hub az iot. 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}
    
  2. Lihat output JSON di konsol.

    {
        "event": {
            "origin": "mydevice",
            "module": "",
            "interface": "dtmi:azureiot:devkit:freertos:Esp32AzureIotKit;1",
            "component": "",
            "payload": "{\"temperature\":28.6,\"humidity\":25.1,\"light\":116.66,\"pressure\":-33.69,\"altitude\":8764.9,\"magnetometerX\":1627,\"magnetometerY\":28373,\"magnetometerZ\":4232,\"pitch\":6,\"roll\":0,\"accelerometerX\":-1,\"accelerometerY\":0,\"accelerometerZ\":9}"
        }
    }
    
  3. 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:

  1. Dari panel Komponen Colok-dan-Main IoT (Komponen Default) untuk perangkat Anda di IoT Explorer, pilih tab Perintah.

  2. Untuk perintah ToggleLed1, pilih perintah Kirim. LED pada ESP32 DevKit menyala atau mati. Anda juga akan melihat pemberitahuan di IoT Explorer.

    Cuplikan layar memanggil metode di IoT Explorer.

  3. Untuk perintah DisplayText, masukkan beberapa teks di bidang konten.

  4. Pilih Perintah send. Teks ditampilkan di layar ESP32 DevKit.

Untuk menggunakan Azure CLI untuk memanggil metode:

  1. Jalankan perintah az iot hub invoke-device-method, dan tentukan nama metode dan payload. Untuk metode ini, pengaturan method-payload ke true berarti LED beralih ke kebalikan dari statusnya saat ini.

    az iot hub invoke-device-method --device-id mydevice --method-name ToggleLed2 --method-payload true --hub-name {YourIoTHubName}
    

    Konsol CLI menampilkan status panggilan metode Anda di perangkat, di mana 200 menunjukkan keberhasilan.

    {
      "payload": {},
      "status": 200
    } 
    
  2. Periksa perangkat Anda untuk mengonfirmasi status LED.

Memecahkan masalah serta debug

Jika Anda mengalami masalah saat membangun kode perangkat, mem-flash perangkat, atau menyambungkan, lihat Pemecahan masalah.

Untuk awakutu aplikasi, lihat Awakutu dengan Visual Studio Code.

Membersihkan sumber daya

Jika Anda tidak lagi memerlukan sumber daya Azure yang dibuat dalam mulai cepat ini, Anda bisa menggunakan Azure CLI untuk menghapus grup sumber daya dan semua sumber dayanya.

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:

  1. Jalankan perintah az group delete. Perintah ini akan menghapus grup sumber daya, IoT Hub, dan pendaftaran perangkat yang Anda buat.

    az group delete --name MyResourceGroup
    
  2. Jalankan 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 middleware Azure IoT untuk kode sampel FreeRTOS, lalu Anda mem-flash gambar ke perangkat ESP32 DevKit. Anda menghubungkan ESP32 DevKit ke Azure IoT Hub, dan melakukan tugas seperti melihat telemetri dan metode panggilan pada perangkat.

Sebagai langkah selanjutnya, jelajahi artikel berikut ini untuk mempelajari selengkapnya tentang opsi pengembangan yang disematkan.