中国のXiaomi(シャオミ)は、Bluetooth Low Energy(BLE)で通信する機器を何台も組み合わせた試験を、実機を使わずにLinuxのPC上で再現できるソフトウェア「BSWorld」を、GitHubでオープンソース(Apache License 2.0)として公開している。リポジトリは2026年10月12日に作られた。同社による報道発表は出ていない。
READMEによると、BLE機器を何台もつないで動きを確かめるには、複数の開発ボードやゲートウェイを用意し、配線し、ファームウェアを書き込み、電源を入れ直す手間がかかる。機材が足りなければ、試験を同時に回せない。OSの処理の遅れや周囲の電波の影響で、たまにしか起きない不具合は再現しにくい。BSWorldは、何度も繰り返す試験や長時間の試験を、実機の代わりにPC上で回すためのものだ。出荷前の確認には引き続き実機が欠かせないと、READMEは書いている。
BLE機器は、製品の動作を決めるアプリケーション、通信の手順を処理するホスト、無線の送受信を受け持つコントローラーの3層で動く。ホストとコントローラーは、HCIという標準の接続方式でつながる。BSWorldは、アプリケーションとホストには製品と同じソフトウェアをそのまま使い、コントローラーだけをPC上のプログラムに置き換える。置き換えたコントローラーは、決まった応答を返すだけの模擬品と違い、接続の手順から電波の送受信までを処理する。電波の伝わり方は、オープンソースの無線シミュレーター「BabbleSim」で計算する。
BSWorldは、試験中の時間の進め方も独自に管理する。BLEの通信には「150マイクロ秒の間隔を空ける」といった細かい決まりがあり、各プロセスがPCの時計に従って動くと、Linuxの処理の遅れでこの間隔が伸びてパケットの順番や衝突の起き方が変わってしまう。そこでBSWorldは、試験に参加するすべてのプロセスを共通の仮想の時計で動かし、計算にかかった実際の時間を仮想の時計に含めない。PCの負荷が高くても、150マイクロ秒の間隔は変わらない。24時間のタイムアウトを確かめる試験でも、実際に24時間待つ必要はない。READMEによると、代表的な試験は実時間の約80倍の速さで進む。
同社は、組み込み向けOSのZephyrやNuttX、Linuxに標準で載っているBlueZなど複数のホストを使い、接続相手を探す信号(アドバタイズ)の送受信や接続、メッシュネットワークへの参加設定などの動作を試験で確かめたとしている。利用者は、電波の弱まりや干渉、Wi-Fiの電波、録音しておいた信号を試験の条件に加えられる。BSWorldを動かすにはPython 3.12以降が必要だ。同社は、あらかじめビルドしたコントローラーなどをリポジトリのリリースページで配布している。