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

     

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

      GAT_BLEクライアントアプリの設計

      GAT_BLEクライアントアプリを設計する。このクライアントは特定デバイス名でGAT_BLEサーバの検出と接続を行い、特定サービスUUID(GAT_serviceの0x1822)の Characteristic(SpO2とPulse)を指定周期で読み取るアプリである。

      GAT_BLEデバイスが アドバタイズ を出して存在を知らせ、Central(Client)が Peripheral(server)へ接続し、接続後にClient が GATT を使ってデータを読みこむあるいは通知を受ける通信することになる。

      GATT(汎用アトリビュートプロファイル) は、Bluetooth Low Energy(BLE)デバイス間のデータ交換を定義するプロファイル(仕組み)で共通ルールである。

      < GATT サービス構造例 >

      Service 1

      - Characteristic A

      - Characteristic B

      ※GATT(Generic Attribute Profile) でよく使われるサービス UUID のひとつ0x1822 は、Bluetooth SIG(標準団体)で定義された 16bit UUID のサービスで、「Pulse Oximeter Service(脈拍・血中酸素測定サービス)」を表す。

      UUID:00001822-0000-1000-8000-00805F9B34FB

      ※0x1822のServiceの中に含まれるデータ要素として定義されているCharacteristicは、PLX Continuous Measurement Characteristic(UUID 0x2A5F)であり、継続的(Continuous)な血中酸素濃度(SpO₂)や心拍数等の測定値を送信するための値で、リアルタイム・ストリーミング型の計測データを提供するために用いられている。

      UUID:00002A5F-0000-1000-8000-00805F9B34FB

      ※0x2A5F の値は以下のような 可変長の構造体(variable length structure) で、最初の Flags(フラグ)フィールド によって 後続フィールドの存在有無 が決まる。

      [ Flags (uint8) ]

      [ SpO2PR-Normal Field ]

      [ (optional) SpO2PR-Fast Field ]

      [ (optional) SpO2PR-Slow Field ]

      [ (optional) Measurement Status Field ]

      [ (optional) Device and Sensor Status Field ]

      [ (optional) Pulse Amplitude Index Field ]

      Flags を最初に読み、フラグの各bitでどのフィールドが含まれるか判断し、各値を順次読み進めることになる。設計したGAT_BLEクライアントアプリでは、[ SpO2PR-Normal Field ](正常モードの測定値を含む基礎フィールド)内の血中酸素飽和度(SpO₂)と脈拍(Pulse Rate)の測定値を読み込んでいる。SpO₂ や Pulse は SFLOAT(IEEE 11073)形式 などでエンコードされており、 16bit の float 形式の変換処理(Little Endian, SFLOAT → 数値へ変換)が必要となる。

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