翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Bluetooth Low Energy テストを実行する
このセクションでは、 AWS IoT Device Tester for FreeRTOS を使用して Bluetooth Low Energy テストをセットアップして実行する方法について説明します。
コア資格には Bluetooth テストの必要はありません。FreeRTOS Bluetooth サポートを使用してデバイスをテストしない場合はこのセットアップをスキップできますが、device.json の BLE 機能を No
に設定していることを確認してください。
前提条件
-
「マイクロコントローラーボードの最初のテスト」の手順に従います。
-
Raspberry Pi 4B または 3B+。(Raspberry Pi BLE コンパニオンアプリケーションを実行するために必要)
-
Raspberry Pi のソフトウェア用のマイクロ SD カードおよび SD カードアダプタ。
Raspberry Pi のセットアップ
テスト対象デバイス (DUT) の BLE 機能をテストするには、Raspberry Pi Model 4B または 3B+ を保有している必要があります。
BLE テストを実行するように Raspberry Pi をセットアップするには
-
テストの実行に必要なソフトウェアが含まれているカスタム Yocto イメージのいずれかをダウンロードします。
注記
Yocto イメージは AWS IoT Device Tester 、 for FreeRTOS でのテストにのみ使用し、他の目的では使用しないでください。
-
Raspberry Pi 用の SD カードに yocto イメージをフラッシュします。
-
Etcher
などの SD カード書き込みツールを使用して、ダウンロードした
ファイルを SD カードにフラッシュします。オペレーティングシステムイメージが大きいため、このステップに時間がかかることがあります。次に、SD カードをコンピュータから取り出し、microSD カードを Raspberry Pi に挿入します。image-name
.rpi-sd.img
-
-
Raspberry Pi を設定します。
-
最初の起動では、Raspberry Pi をモニター、キーボード、およびマウスに接続することをお勧めします。
-
Raspberry Pi をマイクロ USB 電源に接続します。
-
デフォルトの認証情報を使用してサインインします。ユーザー ID には
root
と入力します。パスワードにはidtafr
と入力します。 -
イーサネットまたは Wi-Fi 接続を使用して、Raspberry Pi をネットワークに接続します。
-
Wi-Fi 経由で Raspberry Pi を接続するには、Raspberry Pi 上で
/etc/wpa_supplicant.conf
を開き、Network
接続に Wi-Fi 接続を追加します。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
" } -
ifup wlan0
を実行して Wi-Fi 接続を開始します。Wi-Fi ネットワークに接続するには 1 分かかる場合があります。
-
-
イーサネット接続の場合は、
ifconfig eth0
を実行します。Wi-Fi 接続の場合は、ifconfig wlan0
を実行します。コマンドの出力にinet addr
として表示される IP アドレスを書き留めます。この手順の後半でこの IP アドレスが必要になります。 -
(オプション) このテストは、yocto イメージ用のデフォルトの認証情報を使用して SSH を介して Raspberry Pi 上でコマンドを実行します。より高度なセキュリティには、SSH にパブリックキー認証を設定し、パスワードベースの SSH を無効にすることが推奨されます。
-
OpenSSL
ssh-keygen
コマンドを使用して SSH キーを作成します。ホストコンピュータに SSK キーペアがすでにある場合は、 AWS IoT Device Tester FreeRTOS が Raspberry Pi にサインインできるように新しいキーペアを作成することをお勧めします。注記
Windows にはインストール済みの SSH クライアントがありません。Windows に SSH クライアントをインストールする方法については、「Windows に SSH ソフトウェアをダウンロードする
」を参照してください。 -
ssh-keygen
コマンドは、キーペアを保存する名前とパスの入力を求めます。デフォルトでは、キーペアファイルの名前はid_rsa
(プライベートキー) とid_rsa.pub
(パブリックキー) です。macOS および Linux の場合、これらのファイルのデフォルトの場所は~/.ssh/
です。Windows の場合、デフォルトの場所はC:\Users\
です。user-name
-
キーフレーズの入力を求められたら、単にエンターキーを押します。
-
AWS IoT Device Tester for FreeRTOS がデバイスにサインインできるように Raspberry Pi に SSH キーを追加するには、ホストコンピュータから
ssh-copy-id
コマンドを使用します。このコマンドは、Raspberry Pi の~/.ssh/authorized_keys
ファイルにパブリックキーを追加します。ssh-copy-id root@
raspberry-pi-ip-address
-
パスワードの入力を求められたら、「
idtafr
」と入力します。これは yocto イメージのデフォルトのパスワードです。注記
ssh-copy-id
コマンドが引き受けるパブリックキーの名前はid_rsa.pub
です。macOS および Linux では、デフォルトの場所は~/.ssh/
になります。Windows の場合、デフォルトの場所はC:\Users\
です。パブリックキーに別の名前や別の保存先を指定した場合は、user-name
\.sshssh-copy-id
で-i
オプションを使用し、SSH 公開鍵への完全修飾パス (ssh-copy-id -i ~/my/path/myKey.pub
など) を指定する必要があります。SSH キーの作成とパブリックキーのコピーの詳細については、「SSH-COPY-ID」を参照してください。 -
パブリックキー認証が動作していることをテストするには、
ssh -i
を実行します。/my/path/myKey
root@raspberry-pi-device-ip
パスワードの入力を求められない場合、パブリックキー認証が動作しています。
-
パブリックキーを使用して Raspberry Pi にサインインできることを確認したら、パスワードベースの SSH を無効にします。
-
Raspberry Pi で
/etc/ssh/sshd_config
ファイルを編集します。 -
PasswordAuthentication
属性をno
に設定します。 -
sshd_config
ファイルを保存して閉じます。 -
/etc/init.d/sshd reload
を実行して SSH サーバーを再ロードします。
-
-
-
resource.json
ファイルを作成します。-
AWS IoT Device Tester を抽出したディレクトリに、 という名前のファイルを作成します
resource.json
。 -
Raspberry Pi に関する次の情報をこのファイルに追加し、
rasp-pi-ip-address
を Raspberry Pi の IP アドレスで置き換えます。[ { "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
" } } ] } ] -
SSH にパブリックキー認証の使用を選択しなかった場合、
resource.json
ファイルのconnectivity
セクションに以下を追加します。"connectivity": { "protocol": "ssh", "ip": "
rasp-pi-ip-address
", "auth": { "method": "password", "credentials": { "user": "root", "password": "idtafr" } } } -
(オプション) SSH にパブリックキーの使用を選択した場合、
resource.json
ファイルのconnectivity
セクションに以下を追加します。"connectivity": { "protocol": "ssh", "ip": "
rasp-pi-ip-address
", "auth": { "method": "pki", "credentials": { "user": "root", "privKeyPath": "location-of-private-key
" } } }
-
-
FreeRTOS デバイスのセットアップ
device.json
ファイルで、BLE
機能を Yes
に設定します。Bluetooth テストが利用可能になる前に device.json
ファイルを開始した場合、BLE 用の機能を features
配列に追加する必要があります。
{ ... "features": [ { "name": "BLE", "value": "Yes" }, ... }
BLE テストを実行する
device.json
で BLE 機能を有効にすると、グループ ID を指定せずに devicetester_
を実行したときに BLE テストが実行されます。 [linux | mac |
win_x86-64]
run-suite
BLE テストを個別に実行する場合、次のように BLE の グループ ID を指定できます。devicetester_
。[linux | mac | win_x86-64]
run-suite
--userdata path-to-userdata
/userdata.json --group-id
FullBLE
より高い信頼性のあるパフォーマンスには、Raspberry Pi をテスト対象のデバイス (DUT) に近い位置に配置します。
BLE テストのトラブルシューティング
「マイクロコントローラーボードの最初のテスト」のステップを実行したことを確認します。BLE 以外のテストが失敗した場合、Bluetooth 設定がこの問題の原因である可能性はほとんどありません。