智能手表藍牙 GATT 通訊協議文檔

以下是一份適用于智能手表的 藍牙 GATT 通訊協議文檔,適用于 BLE 5.0 及以上標準,兼容 iOS / Android 平臺:


在這里插入圖片描述

智能手表藍牙 GATT 通訊協議文檔

文檔版本:V1.0
編寫日期:2025年xx月xx日
產品型號:Aurora Watch S1
適用芯片:EFR32BG22 / nRF52 / TLSR 系列等


一、協議概述

本通訊協議定義了 Aurora Watch S1 與手機 App 之間基于 Bluetooth Low Energy (BLE) 的 GATT 通訊結構,支持基礎配置、實時同步、通知推送、健康數據同步等功能。

  • 協議基礎:GATT Profile(Generic Attribute Profile)
  • 連接方式:Peripheral 模式(手表) ←→ Central 模式(手機)
  • MTU Size:默認 247 bytes(支持擴展)
  • 安全模式:BLE Secure Connections(支持綁定、加密)

二、GATT Profile 總覽

Service 名稱UUID(128-bit)用途說明
設備信息服務0x180A固件版本、廠商信息等
通用通訊服務(主服務)0000FFF0-0000-1000-8000-00805F9B34FB所有 App 與手表數據傳輸
時間同步服務00001805-0000-1000-8000-00805F9B34FB時間校準
心率服務0x180D實時/歷史心率同步
電池服務0x180F電池電量讀取

三、通用通訊服務定義(UUID: FFF0)

用于 App 與手表之間自定義雙向數據傳輸,使用 Notify + Write Without Response 組合。

3.1 特征定義

特征名稱UUID屬性最大長度描述
下行控制FFF1Write Without Response247 bytesApp → 手表命令寫入
上行通知FFF2Notify247 bytes手表 → App 數據上報
OTA升級通道FFF3Write/Notify247 bytes固件升級數據通道

四、協議數據結構

所有 FFF0 服務使用統一協議幀結構,格式如下:

| Byte 0   | Byte 1~2 | Byte 3 ~ N       |
|----------|----------|------------------|
| CMD_ID   | Length   | Payload Data     |
  • CMD_ID:1 Byte,命令類型(詳見下表)
  • Length:2 Bytes,小端,Payload 長度
  • Payload:具體數據內容,變長

4.1 常用命令定義

CMD_ID方向功能說明Payload 示例
0x01App→手表請求設備信息
0x02手表→App返回設備信息{"sn":"S1A001", "ver":"1.0.5"}
0x10App→手表設置時間時間戳 (4 bytes, UNIX格式)
0x11手表→App返回時間確認同步后時間戳
0x20App→手表發送通知內容UTF-8 字符串(如來電、短信)
0x21手表→App用戶點擊操作反饋{“type”:“sms”,“action”:“read”}
0x30手表→App上傳心率數據時間戳 + 心率值序列
0x40App→手表OTA升級初始化固件版本+大小校驗碼等
0x41App→手表OTA數據包固件片段(最大240字節)
0x42手表→AppOTA結果回執{“result”:“success”}

五、連接與綁定流程

  1. App 掃描廣播(含設備名稱 AuroraS1 + MAC 后綴)
  2. 連接后讀取 Device Info(Model/Ver)
  3. App 啟動綁定流程(隨機綁定碼或 BLE pairing)
  4. 加密通道建立后允許所有功能訪問

六、注意事項

  • OTA升級階段需獨占 FFF0 服務,不可并發其他命令
  • 所有時間同步應以 UTC 格式傳輸,避免時區混亂
  • 通訊應基于 ACK 超時重試機制(最多3次)
  • 建議使用 JSON 作為 Payload 格式,便于解析與擴展
  • 特征 Notify 應開啟 CCCD 才能收到數據

七、版本控制記錄

版本號日期修改說明
V1.02025-05-10初版發布,定義基礎命令、數據結構

喜歡的盆友點贊加收藏,關注不迷路

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80886.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80886.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80886.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux PCI 驅動開發指南

注:本文為 “Linux PCI Drivers” 相關文章合輯。 英文引文,機翻未校。 中文引文,略作重排。 如有內容異常,請看原文。 How To Write Linux PCI Drivers 翻譯: 司延騰 Yanteng Si siyantengloongson.cn 1. 如何寫 Linux PCI 驅動 …

Python 接入DeepSeek

不知不覺DeepSeek已經火了半年左右,沖浪都趕不上時代了。 今天開始學習。 本文旨在使用Python調用DeepSeek的接口( 這里寫目錄標題 一、環境準備1.1 DeepSeek1.2 Python 二、接入DeepSeek2.1 參數2.2 requests2.3 openai2.4 返回示例 一、環境準備 1.1…

Java 集合與 MyBatis 動態 SQL 實戰教程

一、Java 集合的創建與用法 在 Java 中&#xff0c;List、HashSet 和數組是常用的集合類型&#xff0c;以下是它們的創建與基本操作&#xff1a; 1. List 列表 創建方式&#xff1a; List<Integer> list new ArrayList<>(Arrays.asList(1, 2, 3)); // 可變列…

無人機避障——(運動規劃部分)深藍學院動力學kinodynamic A* 3D算法理論解讀(附C++代碼)

開源代碼鏈接&#xff1a;GitHub - Perishell/motion-planning 效果展示&#xff1a; ROS 節點展示全局規劃和軌跡生成部分&#xff1a; Kinodynamic A*代碼主體&#xff1a; int KinoAstar::search(Eigen::Vector3d start_pt, Eigen::Vector3d start_vel,Eigen::Vector3d en…

Transformer Decoder-Only 算力FLOPs估計

FLOPs和FLOPS的區別 FLOPs &#xff08;Floating Point Operations&#xff09;是指模型或算法執行過程中總的浮點運算次數&#xff0c;單位是“次”FLOPS &#xff08;Floating Point Operations Per Second&#xff09;是指硬件設備&#xff08;如 GPU 或 CPU&#xff09;每…

掌握MySQL數據庫操作:從創建到管理全攻略

1.庫的操作 1.1庫的查看 show databases; 這句語法形式是查看服務器已經存在的數據庫 注意要加分號————&#xff1b; 1.databeses是復數形式 2.大小寫都可以 前提&#xff08;數據庫已經創建或查看服務器自帶的數據庫&#xff09; 也可以查看指定的數據庫 show cre…

服務器綜合實驗(實戰詳解)

實驗內容 環境拓撲結構 主機環境描述 主機名主機地址需要提供的服務content.exam.com172.25.250.101提供基于httpd/nginx的YUM倉庫服務ntp.exam.com172.25.250.102提供基于Chronyd的NTP服務mysql.exam.com172.25.250.103提供基于MYSQL的數據庫服務nfs.exam.com172.25.250.104…

CentOS 7 修改鎖屏時間為永不

在 CentOS 7 中&#xff0c;默認情況下&#xff0c;系統會在一定時間不活動后自動鎖屏。對于某些用戶來說&#xff0c;可能希望禁用自動鎖屏功能或者將鎖屏時間設置為“永不”。本文將介紹如何通過圖形界面和命令行兩種方式修改 CentOS 7 的鎖屏時間&#xff0c;確保系統永不自…

MySQL 日期計算方法 date_sub()、date_add()、datediff() 詳解-文中有示例幫助理解

1、date_sub()、date_add() date_sub() 和date_add() 語法相同&#xff0c;只不過一個加一個減。 從日期中減去指定時間間隔 語法&#xff1a; DATE_SUB(start_date, INTERVAL expr unit) start_date: 起始日期&#xff08;如 now() , 字段名&#xff09;。 INTERVAL expr…

寶塔基于亞馬遜云服務器安裝mysql5.7失敗問題記錄

安裝日志如下&#xff1a; --2025-05-14 15:25:15-- https://na1-node.bt.cn/install/1/mysql.sh Resolving na1-node.bt.cn (na1-node.bt.cn)... 128.1.164.196 Connecting to na1-node.bt.cn (na1-node.bt.cn)|128.1.164.196|:443... connected. HTTP request sent, awaitin…

LLaMA-Factory 微調 Qwen2-7B-Instruct

一、系統環境 使用的 autoDL 算力平臺 1、下載基座模型 pip install -U huggingface_hub export HF_ENDPOINThttps://hf-mirror.com # &#xff08;可選&#xff09;配置 hf 國內鏡像站huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat -…

Redis三種高可用模式的使用場景及特點的詳細介紹

Redis三種高可用模式的使用場景及特點的詳細介紹&#xff0c;結合不同業務需求提供選擇建議&#xff1a; 主從模式&#xff08;Replication&#xff09; 核心能力&#xff1a;數據冗余備份、讀寫分離 適用場景&#xff1a; 讀多寫少&#xff1a;例如內容發布平臺、新聞網站等…

通俗易懂版知識點:Keepalived + LVS + Web + NFS 高可用集群到底是干什么的?

實驗開始前&#xff0c;先搞懂為什么要部署該集群&#xff1f; 這個方案的目標是讓網站 永不宕機&#xff0c;即使某臺服務器掛了&#xff0c;用戶也感覺不到。它主要涉及 負載均衡&#xff08;LVS&#xff09; 高可用&#xff08;Keepalived&#xff09; 共享存儲&#xff…

Qt中解決UI線程阻塞導致彈窗無法顯示的兩種方法

在Qt應用程序開發中,我們經常會遇到這樣的問題:當執行一個耗時操作時,整個界面會卡住,無法響應任何用戶操作,甚至連一個簡單的提示彈窗都無法正常顯示。本文將介紹兩種解決這個問題的方法,并通過完整的代碼示例進行說明。 問題描述 先來看一個常見的錯誤示例: #inclu…

2025年中國DevOps工具選型指南:主流平臺能力橫向對比

在數字化轉型縱深發展的2025年&#xff0c;中國企業的DevOps工具選型呈現多元化態勢。本文從技術架構、合規適配、生態整合三個維度&#xff0c;對Gitee、阿里云效&#xff08;云效DevOps&#xff09;、GitLab CE&#xff08;中國版&#xff09;三大主流平臺進行客觀對比分析&a…

isp流程介紹(yuv格式階段)

一、前言介紹 前面兩章里面&#xff0c;已經分別講解了在Raw和Rgb域里面&#xff0c;ISP的相關算法流程&#xff0c;從前面文章里面可以看到&#xff0c;在Raw和Rgb域里面&#xff0c;很多ISP算法操作&#xff0c;更像是屬于sensor矯正或者說sensor標定操作。本質上來說&#x…

虛幻引擎5-Unreal Engine筆記之UE編輯器退出時的保存彈框

虛幻引擎5-Unreal Engine筆記之UE編輯器退出時的保存彈框 code review! 文章目錄 虛幻引擎5-Unreal Engine筆記之UE編輯器退出時的保存彈框1. 退出編輯器時彈出的“Save Content”窗口2. File 菜單中的保存選項3. 區別總結 1. 退出編輯器時彈出的“Save Content”窗口 退出時…

如何判斷IP是否被平臺標記

一、基礎檢測&#xff1a;連通性與黑名單篩查 網絡連通性測試 Ping與Traceroute&#xff1a;通過命令測試延遲和路由路徑&#xff0c;若延遲>50ms或存在異常節點&#xff08;如某跳延遲>200ms&#xff09;&#xff0c;可能影響可用性。示例命令&#xff1a; bash ping 8.…

零Gas授權實戰:用線下簽名玩轉智能合約 Permit 機制

目錄 鏈下簽名背景什么是 Permit ?鏈下簽名應用場景Permit 原理簡述實戰:從合約到前端完整實現安全注意事項總結鏈下簽名背景 在以太坊智能合約開發中,很多初學者經常面臨這樣一個問題:ERC20 代幣授權必須先調用鏈上合約的 approve(),再調用鏈上合約的 transferFrom(),每…

React 簡介:核心概念、組件化架構與聲明式編程

本文為《React Agent&#xff1a;從零開始構建 AI 智能體》專欄系列文章。 專欄地址&#xff1a;https://blog.csdn.net/suiyingy/category_12933485.html。項目地址&#xff1a;https://gitee.com/fgai/react-agent&#xff08;含完整代碼示?例與實戰源&#xff09;。完整介紹…