
Ubuntu 16.04 から Ubuntu Core 16 にスクリプトを移行しています。その過程で、Bluez 5.37 から Bluez snap で提供されるバージョン 5.44-2 にも移行しています。
Bluez snapでは、btmgmt
ツールはプリコンパイルされていません。私は次のようなコマンドでスクリプト化できる機能を利用していました。
rm -rf /var/lib/bluetooth/* >/dev/null 2>&1
btmgmt --index $hci ltks >/dev/null 2>&1
btmgmt --index $hci power off >/dev/null 2>&1
btmgmt --index $hci power on >/dev/null 2>&1
btmgmt --index $hci le on >/dev/null 2>&1
ここで、$hci は btle インターフェースです。
アクセスできる Bluez ツールのマニュアル ページを徹底的に調べても見つからない、現在スクリプト化可能な代替手段はありますか。それとも、btmgmt
ツールをコンパイルしてみる必要がありますか。もしそうなら、どのようにすればよいですか。
進捗状況アップデート 1:
私は新しいスナップの開発に使用することを意図したクラシックスナップで遊び始めました。独自のスナップチュートリアルを作成する. これにより、btmgmt ツールを含む apt-get install bluez を実行できるようになりました。現在の問題は、ボックス全体を再起動しないと hci0 の電源を入れ直すことができないため、スクリプトの目的が達成されないことです。また、電源が入っているときでも、目的の BT デバイスと正常にペアリングできません。
進捗状況アップデート2:
コマンドを使用してsudo snap revert bluez
ネイティブ スナップを 5.37 にロールバックできましたが、btmgmt またはそれをシステム上でコンパイルするためのソース コードがまだ見つかりません。