2017-09-27 15 views
0

学生プロジェクトでは、Bluetooth LEデバイス(送信と受信の両方)をiPhoneまたはiPadに接続して、そこからデータを読み取り、ユーザーに表示しますリアルタイムで。私たちは、これがデバイスを作った会社によって実行可能であるという証拠を持っており、実際に接続していくつかのデータを取得することができました。しかし、5〜10秒ごとにpingを行い、最小限の変更で数字のランダムなサブセット私たちを賢くしていないデバイス上の何かを変更した後。'Activate' Bluetooth LE Energy Dataストリーム

今はデバイスとアプリを最初に作った会社に行ってきましたが、私たちはハードウェアの使用を承認していますが、SDK/APIを使用することができませんでしたアプリケーション。だから、私たちの計画は、それを通して私たち自身の道を作り、必要なものを見つけることです。

これは私たちが悩んでいるところです。我々は、次があります。

  • 接続名またはBluetoothデバイスアドレスに基づいて(CoreBluetoothのドキュメントで指定されたサービスは、その中のサービスを持っている場合やカスケードスキャン)
  • スキャンサービス
  • は述べてからの特性を読みますサービス。
  • 値を8bit UIntに復号化するので、実際に読み取り可能なデータが得られます。

このは、それが入って来て、我々はまだ値を持っているものの一例である。

Service: 0x1c0476440, is Primary = yes. UUID: 058d0001-ca72-4c8b-8084-25e049936b31 
value <53636da1 7a616c74 73616c74 73616c74 73616c27> 

さて、このすべてを見て、私はここで、サービスが滞在」のいくつかの種類であると推定します生きている 'pingとそれはデバイスの現在の状態に関するいくつかの補助情報を与えています。

私たちが持っている疑問は、これに沸く:

どのように我々はさらに、デバイスを「探索」することができますか?いずれかの16進数の値を持つ

{058d0001-ca72-4c8b-8084-25e049936b31}[6] 

:私たちは、しかし、我々は、この(例)のように見えるヒットのカップルをウィンドウズからデバイスマネージャで見てこれとは別に、追加の出力を取得していないようです値、ブール値または日時。 Swiftを使用してそのデバイスの値を変更するためのメッセージをデバイスに送信する方法はありますか、それとも不可能ですか?

+0

興味のある特性を印刷できますか?サービスは "生きている"べきではありません。その特性には、その変更に対する購読可能性( 'setNotify :()')があるかもしれません。そして、多分モードを変更するために書き込むためのchar。 – Larme

+0

App StoreのLightBlueアプリを使用して、周辺サービスと特性を調べることができます – Paulw11

+0

@Larme返事をおかけして申し訳ありません。先月の途中でそれ以上のダイビングは、それが生きているという信号であることがわかりました。内部的には塩で暗号化されています。ビットのためにそれに働いた、私たちは次のようでした:すべての特性 ログインBluetoothトラフィックのとはこれまでのところそれを を分析するすべてのサービス 印刷を 印刷を、私たちは「における」まだないですが、我々はに取得していますそれが私たちにとって有用であることを指摘する。 – Veraduxxz

答えて

0

解決済みですが、私はこれを答えとして受け入れていません。私の解決策?試してみてください。愚かな 'ヘイベールの針'のもの。

Iは058d000 -ca72-4c8b-8084-25e049936b31

と出来上がりに058d0001-ca72-4c8b-8084-25e049936b31からUUIDを変更。私はもっ​​とやることができる。私は3、新しい結果と作業データストリームを試しました...

@ Paulw11のコメントは、この問題を解決する良い方法です。

関連する問題