tanaka779
2019年4月4日 18時05分
お世話になります。
X1のbluetoothにてBLEを利用したいと考えておりますが
上手く動作していません。
X1をデフォルトの状態で起動し、下記コマンドにてbluetooth関連のモジュールをインストールしました。
apt-get install bluetooth bluez libbluetooth-dev libudev-dev
hciconfigを実行した結果、下記のようになっておりtypeがPrimaryになっているのが気になっています。
hci0: Type: Primary Bus: USB BD Address: 44:C3:06:60:08:4D ACL MTU: 1022:8 SCO MTU: 183:5 UP RUNNING RX bytes:1860 acl:0 sco:0 events:113 errors:0 TX bytes:3576 acl:0 sco:0 commands:113 errors:0
https://users.atmark-techno.com/blog/750/2418
上記ページでは「Type: BR/EDR」となっているため、正しく認識できていないのではと考えております。
Typeを変更するための手順などご教授いただけないでしょうか。
コメント
tanaka779
早速のご回答ありがとうございます。
> # bluetoothctl
> [bluetooth]# scan on
>
> を実行しすると周辺のBluetoothデバイスのアドレスが表示されませでしょうか?
上記実行することで、周囲のデバイスのMACアドレスが表示されることは確認できました。
https://qiita.com/musubi05/items/78df2465ec3a5c334dfa
上記サイトに習いアドバタイズを行いたいのですが、うまくモバイル端末側のアプリで
データを認識できておりません。
at_koseki
2019年4月4日 19時06分
古関です。
# hcitool scan
# hcitool lescan
や
# bluetoothctl
[bluetooth]# scan on
を実行しすると周辺のBluetoothデバイスのアドレスが表示されませでしょうか?
> https://users.atmark-techno.com/blog/750/2418
> 上記ページでは「Type: BR/EDR」となっているため、正しく認識できていないのではと考えております。
これは、使っているbluezバージョン違いによる表示差のようですよ。
このパッチで修正されてます。
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=12cd2eda1…
----------------------------------------------
-#define HCI_BREDR 0x00
+#define HCI_PRIMARY 0x00
#define HCI_AMP 0x01
+#define HCI_BREDR HCI_PRIMARY
....
char *hci_typetostr(int type)
{
switch (type) {
- case HCI_BREDR:
- return "BR/EDR";
+ case HCI_PRIMARY:
+ return "Primary";
case HCI_AMP:
return "AMP";
default:
- return "UNKNOWN";
+ return "Unknown";
}
}
----------------------------------------------