Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

bluetoothの研究 その2

More than 1 year has passed since last update.

概要

bluetoothを理解したかった。

bluezとは。

Linux 2.4.6から正式採用となった。 Bluetooth プロトコルスタックです。

bluez utilsとは。

対話的に使う方法は bluetoothctl コマンドで、プログラム的には bluetoothd の提供する DBus API を使う。

廃止されたツール 代わりとなるツール
gatttool btgatt-client
hciattach btattach
hciconfig btmgmt (と bluetoothctl)
hcidump btmon (と btsnoop)
hcitool 存在しません。D-Bus Device API から利用できます。
rfcomm 存在しません。D-Bus Profile1 API で実装できます。
sdptool 存在しません。複数の D-Bus オブジェクトに機能が分散されています

dbusとは。

D-Bus は1台のコンピュータ上で動作する複数のプログラムの間で情報を交換するシステム(IPC: Inter Process Communication)です。
IPCとは、パイプ、名前付きパイプ、シグナル、共有メモリ、Unix ソケット、ループバックソケット等です。
D-Bus もリンク層は Unix ソケットで動作していますが、手順とフォーマット(プレゼンテーション層)が既定されていることが「生の」Unix ソケットとは異なります。

bluetoothctlコマンド

  • list : ローカルコントローラのリスト表示
  • show : コントローラの状態表示
  • power on : コントローラ起動
  • power off : コントローラ停止
  • scan on : デバイス検索モード
  • devices : デバイス表示
  • pair (dev) : ペアリング
  • trust (dev) : デバイスを信用する。自動接続に登録
  • paired-devices : ペアリング済デバイス表示
  • connect (dev) : 接続
  • info (dev) : デバイスの状態
  • select (ctrl) : コントローラ (ローカルの BT) 選択
  • discoverable (on/off) : on で発見可能にする
  • agent (on/off/capability) : リモートデバイスからペアリングを行う時使う。
  • default-agent : リモートデバイスからペアリングを行う時使う。
  • pairable (on/off) : ペア機能の ON/OFF
  • remove (dev) : ペアリングの削除
  • disconnect (dev) : デバイス切断
  • exit : 終了

以上。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away