BC5-MM、CSR867x的DFU更新流程之八:Gaia的理解与使用

Gaia的理解与使用

在OTA 升级中,其通过Gaia进行数据传送;本文将讨论Gaia的相关问题点;

问题点1:Gaia是什么?

Gaia 是CSR 制定的一个上层使用协议,其在BR/EDR 基于RFCOMM,可以理解为一个特别UUID的SPP;

Gaia 的UUID是00001107-D102-11E1-9B23-00025B00A5A5;

SPP 的UUID是00001101-0000-1000-8000-00805F9B34FB;

Gaia 其自定义了相关command,可以实现特定功能,如问询电池电量、版本号等;同时其也用于OTA中进行数据传送(但不解析数据)

问题点2:Gaia的实现方式;

在经典蓝牙(BR/EDR)中,GAIA 分为RFCOMM and SPP两种方式,一般用在Android

Gaia 也可以通过BLE 使用,具体体现在IOS中;

 问题点3:Gaia 走SPP 和RFCOMM的区别;

Gaia 走frcomm,直接注册UUID“00001107-D102-11E1-9B23-00025B00A5A5”;
而如果走SPP,其注册标准SPP UUID“00001101-0000-1000-8000-00805F9B34FB”,即其真的在使用SPP进行通讯,但数据格式基于Gaia定义;

问题点4:Gaia的数据格式及command定义(V3之前的数据格式)

讨论到Gaia的数据格式, 有一点非常重要的是:gaia data format的分水岭是V3

V3之前的格式,要注意BR/EDR 和BLE下的gaia 格式差异:

  

这里的“Length”表示实际playload长度,如果为0即表示没有playload;
“Check ”栏位实际就是“checksum”;
Gaia 的command 需要有ACK 回复表示其收到有效数据,其体现在Command ID 的最高位设置为1;同时playload 的第1个byte 通常表示状态值;

 

问题点5: Gaia V3格式定义;

 数据格式最大的变化在于“Common ID”栏位V3之前,“Common ID”栏位独立表示一个command ,而在V3,其使用bit组合形式形成3部分;

Feature ID: Feature-specific unique identifier
PDU Type
 Command: 00
 Notification: 01
 Response: 10
 Error: 11
PDU Specific ID: Feature-specific command ID. These are only unique within the Feature 

需注意V3中Flags bit1 位设置为1 的为Length栏位延伸的功能;

V3中明确了手机端和Device 端的command 差异,同时强调了PDU type的执行方向;

 

问题点6:Gaia的单次packet最大发送size;

BLE 时最大为20Byte;BR/EDR时最大为254Byte。

问题点7:Gaia的packet中,数据大于8bit时的大小端定义;

在文档《BC-211724》中提到:
“Numeric fields longer than 8 bits are packed with the most
significant octet first. Textual strings are encoded using UTF-8.”
即高8位在前,即大端模式

 

问题点8: Gaia的具体连接流程(BR/EDR);

 

 问题点9:关于不同Gaia 版本的兼容问题;

建议在Gaia连接后,使用command ID 为0x0300的“Get API Version”确认Remote Device的最高支援Gaia 版本,然后基于不同版本来选择不同的Gaia Data格式;

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
splunk-7.3.9-39a78bf1bc5b-linux-x86_64.tgz是一个Splunk软件的安装包,适用于64位的Linux操作系统。Splunk是一种实时数据分析和监控平台,被广泛用于处理和分析大型数据集。 Splunk使用一种称为索引的机制来存储和检索数据。它能够处理各种类型的数据,包括文本、日志、图片等。通过将数据索引,Splunk可以快速搜索和可视化数据,帮助用户发现隐藏在数据中的有价值的信息。 安装Splunk的第一步是下载安装包,这里的splunk-7.3.9-39a78bf1bc5b-linux-x86_64.tgz就是Splunk的安装文件。".tgz"表示这是一个tar压缩文件,需要使用tar命令解压缩。 安装Splunk之前,我们首先要确保操作系统是64位的Linux。下载后,我们可以使用以下命令解压缩该文件: tar -zxvf splunk-7.3.9-39a78bf1bc5b-linux-x86_64.tgz 解压缩后,会得到一个splunk文件夹,里面包含Splunk的所有文件。然后,我们可以运行Splunk的安装脚本来启动安装过程。 Splunk提供了一个图形化的安装向导,可以帮助用户完成安装步骤。在安装过程中,需要选择安装目录、许可证文件等配置选项。 安装完成后,我们可以使用以下命令启动Splunk: ./splunk start 然后,我们可以通过浏览器访问Splunk的Web界面,并使用相关的管理员用户名和密码登录。 总结来说,splunk-7.3.9-39a78bf1bc5b-linux-x86_64.tgz是Splunk软件的安装包,用户可以通过解压缩、运行安装脚本等步骤来安装和启动Splunk,并使用该软件进行数据分析和监控。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值