• ホーム
  • ブログとニュース
  • 設計プロジェクト例
  • 顧問契約概要
  • お問い合わせ
  • …  
    • ホーム
    • ブログとニュース
    • 設計プロジェクト例
    • 顧問契約概要
    • お問い合わせ

     

    • ホーム
    • ブログとニュース
    • 設計プロジェクト例
    • 顧問契約概要
    • お問い合わせ
    • …  
      • ホーム
      • ブログとニュース
      • 設計プロジェクト例
      • 顧問契約概要
      • お問い合わせ

      BLEデバイスのUUIDデータ取得

      SmartWatchはBluetooth Low Energy (BLE) デバイスであるが、通信仕様として使っているサービス/キャラクタリスティック、UUID、送受信されるデータ形式などを、メーカーはその仕様を公開していないようである。使えるサービス/UUID の一覧などがデバイスへのペアリング/接続にてある程度得ることができないかを調査してみる。

      BLE は、通信の仕組みとして、ペアリングなどのためのGAP (Generic Access Profile)、サービスやキャラクタリスティックのデータ交換のためのGATT (Generic Attribute Profile)を使い、各サービスやキャラクタリスティックはUUIDで識別している。

      ①VSCode+CoPilotにてPythonアプリを設計して調査する。AI_agentへの指示は以下である。

      『デバイスに接続 してサービス一覧およびキャラクタリスティック一覧を確認し、どの UUID が通知 (Notify)、読み取り (Read)、書き込み (Write) 可能かをチェックする。そして該当の UUID に read / write を送って応答データ (バイト列) を解析するアプリ』

      ※ペアリング/接続して得られたUUIDの代表的な例

      UUID: 0000f032-0000-1000-8000-00805f9b34fb
      データ: bytearray(b'')

      UUID: 0000fec9-0000-1000-8000-00805f9b34fb
      データ: bytearray(b'-b\x06\xc5\x19O')

      UUID: 0000fea1-0000-1000-8000-00805f9b34fb
      データ: bytearray(b'\x01+\x12\x00')

      UUID: 0000fea2-0000-1000-8000-00805f9b34fb
      データ: bytearray(b'')

      ②更にAI_agentへ指示

      『各キャラクタリスティックに対して「Read」「Write」「Notify」を試し、返ってくるデータ(バイト列)を表示する』

      ※一例として得られたデータの98がSpO2の値と一致していることが分かった。

      UUID: 0000fec9-0000-1000-8000-00805f9b34fb

      データ: bytearray(b'-b\x06\xc5\x19O')

      16進: 2d6206c5194f

      数値リスト: [45, 98, 6, 197, 25, 79]

      前へ
      WM8960音声合成HATの実装
      次へ
       サイトへ戻る
      strikingly iconStrikinglyを搭載
      クッキーの使用
      ブラウジングエクスペリエンス、セキュリティ、データ収集を向上させるためにクッキーを使用します。 同意すると、広告と分析のための クッキーの使用に同意したことになります。 クッキーの設定はいつでも変更できます。 詳しく見る
      同意する
      設定
      すべて拒否する
      クッキー設定
      必要なクッキー
      こちらのクッキーは、セキュリティ、ネットワーク管理、アクセシビリティなどのコア機能を有効にします。こちらのクッキーをオフにすることはできません。
      アナリティクスクッキー
      こちらのクッキーは、訪問者がサイトをどのように操作しているかをよりよく理解し、エラーを発見するのに役立ちます。
      設定クッキー
      こちらのクッキーにより、サイトは、拡張機能とパーソナライズを提供するために行った選択を記憶することができます。
      保存