問題タブ [ios-bluetooth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
10041 参照

bluetooth - パブリッシュされた GATT プロファイルのない BLE デバイスからのデータの解釈

サードパーティとして、GATT プロファイル仕様が公開されていない Bluetooth Low Energy デバイスからのデータを正しく解釈する実行可能な方法はありますか?

BLE デバイスは、体重、BMI、体脂肪、水分補給レベルをサポートする体重計です。私の理解では、たとえば血圧デバイスや心拍数モニター ( https://developer.bluetooth.org/gatt/profiles/Pages/ProfilesHome.aspx ) のように、体重計に採用された GATT プロファイルはありません。

次のツールを使用します。

  • iPod (iOS 6.1.3) と各種 BLE ユーティリティ アプリ (Ti BLE Multitool、LightBlue、および BLE Utility)
  • Android (4.3) タブレット (Dell Venue 8 3830) と nRF マスター コントロール パネル、および Xamarin で開発されたカスタム ソリューション

体重計で利用可能な GATT サービスをスキャン、検索、接続、読み取ることができます。上記のツールはすべて、同じサービス情報を提供してくれます。スケールで検出された 5 つのサービスがあります。

  • 汎用アクセス (0x1800)
  • 汎用属性 (0x1801)
  • デバイス情報 (0x180A)
  • バッテリーサービス (0x180F)
  • カスタム 128 ビット UUID を持つ不明なサービス

上記のツールはすべて、バッテリー情報やデバイス名の取得など、既知のサービスから読み取ることができます。私の推測では、カスタム UUID を持つ不明なサービスは、スケール データを提供するサービスです。

このサービスには、カスタム UUID に関する 5 つの不明な特性があります。

  • 特性 1 は読み取り/書き込み
  • 特性 2 が読み取られる
  • 特性 3 は読み取り/書き込み
  • 特徴4はNotify
  • 特性 5 が読み取られる

上で指定したツールを使用して特性 1、2、および 3 から読み取ると、それぞれが独自の値を返しますが、その値は決して変わりません。たとえば、特性 1 を読み取ると、常に 20 オクテット 0x01-0x05-0x06-0x07-0x08 と 15 0x00 オクテットの値が返されます。特性 1 の後続の読み取りでは、常にその値が返されます。特性 2 読み取りは、常に 20 オクテット 0x02 および 19 オクテット 0x00 オクテットの値を返します。等々。

特性 5 を読み取ると、値が返されないか、より一般的には Android でペアリング リクエストが発行されるようです。一般的なペアリング コード (0000 や 1234 など) は有効ではありません。

特性 4 は、実際にスケール データを送信しているように見えます。上記のツールを使用して通知を有効にすると、アプリケーションは 13 オクテットを取得します。例えば:

  • FF-16-09-00-03-04-01-00-83-6F-F4-18-0F
  • FF-16-09-00-03-04-01-00-3E-88-F4-18-E3
  • FF-16-09-00-03-04-01-00-C8-89-F4-18-6E

明らかに、これらの値はすべて同じオクテットのセットで始まります。ただし、主な問題は、これらのオクテットが何を表しているのか、実際にそうである場合、体重/bmi/水分補給/体脂肪値にどのように変換されるのかということです.

このスケールは、Ti CC2541 チップ ( http://www.ti.com/product/cc2541 ) を使用して構築されています。

Ti の SmartRF Protocol Packet Sniffer と CC2540 USB 評価モジュール キットを併用すると、iPhone 5S (iOS 7.1) と体重計の間を行き来するパケットをキャプチャできます。これにより、いくつかの追加の洞察が得られましたが、ほとんどの場合、他のツールを使用して既に観察したことを示していますが、それは低レベルではあります. パケット スニファーによって提供される追加情報は、依然として同じ疑問につながります: 体重計が送信しているこれらのオクテットのセットは何を表し、どのように体重/bmi/etc に変換されるのでしょうか? Bluetooth コア仕様のドキュメントを利用して、標準機能のオクテットが何を意味するのかを理解するのに役立ちましたが、実際のスケール データを理解するのには役立ちません。

私は Bluetooth の開発に非常に慣れていないため、この演習は基本的にテクノロジの短期集中コースになりました。どんな助けでも大歓迎です。

ありがとう。

0 投票する
1 に答える
203 参照

ios - Roximity iBeacon で「エラー: ビーコンのレンジングを開始できませんでした」というエラーが表示される

Roximity からいくつかの iBeacon デバイスを購入し、それらをセットアップして、送信された通知を受信するサンプル アプリケーションを作成しようとしています。また、 https://github.com/roximity/ROXIMITYSDKStarterKit-iOSにある Github のサンプル アプリケーションを使用してテストしました。

アプリを実行すると、次のログ メッセージだけが表示されます。

2014-04-28 08:49:15.817 RoximityMyApp[5172:60b] ROXIMITY SDK バージョン: 1.1.51 2014-04-28 08:49:16.726 RoximityMyApp[5172:60b] エラー: ビーコンの測距を開始できませんでした 2014-04- 28 08:49:16.814 RoximityMyApp[5172:60b] エラー: ビーコンのレンジングを開始できませんでした 2014-04-28 08:49:16.827 RoximityMyApp[5172:60b] エラー: ビーコンのレンジングを開始できませんでした 2014-04-28 08:49 :16.830 RoximityMyApp[5172:60b] エラー: ビーコンの測距を開始できませんでした

0 投票する
2 に答える
4081 参照

objective-c - iOS Bluetoothヘッドセットとそのイベントを検出する方法

「Bluetooth ヘッドセット」を発見してそのイベントを取得しようとしています。「CoreBluetooth」のドキュメントを読み、以下のサンプルコードを実装しました。デリゲート メソッド ' ' を起動しませんdidDiscoverPeripheral

これに対する解決策はありますか?

コード:

0 投票する
0 に答える
623 参照

bluetooth - 接続できない BLE センサーからデータを読み取りますか?

私は BLE 温度計を持っていて、付属の監視アプリケーション (Android と iOS の両方で利用可能) としてデータを記録したいのですが、限られた時間だけ画面にデータを表示するだけです。 .

Android(Android 4.4のNexus5を持っています)とiOS 7.1 iPadの両方ですべてのBLEアプリを試しましたが、デバイスを発見した人もいましたが、センサーが0を返すのにすべてがセンサーに接続しようとするため、データを表示できませんでしたのためにkCBAdvDataIsConnectable

これは可能ですか?独自のアプリがそれを行うためであるに違いありませんが、私は BLE にあまり慣れていないため、何かが不足している可能性があります。App/Play ストアのどのアプリにも、接続せずにデバイスが送信するものを「聞く」機能がないことに驚きました。しかし、繰り返しになりますが、私はBLEにあまり詳しくありません。

いくつかの指針をいただければ幸いです。

0 投票する
2 に答える
726 参照

ios - iOS - Bluetooth デバイスが切断されたときに自動的に呼び出されるデリゲート メソッドまたは通知

私はiOSでBLEデバイスに取り組んでいます。これらのデバイスは、Range で Bluetooth デバイスのリストを検索して接続すると、正常に動作します。

その間に、何らかの範囲またはその他の理由により、デバイスが切断されることがあります。ここで、デバイスが切断されたというメッセージをユーザーに表示する通知を取得したいので、ユーザーは再び接続できます。

接続または切断、またはこれを達成する方法を確認するために使用できるデリゲート メソッドはありますか。助けていただければ幸いです。

0 投票する
0 に答える
338 参照

ios - アプリで a2dp を介して Bluetooth 対応スピーカーに音楽を再生するにはどうすればよいですか?

アプリにあるオーディオを Bluetooth 対応のスピーカー デバイスで再生したいと考えています。iOSのコアBluetoothライブラリを使用してどのように行うことができますか。どんな助けでも大歓迎です。ありがとう!