低レベルのBluetoothユーティリティ


16

LinuxのBluetoothユーティリティとは、デバイスのペアリングとペアリング解除、デバイスからのメッセージの表示、デバイスへのメッセージの送信(ファイルシステムを使用して行うことが望ましい!)、使用可能なフラグの設定を可能にするものですか?

アプリケーションを念頭に置いて、10個の小さなBluetoothキーボードを持ち、各キーボードの各キーをマッピングしてMIDIメッセージを送信したいだけです(明らかに、MIDI部分はこのOPの一部ではありません)。


よかった、ありがとう。しかし、私はobex ftpの代わりにobex pushを使用してファイルを送信したいと思います。方法はありますか?

回答:


21

以下は、デバイスと対話するために使用できるBluetoothを扱ういくつかのツールのリストです。

hciconfig

hciconfig

  • あなたのPC上のBluetooth HCIに関する情報を提供します
  • デバイスが稼働中であり、必要なスキャンモードがあることを確認します
  • 実行hcitool devすると、この情報の一部も提供されるはずです。

hcitool

hcitool inq そして hcitool scan

  • 近くのBluetoothデバイスに関する情報を提供するか、むしろ特定します

hcitool info <BTAddr>

  • リモートBluetoothデバイスに関する情報を取得する

l2ping

l2ping <BTAddr>

  • リモートBluetoothデバイスと通信できるかどうかを確認する1つの方法

sdptool

sdptool browse <BTAddr> or sdptool records <BTAddr>

  • リモートBluetoothデバイスによって提供されるサービスに関する情報を提供します

obexftp

obexftp –nopath –noconn –uuid none –bluetooth <BTAddr> –channel <OPUSHChann elNo> –put <FileToPut>

  • リモートデバイス側のピンを指定せずにファイルを送信できます
  • デバイスのOPushチャネル番号は、上記のsdptoolから取得されます

obexftp -b <BTAddr> -v -p <FileToPut>

  • 指定されたBTデバイスにファイルを置くことができます
  • obexftpは、BTデバイス上のファイルを取得または一覧表示するためにも使用できます。
  • また、-bオプションを指定するだけで、近くのBTデバイスを識別できます。

パスキーエージェント

passkey-agent –default <Pin>

  • ここで指定されるピンは、リモートBTデバイスが提供する必要があるもの、または要求時にユーザーがそのデバイスに入力するものです。

明らかに

obexpushd

  • Bluetoothデバイスから送信されたファイルを受信できるようにします。
  • 誰が開始したかに応じて、受信したファイルは対応するホームディレクトリに保存されます。

ペアリング

このサイトの指示に従って、コマンドラインを介してデバイスをLinuxボックスとペアリングできます。aritcleのタイトルは次のとおりです。Linuxのコマンドラインからbluetoothデバイスをペアリングする方法

  1. BluetoothデバイスのMACアドレスを見つける

    $ hcitool scan
    
    Scanning ...
        11:22:33:44:55:66   device 1
        12:34:56:78:90:12   device 2
    
  2. bluetooth-agentをセットアップして、予期されるペアリングコードを渡す

    $ bluetooth-agent 0000 &
    
  3. rfcomm configファイルを編集し、その中に/etc/bluetooth/rfcomm.conf上記のMACアドレスを入れます。

    rfcomm0 {
      # Automatically bind the device at startup
      bind no;
      # Bluetooth address of the device
      device 11:22:33:44:55:66;
      # RFCOMM channel for the connection
      channel 3;
      # Description of the connection
      comment "This is Device 1's serial port.";
    }
    

    注:起動時にバインドしないようにデバイスを構成する場合(バインドなし;)、シリアルポートを使用する前にこのコマンドを使用してrfcommを手動でスピンアップする必要があります(これにはルート権限も必要です)。

    $ sudo rfcomm connect rfcomm0
    

参照資料

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.