BlueZスタック(最新バージョン、5.39)を使用して、Linux上のCでANCSクライアントを実装しようとしています。これまでのところ、Apple が提供するサービス要請 UUID で BLE アドバタイズ データを設定できます。
私のデバイスは iPhone (iOS 9) の設定に表示されます。デバイスにも接続できますが、接続は非常に不安定です。つまり、しばらくすると、iPhone の Bluetooth 設定サブメニューを閉じると常に接続が終了します。また、結合していません。切断後、デバイスはiPhoneの「私のデバイス」の下に表示されません。
hcidump を見てみると、どうやら ATT データの束を読み取ってから停止したようです。
ここで正しくフォーマットされていないため、Pastebin リンク
接続が終了すると、ペーストビンの下部が出力されます。
さて、私の質問は、iOS デバイスから通知を受信する ANCS クライアントを作成するための次のステップは何でしょうか? BLE と ANCS に関する無数の記事とサンプル コードを読みましたが、まだわかりません。
iPhone からの接続を受け入れるには、C コードで L2CAP ソケットを開く必要がありますか? 私はすでにそれを試しましたが、うまくいきませんでした。iPhoneも接続中にgatttoolで接続しようとしましたが、「リソースまたはデバイスがビジー状態です」と表示されました。
次に何をすべきかについて、正しい方向へのいくつかの指針に非常に感謝しています。