Jalankan tes Bluetooth Low Energy - FreeRTOS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Jalankan tes Bluetooth Low Energy

Bagian ini menjelaskan cara mengatur dan menjalankan tes Bluetooth Low Energy menggunakan AWS IoT Device Tester FreeRTOS.

Tes Bluetooth tidak diperlukan untuk kualifikasi inti. Jika Anda tidak ingin menguji perangkat Anda dengan dukungan Bluetooth FreeRTOS, Anda dapat melewati pengaturan ini, pastikan untuk membiarkan fitur BLE di device.json disetel ke. No

Prasyarat

  • Ikuti petunjuk dalam Tes pertama papan mikrokontroler Anda.

  • Raspberry Pi 4B atau 3B +. (Diperlukan untuk menjalankan aplikasi pendamping Raspberry Pi BLE)

  • Kartu micro SD dan adaptor kartu SD untuk perangkat lunak Raspberry Pi.

 

Pengaturan Raspberry Pi

Untuk menguji kemampuan BLE perangkat yang diuji (DUT), Anda harus memiliki Raspberry Pi Model 4B atau 3B +.

Untuk mengatur Raspberry Pi Anda untuk menjalankan tes BLE
  1. Unduh salah satu gambar Yocto kustom yang berisi perangkat lunak yang diperlukan untuk melakukan tes.

    catatan

    Gambar Yocto hanya boleh digunakan untuk pengujian dengan AWS IoT Device Tester FreeRTOS dan bukan untuk tujuan lain.

  2. Flash gambar yocto ke kartu SD untuk Raspberry Pi.

    1. Menggunakan alat penulisan kartu SD seperti Etcher, flash image-name.rpi-sd.img file yang diunduh ke kartu SD. Karena citra sistem operasi berukuran besar, langkah ini mungkin memerlukan waktu. Kemudian keluarkan kartu SD Anda dari komputer Anda dan masukkan kartu microSD ke Raspberry Pi Anda.

  3. Konfigurasikan Raspberry Pi Anda.

    1. Untuk boot pertama, kami sarankan Anda menghubungkan Raspberry Pi ke monitor, keyboard, dan mouse.

    2. Hubungkan Raspberry Pi Anda ke sumber daya micro USB.

    3. Masuk menggunakan kredensyal default. Untuk ID pengguna, masukkanroot. Untuk kata sandi, masukkanidtafr.

    4. Menggunakan koneksi Ethernet atau Wi-Fi, sambungkan Raspberry Pi ke jaringan Anda.

      1. Untuk menghubungkan Raspberry Pi Anda melalui Wi-Fi, buka /etc/wpa_supplicant.conf di Raspberry Pi dan tambahkan kredensi Wi-Fi Anda ke konfigurasi. Network

        ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 update_config=1 network={ scan_ssid=1 ssid="your-wifi-ssid" psk="your-wifi-password" }
      2. Jalankan ifup wlan0 untuk memulai koneksi Wi-Fi. Mungkin perlu satu menit untuk terhubung ke jaringan Wi-Fi Anda.

    5. Untuk koneksi Ethernet, jalankanifconfig eth0. Untuk koneksi Wi-Fi, jalankanifconfig wlan0. Catat alamat IP, yang muncul seperti inet addr pada output perintah. Anda memerlukan alamat IP nanti dalam prosedur ini.

    6. (Opsional) Tes menjalankan perintah pada Raspberry Pi melalui SSH menggunakan kredensyal default untuk gambar yocto. Untuk keamanan tambahan, kami sarankan Anda mengatur otentikasi kunci publik untuk SSH dan menonaktifkan SSH berbasis kata sandi.

      1. Buat kunci SSH menggunakan perintah OpenSSLssh-keygen. Jika Anda sudah memiliki key pair SSK di komputer host Anda, itu adalah praktik terbaik untuk membuat yang baru AWS IoT Device Tester untuk memungkinkan FreeRTOS masuk ke Raspberry Pi Anda.

        catatan

        Windows tidak datang dengan klien SSH yang diinstal. Untuk informasi tentang cara menginstal klien SSH di Windows, lihat Mengunduh Perangkat Lunak SSH.

      2. Perintah ssh-keygen meminta Anda untuk memberikan nama dan path untuk menyimpan pasangan kunci tersebut. Secara default, file pasangan kunci diberi nama id_rsa (kunci privat) dan id_rsa.pub (kunci publik). Di macOS dan Linux, lokasi default file ini adalah ~/.ssh/. Di Windows, lokasi default untuk file ini adalah C:\Users\user-name.

      3. Ketika Anda diminta untuk frasa kunci, cukup tekan ENTER untuk melanjutkan.

      4. Untuk menambahkan kunci SSH Anda ke Raspberry Pi Anda sehingga AWS IoT Device Tester FreeRTOS dapat masuk ke perangkat, gunakan ssh-copy-id perintah dari komputer host Anda. Perintah ini menambahkan kunci publik Anda ke dalam ~/.ssh/authorized_keys file di Raspberry Pi Anda.

        ssh-copy-id root@raspberry-pi-ip-address

      5. Saat diminta kata sandi, masukkanidtafr. Ini adalah kata sandi default untuk gambar yocto.

        catatan

        ssh-copy-idPerintah mengasumsikan kunci publik diberi namaid_rsa.pub. Di macOS dan Linux, lokasi defaultnya adalah. ~/.ssh/ Di Windows, lokasi default untuk file ini adalah C:\Users\user-name\.ssh. Jika Anda memberikan kunci publik nama yang berbeda atau menyimpannya di lokasi yang berbeda, Anda harus menentukan path yang memenuhi syarat untuk kunci publik SSH Anda dengan menggunakan -i untuk ssh-copy-id (misalnya, ssh-copy-id -i ~/my/path/myKey.pub). Untuk informasi lebih lanjut tentang cara membuat kunci SSH dan menyalin kunci publik, lihat SSH-COPY-ID.

      6. Untuk menguji apakah otentikasi kunci publik berfungsi, jalankanssh -i /my/path/myKey root@raspberry-pi-device-ip.

        Jika Anda tidak diminta untuk kata sandi, otentikasi kunci publik Anda berfungsi.

      7. Verifikasi bahwa Anda dapat masuk ke Raspberry Pi Anda menggunakan kunci publik, lalu nonaktifkan SSH berbasis kata sandi.

        1. Pada Raspberry Pi, edit /etc/ssh/sshd_config file.

        2. Atur atribut PasswordAuthentication ke no.

        3. Simpan dan tutup file sshd_config.

        4. Muat ulang server SSH dengan menjalankan. /etc/init.d/sshd reload

    7. Buat resource.json file.

      1. Di direktori tempat Anda mengekstrak AWS IoT Device Tester, buat file bernama. resource.json

      2. Tambahkan informasi berikut tentang Raspberry Pi Anda ke file, ganti rasp-pi-ip-address dengan alamat IP Raspberry Pi Anda.

        [ { "id": "ble-test-raspberry-pi", "features": [ {"name":"ble", "version":"4.2"} ], "devices": [ { "id": "ble-test-raspberry-pi-1", "connectivity": { "protocol": "ssh", "ip": "rasp-pi-ip-address" } } ] } ]
      3. Jika Anda tidak memilih untuk menggunakan otentikasi kunci publik untuk SSH, tambahkan berikut ini ke connectivity bagian resource.json file.

        "connectivity": { "protocol": "ssh", "ip": "rasp-pi-ip-address", "auth": { "method": "password", "credentials": { "user": "root", "password": "idtafr" } } }
      4. (Opsional) Jika Anda memilih untuk menggunakan otentikasi kunci publik untuk SSH, tambahkan berikut ini ke connectivity bagian resource.json file.

        "connectivity": { "protocol": "ssh", "ip": "rasp-pi-ip-address", "auth": { "method": "pki", "credentials": { "user": "root", "privKeyPath": "location-of-private-key" } } }

Pengaturan perangkat FreeRTOS

Dalam device.json file Anda, atur BLE fitur keYes. Jika Anda memulai dengan device.json file dari sebelum tes Bluetooth tersedia, Anda perlu menambahkan fitur untuk BLE ke features array:

{ ... "features": [ { "name": "BLE", "value": "Yes" }, ... }

Jalankan tes BLE

Setelah Anda mengaktifkan fitur BLEdevice.json, pengujian BLE berjalan saat Anda menjalankan devicetester_[linux | mac | win_x86-64] run-suite tanpa menentukan id grup.

Jika Anda ingin menjalankan tes BLE secara terpisah, Anda dapat menentukan ID grup untuk BLE:devicetester_[linux | mac | win_x86-64] run-suite --userdata path-to-userdata/userdata.json --group-id FullBLE.

Untuk kinerja yang paling andal, letakkan Raspberry Pi Anda di dekat perangkat yang sedang diuji (DUT).

Memecahkan masalah tes BLE

Pastikan Anda telah mengikuti langkah-langkahnyaTes pertama papan mikrokontroler Anda. Jika tes selain BLE gagal, maka masalahnya kemungkinan besar bukan karena konfigurasi Bluetooth.