2021-10

一、BLE协议栈

1、协议栈:某个协议的实现代码

2、要实现一个BLE应用,首先需要一个支持BLE射频的芯片,然后还需要提供一个与此芯片配套的BLE协议栈,最后在协议栈上开发自己的应用

3、BT、BLE区别

4、TTL接口:采用并行方式传输数据的接口
USB:通用串行总线

5、整体架构

在这里插入图片描述
PHY层(物理层):指定BLE所用的无线频段,调制解调方式、方法
LL层(Link Layer链路层)。LL层是整个BLE协议栈的核心。选择哪个射频通道进行通信,怎么识别空中数据包,具体在哪个时间点把数据发送出去,怎么保证数据的完整性,ACK(确认字符)如何接收,如何进行重传,以及如何对链路进行管理和控制等等。LL层只负责把数据发出去或者收回来,对数据进行怎样的解析则交给上面的GAP或者GATT。
HCI(Host controller interface)。HCI是可选的(HCL相关),HCI主要用于2颗芯片实现BLE协议栈的场合,用来规范两者之间的通信协议和通信命令等。
GAP层(Generic access profile)。GAP简单的对LL payload(有效数据包)进行一些规范和定义。GAP目前主要用来进行广播,扫描和发起连接等。
L2CAP层(Logic link control and adaptation protocol)。L2CAP对LL进行了一次简单封装,LL只关心传输的数据本身,L2CAP就要区分是加密通道还是普通通道,同时还要对连接间隔进行管理。
SMP(Secure manager protocol)。SMP用来管理BLE连接的加密和安全的,如何保证连接的安全性,同时不影响用户的体验,这些都是SMP要考虑的工作。
ATT(Attribute protocol)。ATT层用来定义用户命令及命令操作的数据,比如读取某个数据或者写某个数据。BLE协议栈中,开发者接触最多的就是ATT。BLE引入了attribute概念,用来描述一条一条的数据。Attribute除了定义数据,同时定义该数据可以使用的ATT命令,因此这一层被称为ATT层。
GATT(Generic attribute profile )。GATT用来规范attribute中的数据内容,并运用group(分组)的概念对attribute进行分类管理。

4、各层是如何工作实例

二、tuya平台

1、云模组命名规则

在这里插入图片描述
2、蓝牙通用方案 开发流程

①一些名词
在这里插入图片描述
②帧数据包结构

在这里插入图片描述
在串口等串行通信中,一次只能发1个字节。
发送方和接收方必须按照同样的字节顺序来通信。

大端模式(big endian):低位(字节/比特)放在高地址中,高位(字节/比特)放在低地址中。
小端模式(little endian):低位(字节/比特)放在低地址中,高位(字节/比特)放在高地址中。

如:
数值0x2211使用两个字节储存:高位字节是0x22,低位字节是0x11。
大端字节序:高位字节在前,低位字节在后,即以0x2211形式储存。
小端字节序:低位字节在前,高位字节在后,即以0x1122形式储存

DP格式

通用对接协议

MCU-OTA部分接口实现

MCU-OTA流程图

在这里插入图片描述

OTA

GAgent OTA

开发的app如何接入tuya
数据如何传到平台

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值