
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
使用wireshark软件抓取广播数据包,完整数据如下:0000 13 2e 00 02 2b bc 06 0a 01 26 13 00 00 48 02 00 ....+....&...H..0010 00 d6 be 89 8e 20 1b ad 1b 2b 27 d1 28 02 01 06 ..... ...+'.(...0020 11 16 95 fe 30 54 8c 16 0

蓝牙mesh数据包的结构如下图:总长31个字节。Length (1Byte):数据长度Type (1Byte):广播类型IVI (1bit):用来认证加密Network PDU的IV index的最低位NID (7bits):网络ID,network ID。从网络密钥(NetKey)派生的值,用于识别保护此PDU的加密秘钥和隐私密钥。决定使用哪个mesh网络传递数据CTL (1bit):网络控制,
在应用中,常常会遇到一个任务或者中断服务需要和另一个任务进行数据交互,也成为消息传递。在没有操作系统的时候,消息传递一般使用全局变量的方式,但如果在使用操作系统的应用中用全局变量来传递消息,就会涉及到“资源管理”的问题。FreeRTOS对此提供了一个叫做“队列”的机制来完成任务与任务,任务与中断之间的消息传递。队列是为了任务与任务、任务与中断之间的通信而准备的。可以在任务与任务,任务与中断之间传递
AP是无线接入点,是一个无线网络的创建者,是网络的中心节点。一般家庭或办公室使用的无线路由器就是一个AP。STA也可以理解为终端的意思,每一个连接到无线网络中的终端(例如笔记本电脑,手机等其他可以联网的设备)都可以成为一个STA站点。每个无线AP都应该有一个SSID用于识别,就是通常所说的WIFI名每一个网络设备都有其用于识别的物理地址,这个东西就是MAC地址。一般在出厂后会有一个默认MAC,可更
改分区就根据用户自定义来划分。
一级引导程序是固化在ROM中的。从flash的0x1000偏移地址处加载boot程序。二级引导程序,就是bootloader程序,从flash的0x8000处加载分区表。根据分区表运行应用程序。bootloader程序在esp-idf/components/bootloader/subproject/main/bootloader_start.c文件中。1.一级引导从flash的0x1000处加载

在RTOS中,增加了多种锁机制。有调度锁、中断锁、任务锁和互斥锁。
蓝牙的通信是双向的,为了创建和维护一个BLE通信连接,在蓝牙中引入了“角色”这一概念,一个BLE设备不是主机(集中器)就是从机(外围设备)角色,这是根据是谁发起这个连接来确定的。主机(集中器)设备总是连接的发起者,而从机(外围设备)总是被连接者。整个访问与连接过程都是在GAP(Generic Access Profile-通用访问规范)进行实现的。
GAP定义了蓝牙设备如何发现和建立与其他设备的安全或不安全连接。它处理一些一般模式的业务,比如询问、命名和搜索,还处理一些安全问题,比如担保。同时还处理一些有关连接的业务,比如链路建立、信道和连接建立。GAP规定的是一些一般性的运行任务。因此,它具有强制性,并作为所有其他蓝牙应用规范的基础。GAP是所有其他配置文件的基础,它定义了在蓝牙设备之间建立基带链路的通用方法,
GATT-Generic Attribute profle-通用属性配置文件。GATT层是传输真正数据所在的层。包括了一个数据传输和存储架构以及其基本操作。GATT用来规范attribute中的数据内容,并运用group(分组)的概念对attribute进行分类管理。没有GATT,BLE协议栈也能跑。但互联互通就会出问题,也正是因为有了GATT和各种各样的应用profile,BLE摆脱了Zigbe