BLE&BLE MESH
文章平均质量分 80
主要介绍内容为BLE蓝牙和BLE MESH蓝牙的相关知识可供大家分享和学习
浮若于心
一生,求知求解.....
展开
-
BLE蓝牙发送速率、BLE底层蓝牙分包机制、BLE底层蓝牙重发机制、BLE中的MTU、BLE中蓝牙连接后数据通道选择
BLE蓝牙发送速率、BLE底层蓝牙分包机制、BLE底层蓝牙重发机制、BLE中的MTU、BLE中蓝牙连接后数据通道选择原创 2024-01-22 21:43:56 · 2640 阅读 · 1 评论 -
蓝牙Mesh LPN节点
其中Friend节点P与低功耗节点 I、J和K为“友谊”关系,寻址到节点I、J或 K的消息将被好友节点P存储并转发,好友节点的转发仅在低功耗节点轮询好友节点以获得等待传送的消息时才会发生。使用好友安全资料加密的友谊消息:轮训(Friend Poll)、好友更新(Friend Update)、好友订阅列表(Friend Subscription List)添加/删除/确认好友节点发送至LPN的“被存储的消息”。好友订阅列表添加消息由低功率节点发送到好友节点,以指示要存储消息的组地址和虚拟地址的列表。原创 2023-07-24 20:22:14 · 323 阅读 · 0 评论 -
蓝牙Mesh中的Heartbeat和Heartbeat Publication
Heartbeat是指设备定期发送的小型消息,用于指示设备的存在和活动状态,而Heartbeat Publication是指设备将自己的状态信息以心跳消息的形式发布到整个网络中。Heartbeat是设备发送消息的行为,而Heartbeat Publication是设备将自己的状态信息发布到网络中的行为。原创 2023-05-30 20:01:02 · 1064 阅读 · 2 评论 -
蓝牙mesh消息中的三种model: server models、client models、control models
网格应用程序是使用与发布-订阅范例进行通信的客户端-服务器体系结构来指定的。由于网状网络的性质以及对行为的配置是由配置客户端执行的识别,应用程序不会在单个端到端规范中定义,例如配置文件。相反,应用程序在客户端模型、服务器模型和控制模型中定义应用程序。原创 2023-05-10 20:05:37 · 512 阅读 · 0 评论 -
处理蓝牙BLE MESH消息的网络风暴
网络风暴的触发原因:由于消息广播的方式,可能会发生大量的消息传输和网络拥塞,导致网络效率降低,甚至崩溃。蓝牙mesh网络是基于广播的方式进行消息传输的,因此每个节点都会将消息广播给周围的节点,进而形成一个消息传递的网络。在某些情况下,由于节点数量过多、消息频繁发送等原因,可能会导致网络中出现大量的消息传输,从而引发网络风暴。原创 2023-03-28 23:15:21 · 947 阅读 · 0 评论 -
蓝牙设备中的Device UUID 与 Service UUID
iOS 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间生成的 UUID,是设备上的Core Bluetooth为该设备分配的标识符。对于已连接过的设备,UUID 会在一段时间内保持不变(正常是15-20分钟变化一次)。此外,UUID 也会在某些条件下可能会发生变化(如系统蓝牙模块重启、配对设备被忽略等),在不同的设备上获取到的 UUID 也是不同的。不同手机连接同一设备的uuid不是同一个。原创 2023-02-10 14:48:25 · 9463 阅读 · 0 评论 -
BLE MESH中标准的Light Lightness messages的数据包格式
Light Lightness的操作OP、Light Lightness Get数据包格式、Light Lightness Set数据包格式、Light Lightness Set Unacknowledged数据包格式、Light Lightness Status数据包格式原创 2022-12-15 19:46:09 · 534 阅读 · 0 评论 -
BLE MESH中的Secure Network beacon包
当在已知子网上接收到安全网络信标时,节点应监控IV索引更新和关键刷新过程。可以为节点所属的每个子网发送安全网络信标,以识别子网并通知IV索引更新和键刷新过程。中继节点和友节点应该发送信标,其他节点可以发送信标。发送两个连续信标之间的时间称为信标间隔。一个实现可以定义信标间隔和一个后退过程,以防止其他节点用太多的信标超载网络。预期的行为是,每个节点大约每10秒为一个给定的子网接收一个信标。原创 2022-12-13 21:06:20 · 576 阅读 · 0 评论 -
BLE MESH在配网广播中的Service UUID:1827与1828
1827:是一种服务的UUID,一般在广播包中中代表设备为未配网设备。也用于给配网器进行识别。在该服务下还有两个UUID,0x2ADB:用于写,0x2ADC:用于上报。在使用GATT配网阶段的数据交互都是通过这两个UUID进行的。1828:是一种服务的UUID,一般在广播包中中代表设备为已配网设备。也用于给配网器进行识别。在该服务下还有两个UUID,0x2ADD:用于写,0x2ADE:用于上报。是两个PROXY标识的UUID,代表设备有代理功能。原创 2022-11-08 18:58:18 · 814 阅读 · 0 评论 -
BLE中的Service(服务)和characteristic(特征值)
Service(服务):服务是用来完成特定功能或特性的数据和相关行为的集合。在GATT中,服务由其服务定义来定义。服务定义可能包含所包含的服务、强制性特征和可选特征。可用于搜索服务的服务的重要属性被表示为uuid。characteristic(特征值):特征是在服务中使用的值,以及关于如何访问该值的属性和配置信息,以及关于如何显示或表示该值的信息。特征定义包含特征声明、特征属性和值。它还可以包含描述值或允许服务器关于特征值的配置的描述符。原创 2022-10-12 19:24:37 · 6061 阅读 · 1 评论 -
BLE Mesh中广播包类型Mesh Beacon、Mesh Message、PB-ADV,以及代理的PB-GATT
在BLE Mesh中常用于数据通信的几种方式:Mesh Beacon、Mesh Message、PB-ADV、PB-GATT。原创 2022-09-29 19:42:59 · 1584 阅读 · 1 评论 -
MESH标准配网流程
Mesh标准配网流程,包含了设备的provision阶段和Config阶段,以及可以节省配网时间可以进行的快速配网操作。原创 2022-09-19 19:55:11 · 1032 阅读 · 1 评论 -
BLE Mesh中的Sequence number和IV Index
一般正常发送数据,每条数据的Sequence number会在原来的基础上加1,这样接收者会保存发送者的Sequence number,如果此时发送者掉电上电后Sequence number被清零,发送的数据的Sequence number会再次从零开始累加,这样接收者接收到的数据小于之前保存的Sequence number的数据,就会将这条数据丢弃不处理,这样就会导致该设备一段时间无法正常通信,一般建议掉电上电前发送的Sequence number需要保存,掉电后也在掉电前的数据上进行累加原创 2022-09-07 21:11:34 · 1711 阅读 · 4 评论 -
BLE错误码全面解析&连接失败原因错误码解析&BLE Disconnect Reason
错误代码用于指示错误的原因,当出现一些异常情况时会出现一些对应的错误码。错误代码的大小为8个字节。原创 2022-09-02 20:42:17 · 12664 阅读 · 3 评论 -
BLE广播事件包解析&空口事例
HCI_LE_Advertising_Report事件表示一个或多个蓝牙设备已经对主动扫描做出了响应,或有在被动扫描期间接收到的广播广告。控制器可以在这些广告报告中排队,并在一HCI_LE_Advertising_Report事件中从多个设备发送信息。只有在使用HCI_LE_Set_Scan_Enable命令启用了扫描时,才能生成此事件。它只报告使用传统广告PDU的广播事件。.........原创 2022-09-01 14:25:45 · 976 阅读 · 2 评论 -
Ble Mesh的Heatbeat(心跳)&地址&Model(模型)
心跳将节点配置为定期发送称为心跳消息的消息。Heartbeat 消息的目的:1、表示该节点仍然处于活动状态。2、允许根据传递 Heartbeat 消息所需的跳数确定其与接收者的距离。Heartbaeat的opcode:和Friend request、Friend offer、Friend Pool等一样的Transport Control message,opcode为0x0A。Heartbaeat的配置:心跳行为是使用配置服务器模型(Configuration Server原创 2022-08-29 21:36:53 · 916 阅读 · 0 评论 -
Ble Mesh的Generic Model ID&Opcode
BLEMESH的opcode和model id原创 2022-08-29 19:52:01 · 1193 阅读 · 0 评论 -
浅述蓝牙Mesh的配网流程
1. 信标(Beaconing)阶段2.邀请 (Invitation)阶段3. 交换公钥 (Exchange Public Keys)阶段4. 身份认证 CAuthentication)阶段5. 分发配网数据 (Distribution Of Provisioning Data)阶段原创 2022-06-28 20:50:59 · 3420 阅读 · 1 评论 -
浅谈Ble-Mesh的LPN模式
一个温湿度传感器产品,需要超过设定阈值才会从上送数据,这样就没有长时间唤醒时间,就无法接收到网关下发的设置数据,这时候就需要LPN模式。LPN的节点正常还是超过阈值才会上报数据,然后会过一段时间唤醒去访问他对应的Friend节点,去询问是否有对应的设置数据。这样就保证低功耗的同时又可以保证功能的完整性。......原创 2022-06-14 20:41:35 · 980 阅读 · 1 评论 -
蓝牙Mesh的基本架构/配网流程/节点定义
蓝牙mesh的基本架构:承载层(bearer layer):承载层定义了如何使用底层低功耗堆栈传输PDU。目前定义了两个承载层:广播承载层(Advertising Bearer)和GATT承载层。网络层(network layer):网络层定义了各种消息地址类型和网络消息格式。中继和代理行为通过网络层实施。底层传输层(lower transport layer):在需要之时,底层传输层能够处理PDU的分段和重组。原创 2022-05-21 15:33:06 · 6926 阅读 · 4 评论 -
ESP32的WIFI的STA模式&调控ESP32蓝牙和WIFI发射功率
以下相关API接口的定义可进入l乐鑫官方查看:Wi-Fi 库 - ESP32 - — ESP-IDF 编程指南 v4.4 文档STA模式配置过程:/* WiFi station Example This example code is in the Public Domain (or CC0 licensed, at your option.) Unless required by applicable law or agreed to in writing, this so原创 2022-02-10 15:27:26 · 4186 阅读 · 4 评论 -
ST-BlueNrg-lp蓝牙芯片OTA升级过程
1. “无线”固件升级的概念“空中下载”(OTA) 固件升级是一种协议,它允许低功耗蓝牙从设备通过空中接收来自低功耗蓝牙主设备的固件映像并将其写入闪存。 为了将事情置于低功耗蓝牙技术的正确环境中,OTA 固件升级框架定义了一项暴露其自身特征的服务,该服务可以与运行在低功耗蓝牙堆栈上的任何给定应用程序使用的其他服务共存。蓝牙 LE 主控器是由 BlueNRG-LP 开发套件平台通过 USB 连接到 PC 组成的组合系统。 该 BlueNRG-LP 平台由 BlueNRG GUI 驱动。 由于这种选择,原创 2022-02-10 14:52:24 · 5923 阅读 · 8 评论 -
浅谈BR/EDR、BLE、BLE MESH协议栈架构及相应区别
Bluetooth BR/EDR (传统蓝牙)协议栈整体架构:Bluetooth Low Energy 低功耗蓝牙协议栈的体系结构如下:Bluetooth Mesh协议栈架构:Mesh是基于BLE协议基础上的一个协议,基本扩展了BLE的能力。通俗一點說就是蓝牙MESH是构建于BLE之上的网络协议。广播连接的一个基本特性:广播只能单方向只发送数据,要快速可靠双向通信,必须要建立连接(当然,你也可以即广播也扫描不建立连接实现双向通信,但这样效率不高)。那么BLE是如何建立原创 2021-09-18 15:46:32 · 8190 阅读 · 2 评论 -
认知BLE中多个MAC地址类型:Public Device Address、Random Device Address、Non-resolvable Private Address
1. 前言BLE设备有多种类型的设备地址,如Public Device Address、Random Device Address、Static Device Address、Private Device Address等等。2. BLE设备的地址类型一个BLE设备,可以使用两种类型的地址(一个BLE设备可同时具备两种地址):Public Device Address和Random Device Address。而Random Device Address又分为Static Device原创 2021-07-03 11:19:33 · 4436 阅读 · 0 评论 -
BLE低功耗的设置参数
广播间隔:两个相邻广播事件之间的时间称为广播间隔。可以选择“20ms ~ 10.28s”不等的间隔,通常,一个广播中的设备会每一秒广播一次。必须是“0.625ms”的整数倍。由于设备间的时钟会不同程度的漂移,两个设备可能在很长一段时间同时广播而造成干扰。为防止这一情况的发生,除定向广播之外的其他广播类型,发送时间均会被扰动。实现该扰动的方式为,在上一次广播事件后加入“0 ~ 10ms”的随机延时。这意味着,即使两个设备广播间隔相同,并在相同信道及时间点上发送造成了冲突,但它们发送下一个广播事件时也会有原创 2021-04-27 20:27:47 · 1293 阅读 · 1 评论 -
BLE低功耗蓝牙基础配置
协议栈的基本框架需要一个支持BLE射频的芯片,然后还需要提供一个与此芯片配套的BLE协议栈,最后在协议栈上开发自己的应用。其中主要讲述协议栈的组成与功能:PHY层(Physical layer物理层)。PHY层用来指定BLE所用的无线频段,调制解调方式和方法等。PHY层做得好不好,直接决定整个BLE芯片的功耗,灵敏度以及selectivity等射频指标。 LL层(Link Layer链路层)。LL层是整个BLE协议栈的核心,也是BLE协议栈的难点和重点。像Nordic的BLE协议栈能同.原创 2021-04-27 19:57:45 · 1036 阅读 · 0 评论