学生プロジェクトでは、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を使用してそのデバイスの値を変更するためのメッセージをデバイスに送信する方法はありますか、それとも不可能ですか?
興味のある特性を印刷できますか?サービスは "生きている"べきではありません。その特性には、その変更に対する購読可能性( 'setNotify :()')があるかもしれません。そして、多分モードを変更するために書き込むためのchar。 – Larme
App StoreのLightBlueアプリを使用して、周辺サービスと特性を調べることができます – Paulw11
@Larme返事をおかけして申し訳ありません。先月の途中でそれ以上のダイビングは、それが生きているという信号であることがわかりました。内部的には塩で暗号化されています。ビットのためにそれに働いた、私たちは次のようでした:すべての特性 ログインBluetoothトラフィックのとはこれまでのところそれを を分析するすべてのサービス 印刷を 印刷を、私たちは「における」まだないですが、我々はに取得していますそれが私たちにとって有用であることを指摘する。 – Veraduxxz