samples/bluetooth/iso_connected_benchmark/README.html · samples/bluetooth/iso_connected_benchmark/README.rst 공식 원문 ↗

Zephyr 3.7.0 · Bluetooth · Connected ISO

Bluetooth Connected ISO Benchmark

CIG 기반 ISO 연결에서 packet loss와 sync loss를 양쪽 역할로 측정합니다.

Official pathsamples/bluetooth/iso_connected_benchmark/README.html
Source filesamples/bluetooth/iso_connected_benchmark/README.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

Central·Peripheral 역할, 단·양방향 channel과 전체·현재·최근 통계를 설명합니다.

Roles

Central · Peripheral

Group

CIG

Metrics

Packet · Sync loss

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 26BD226FE4BA748454EF9403D93D1D0F46B5FBBDF7965254D2409C919084E99B
.. _iso_connected_benchmark:

Bluetooth: Throughput
#####################

The ISO Connected Channels Benchmark sample measures and reports packet loss
and sync loss in connected ISO channels.


Overview
********

The sample transmits data between the *central* and the *peripheral*
and measures the quality of the ISO channels.

The application can be used as both a central and a peripheral, and the mode
can easily be changed.

Requirements
************

* BlueZ running on the host, or
* A board with Bluetooth Low Energy 5.2 support
* A Bluetooth Controller and board that supports setting
  CONFIG_BT_CTLR_CENTRAL_ISO=y
* A remote board running the same sample as the reversed role that supports
  setting CONFIG_BT_CTLR_PERIPHERAL_ISO=y

Building and running
********************

This sample can be found under
:zephyr_file:`samples/bluetooth/iso_connected_benchmark` in the Zephyr tree.

See :ref:`bluetooth samples section <bluetooth-samples>` for details.


Testing
=======

After programming the sample to both boards, test it by performing the following
steps:

1. Connect to both boards with a terminal emulator (for example, PuTTY or
   minicom).
#. Reset both boards.
#. In one of the terminal emulators, type "c" to start the application on the
   connected board in the central role.
#. In the other terminal emulator, type "p" to start the application in the
   peripheral role.
#. Optionally modify the central ISO settings using the console.
#. Observe that the central and the peripheral connects.
#. Observe the receive statistics on the devices (the connected ISO channels may
   by uni- or bidirectional).

Sample output
==============
The peripheral will output overall data (since boot),
current connection (since the CIG was connected) and latest 1000 received
packets::

  *** Booting Zephyr OS build zephyr-v2.5.0-4098-gdcaaee6db2f5  ***
   [00:00:00.392,333] <inf> iso_connected: Starting Bluetooth Throughput example
   [00:00:00.405,395] <inf> iso_connected: Bluetooth initialized
   Choose device role - type c (central role) or p (peripheral role), or q to quit: p
   Peripheral role
   [00:00:10.281,555] <inf> iso_connected: Registering ISO server
   [00:00:10.281,555] <inf> iso_connected: Starting advertising
   [00:00:10.282,684] <inf> iso_connected: Waiting for ACL connection
   [00:00:16.711,517] <inf> iso_connected: Connected: FA:4C:4B:DB:D3:89 (public)
   [00:00:16.711,669] <inf> iso_connected: Waiting for ISO connection
   [00:00:16.802,856] <inf> iso_connected: Incoming ISO request
   [00:00:16.802,856] <inf> iso_connected: Returning instance 0
   [00:00:17.016,845] <inf> iso_connected: ISO Channel 0x20002934 connected
   [00:00:17.769,439] <inf> iso_connected: Sending value 100
   [00:00:17.774,902] <inf> iso_connected: Overall     : Received 100/100 (100.00%) - Total packets lost 0
   [00:00:17.774,932] <inf> iso_connected: Current Conn: Received 100/100 (100.00%) - Total packets lost 0
   [00:00:17.774,963] <inf> iso_connected: Latest 1000 : Received 100/100 (100.00%) - Total packets lost 0
   [00:00:17.774,963] <inf> iso_connected:
   [00:00:18.529,510] <inf> iso_connected: Sending value 200
   [00:00:18.532,409] <inf> iso_connected: Overall     : Received 200/200 (100.00%) - Total packets lost 0
   [00:00:18.532,470] <inf> iso_connected: Current Conn: Received 200/200 (100.00%) - Total packets lost 0
   [00:00:18.532,501] <inf> iso_connected: Latest 1000 : Received 200/200 (100.00%) - Total packets lost 0


The central will ask if any changes to the current settings are wanted.
If y/Y is chosen, then it will create a prompt to changes the settings,
otherwise continue with the current settings. The central will then start
scanning for and connecting to a peer device running the sample as peripheral
role. Once connected, the central will output overall data (since boot),
current connection (since the CIG was connected) and latest 1000 received
packets::

   *** Booting Zephyr OS build zephyr-v2.5.0-4098-gdcaaee6db2f5  ***
   [00:00:00.459,869] <inf> iso_connected: Starting Bluetooth Throughput example
   [00:00:00.472,961] <inf> iso_connected: Bluetooth initialized
   Choose device role - type c (central role) or p (peripheral role), or q to quit: c
   Central role
   Change ISO settings (y/N)?
   [00:00:03.277,893] <inf> iso_connected: Scan started
   [00:00:03.277,893] <inf> iso_connected: Waiting for advertiser
   [00:00:03.899,963] <inf> iso_connected: Found peripheral with address F4:5A:12:BF:4F:2C (public) (RSSI -24)
   [00:00:03.900,024] <inf> iso_connected: Stopping scan
   [00:00:03.908,020] <inf> iso_connected: Scan stopped
   [00:00:03.908,020] <inf> iso_connected: Connecting
   [00:00:04.007,232] <inf> iso_connected: Connected: F4:5A:12:BF:4F:2C (public)
   [00:00:04.007,354] <inf> iso_connected: Binding ISO
   [00:00:04.007,812] <inf> iso_connected: Connecting ISO channels
   [00:00:04.312,744] <inf> iso_connected: ISO Channel 0x20002934 connected
   [00:00:05.065,368] <inf> iso_connected: Sending value 100
   [00:00:05.072,052] <inf> iso_connected: Overall     : Received 100/100 (100.00%) - Total packets lost 0
   [00:00:05.072,113] <inf> iso_connected: Current Conn: Received 100/100 (100.00%) - Total packets lost 0
   [00:00:05.072,143] <inf> iso_connected: Latest 1000 : Received 100/100 (100.00%) - Total packets lost 0
   [00:00:05.072,143] <inf> iso_connected:
   [00:00:05.825,439] <inf> iso_connected: Sending value 200
   [00:00:05.829,589] <inf> iso_connected: Overall     : Received 200/200 (100.00%) - Total packets lost 0
   [00:00:05.829,620] <inf> iso_connected: Current Conn: Received 200/200 (100.00%) - Total packets lost 0
   [00:00:05.829,650] <inf> iso_connected: Latest 1000 : Received 200/200 (100.00%) - Total packets lost 0

Part 3

한국어 전문 번역

ISO Connected Channels Benchmark sample은 connected ISO channel의 packet loss와 sync loss를 측정해 보고합니다.

개요

Central과 Peripheral 사이에서 data를 전송하고 ISO channel의 품질을 측정합니다.

같은 application을 Central과 Peripheral 양쪽 역할로 사용할 수 있으며, 실행 시 mode를 쉽게 바꿀 수 있습니다.

요구사항

  • Host에서 실행되는 BlueZ 또는
  • Bluetooth Low Energy 5.2를 지원하는 board
  • CONFIG_BT_CTLR_CENTRAL_ISO=y를 지원하는 Bluetooth Controller와 board
  • 반대 역할로 같은 sample을 실행하고 CONFIG_BT_CTLR_PERIPHERAL_ISO=y를 지원하는 원격 board

Build와 실행

이 sample은 Zephyr tree의 samples/bluetooth/iso_connected_benchmark에 있습니다. 자세한 공통 절차는 Bluetooth sample section을 참조하십시오.

시험 절차

두 board에 sample을 program한 뒤 다음 순서로 시험합니다.

  1. PuTTY나 minicom 같은 terminal emulator로 두 board에 각각 연결합니다.
  2. 두 board를 reset합니다.
  3. 한 terminal에서 c를 입력해 연결된 board를 Central 역할로 시작합니다.
  4. 다른 terminal에서 p를 입력해 Peripheral 역할로 시작합니다.
  5. 필요하면 console에서 Central ISO 설정을 수정합니다.
  6. Central과 Peripheral이 연결되는지 확인합니다.
  7. 각 device의 receive 통계를 확인합니다. Connected ISO channel은 단방향 또는 양방향일 수 있습니다.

Sample 출력

Peripheral은 boot 이후 전체 data, CIG 연결 이후 현재 connection, 가장 최근 1,000개 received packet 통계를 출력합니다.

*** Booting Zephyr OS build zephyr-v2.5.0-4098-gdcaaee6db2f5  ***
[00:00:00.392,333] <inf> iso_connected: Starting Bluetooth Throughput example
[00:00:00.405,395] <inf> iso_connected: Bluetooth initialized
Choose device role - type c (central role) or p (peripheral role), or q to quit: p
Peripheral role
[00:00:10.281,555] <inf> iso_connected: Registering ISO server
[00:00:10.281,555] <inf> iso_connected: Starting advertising
[00:00:10.282,684] <inf> iso_connected: Waiting for ACL connection
[00:00:16.711,517] <inf> iso_connected: Connected: FA:4C:4B:DB:D3:89 (public)
[00:00:16.711,669] <inf> iso_connected: Waiting for ISO connection
[00:00:16.802,856] <inf> iso_connected: Incoming ISO request
[00:00:16.802,856] <inf> iso_connected: Returning instance 0
[00:00:17.016,845] <inf> iso_connected: ISO Channel 0x20002934 connected
[00:00:17.769,439] <inf> iso_connected: Sending value 100
[00:00:17.774,902] <inf> iso_connected: Overall     : Received 100/100 (100.00%) - Total packets lost 0
[00:00:17.774,932] <inf> iso_connected: Current Conn: Received 100/100 (100.00%) - Total packets lost 0
[00:00:17.774,963] <inf> iso_connected: Latest 1000 : Received 100/100 (100.00%) - Total packets lost 0
[00:00:17.774,963] <inf> iso_connected:
[00:00:18.529,510] <inf> iso_connected: Sending value 200
[00:00:18.532,409] <inf> iso_connected: Overall     : Received 200/200 (100.00%) - Total packets lost 0
[00:00:18.532,470] <inf> iso_connected: Current Conn: Received 200/200 (100.00%) - Total packets lost 0
[00:00:18.532,501] <inf> iso_connected: Latest 1000 : Received 200/200 (100.00%) - Total packets lost 0

Central은 현재 설정을 바꿀지 묻습니다. y 또는 Y를 선택하면 설정 변경 prompt를 만들고, 그 외 입력이면 현재 설정을 유지합니다. 그 뒤 Peripheral 역할의 peer를 scan하고 연결합니다. 연결 후 boot 이후 전체 data, CIG 연결 이후 현재 connection, 가장 최근 1,000개 packet 통계를 출력합니다.

*** Booting Zephyr OS build zephyr-v2.5.0-4098-gdcaaee6db2f5  ***
[00:00:00.459,869] <inf> iso_connected: Starting Bluetooth Throughput example
[00:00:00.472,961] <inf> iso_connected: Bluetooth initialized
Choose device role - type c (central role) or p (peripheral role), or q to quit: c
Central role
Change ISO settings (y/N)?
[00:00:03.277,893] <inf> iso_connected: Scan started
[00:00:03.277,893] <inf> iso_connected: Waiting for advertiser
[00:00:03.899,963] <inf> iso_connected: Found peripheral with address F4:5A:12:BF:4F:2C (public) (RSSI -24)
[00:00:03.900,024] <inf> iso_connected: Stopping scan
[00:00:03.908,020] <inf> iso_connected: Scan stopped
[00:00:03.908,020] <inf> iso_connected: Connecting
[00:00:04.007,232] <inf> iso_connected: Connected: F4:5A:12:BF:4F:2C (public)
[00:00:04.007,354] <inf> iso_connected: Binding ISO
[00:00:04.007,812] <inf> iso_connected: Connecting ISO channels
[00:00:04.312,744] <inf> iso_connected: ISO Channel 0x20002934 connected
[00:00:05.065,368] <inf> iso_connected: Sending value 100
[00:00:05.072,052] <inf> iso_connected: Overall     : Received 100/100 (100.00%) - Total packets lost 0
[00:00:05.072,113] <inf> iso_connected: Current Conn: Received 100/100 (100.00%) - Total packets lost 0
[00:00:05.072,143] <inf> iso_connected: Latest 1000 : Received 100/100 (100.00%) - Total packets lost 0
[00:00:05.072,143] <inf> iso_connected:
[00:00:05.825,439] <inf> iso_connected: Sending value 200
[00:00:05.829,589] <inf> iso_connected: Overall     : Received 200/200 (100.00%) - Total packets lost 0
[00:00:05.829,620] <inf> iso_connected: Current Conn: Received 200/200 (100.00%) - Total packets lost 0
[00:00:05.829,650] <inf> iso_connected: Latest 1000 : Received 200/200 (100.00%) - Total packets lost 0

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.