

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
<a name="afr-bridgekeeper-dt-bt"></a>

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
<a name="dt-bt-prereq"></a>
+ Ikuti petunjuk dalam [Tes pertama papan mikrokontroler Anda](qual-steps.md).
+ Raspberry Pi 4B atau 3B \$1. (Diperlukan untuk menjalankan aplikasi pendamping Raspberry Pi BLE)
+ Kartu micro SD dan adaptor kartu SD untuk perangkat lunak Raspberry Pi.

 

## Pengaturan Raspberry Pi
<a name="dt-bt-pi-setup"></a>

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

**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.
   + [Gambar untuk Raspberry Pi 4B](https://docs.aws.amazon.com/freertos/latest/userguide/freertos/IDTFR_BLE_RaspberryPi4B_1.0.0_2021-04-13.rpi-sd.img) 
   + [Gambar untuk Raspberry Pi 3B\$1](https://docs.aws.amazon.com/freertos/latest/userguide/freertos/IDTFR_BLE_RaspberryPi3Bplus_1.0.0_2021-04-13.rpi-sd.img) 
**catatan**  
Gambar Yocto hanya boleh digunakan untuk pengujian dengan AWS IoT Device Tester FreeRTOS dan bukan untuk tujuan lain.

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

   1. Menggunakan alat penulisan kartu SD seperti [Etcher](https://www.balena.io/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.

1. Konfigurasikan Raspberry Pi Anda.

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

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

   1. Masuk menggunakan kredensyal default. Untuk ID pengguna, masukkan**root**. Untuk kata sandi, masukkan**idtafr**.

   1. 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"
                 }
         ```

      1. Jalankan `ifup wlan0` untuk memulai koneksi Wi-Fi. Mungkin perlu satu menit untuk terhubung ke jaringan Wi-Fi Anda.

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

   1. (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 OpenSSL`ssh-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](https://www.ssh.com/ssh/#sec-Download-client-software).

      1. 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`.

      1. Ketika Anda diminta untuk frase kunci, cukup tekan ENTER untuk melanjutkan.

      1. 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`

      1. Saat diminta kata sandi, masukkan**idtafr**. Ini adalah kata sandi default untuk gambar yocto.
**catatan**  
`ssh-copy-id`Perintah mengasumsikan kunci publik diberi nama`id_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](https://www.ssh.com/ssh/copy-id).

      1. Untuk menguji apakah otentikasi kunci publik berfungsi, jalankan`ssh -i /my/path/myKey root@raspberry-pi-device-ip`.

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

      1. 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.

         1. Atur atribut `PasswordAuthentication` ke `no`.

         1. Simpan dan tutup file `sshd_config`.

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

   1. Buat `resource.json` file.

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

      1. 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"
                         }
                     }
                 ]
             }
         ]
         ```

      1. 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"
                 }
             }
         }
         ```

      1. (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
<a name="afr-device-setup"></a>

Dalam `device.json` file Anda, atur `BLE` fitur ke`Yes`. 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
<a name="running-ble-test"></a>

Setelah Anda mengaktifkan fitur BLE`device.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
<a name="troubleshooting-ble"></a>

Pastikan Anda telah mengikuti langkah-langkahnya[Tes pertama papan mikrokontroler Anda](qual-steps.md). Jika tes selain BLE gagal, maka masalahnya kemungkinan besar bukan karena konfigurasi Bluetooth.