
转载
文章平均质量分 92
物联网布道师
拥有超过6年物联网开发经验。特别是在蓝牙领域有丰富的产品开发经验,对传统蓝牙,低功耗蓝牙,蓝牙Mesh等协议都有深入的研究。
展开
-
【转载】C 语言资源大全中文版
我想很多程序员应该记得 GitHub 上有一个 Awesome:XXX 系列的资源整理。是 koz.ross 发起维护的 C 语言资源列表,内容包括了:构建系统、编译器、数据库、加密、初中高的教程/指南、书籍、库等等。Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。转载 2023-03-01 14:52:50 · 575 阅读 · 0 评论 -
解密蓝牙mesh系列 | 第十篇
在此阶段,根据未经启动配置设备的功能,启动配置设备(Provisioner)选择合适的验证方法,并通知未经启动配置设备将要采取的方式。在完成认证操作之后,未经启动配置的设备向启动配置设备发送一个启动配置输入完成PDU(Provisioning Input Complete PDU),通知其随机数已输入完成。后续只要启动配置设备(Provisioner)和未经启动配置设备完成启动配置流程的第五步:启动配置数据分发,则未经启动配置设备就能成为蓝牙mesh网络中的节点(node)。转载 2022-09-06 18:57:58 · 752 阅读 · 0 评论 -
解密蓝牙mesh系列 | 第九篇
在发送Beacon信号阶段,未经启动配置设备会发送包括mesh启动配置服务UUID的广播数据包,它会被启动配置设备通过标准的低功耗蓝牙扫描程序发现。如果是,则启动配置设备可继续使用它,并通过发送启动配置开始PDU来通知未经启动配置的设备。蓝牙mesh规格中定义了启动配置协议,该协议定义了启动配置流程中用于在启动配置设备和新的未经启动配置设备之间进行通信的标准流程以及PDU。,则临时公钥从启动配置设备发送到设备,并采用合适的OOB技术(例如二维码),从未经启动配置的设备中读取静态公钥,如图3所示。转载 2022-09-06 18:51:24 · 812 阅读 · 0 评论 -
解密蓝牙mesh系列 | 第八篇
节点从元素接收消息,如果元素包含的SEQ值小于或等于上一个有效消息中的SEQ值,则节点会将消息丢弃,因为这则消息可能与中继攻击有关。来自给定元素的消息中的IV索引值必须始终等于或大于该元素的上一个有效消息。因此,已从网络中移除的、包含原有NetKey 和AppKey的节点将不再是网络成员,换句话说,上述这些不被授信的节点将从网络当中剔除出去,因此也无法再构成威胁。蓝牙mesh网络的大多数安全特性都有赖于业内标准的加密算法和程序,这在本系列的其他安全性相关文章中也会提及,本文还是着重解释最重要的内容。转载 2022-09-06 18:41:06 · 823 阅读 · 0 评论 -
解密蓝牙mesh系列 | 第七篇
不同设备代理PDU的大小各异,PDU的大小是根据低功耗蓝牙属性协议(ATT)的最大传输单元(MTU)进行动态设置的,这是通过GATT连接来传输代理PDU的基础。此外,代理协议可以将完整的蓝牙mesh消息封装在代理PDU或多段消息的各个段中,借此来容纳较长的蓝牙mesh消息。蓝牙mesh代理节点使用完全相同的技术,即通过“GAP可连接型广播(connectable advertising)数据包”,对自身的可用性、可作为代理节点的角色、及其身份进行广播。可通过代理协议将蓝牙mesh Beacon纳入网络。转载 2022-09-06 09:19:24 · 907 阅读 · 0 评论 -
解密蓝牙mesh系列 | 第六篇
当购买了新的设备(Device)并需要将其添加至当前蓝牙mesh网络时,用户将使用启动配置设备( Provisioner),同时参考这一新设备制造商的说明,将其添加至蓝牙mesh网络。启动配置完成后,启动配置设备就会拥有网络的NetKey,这是一个称为“IV索引(IV Index)”的蓝牙mesh安全性参数,且拥有一个由启动配置设备分配的单播地址[iii]。用户可使用启动配置设备启动密钥刷新,启动配置设备会创建新密钥,并通过配置消息向mesh网络中的所有节点发送新密钥,但黑名单中的成员除外。转载 2022-09-06 08:58:38 · 711 阅读 · 0 评论 -
解密蓝牙mesh系列 | 第五篇
好友节点的转发仅在低功耗节点轮询好友节点以获得等待传送的消息时才会发生。低功耗节点(LPN)必须与支持“好友”特性的另一节点建立“友谊”(friend)关系,以减少其接收器占空比(Duty Cycle)并节约能耗。该消息包括各种参数,包括支持的ReceiveWindow大小、可用的消息队列大小、可用的订阅列表(Subscription List)大小、以及由好友节点测量的RSSI值。低功耗节点会对好友节点进行轮询(Poll),查看是否有新消息(好友节点只会间或地对新消息进行存储)。转载 2022-09-06 08:53:41 · 874 阅读 · 0 评论 -
解密蓝牙mesh系列 | 第四篇
正如我们在第一篇中所讨论的,节点(如照明装置、温控设备、制造设备和电动门)是蓝牙mesh网络中能够发送、接收或中继消息的设备。消息(message)用于在节点之间传输数据,地址(address)用于定义消息源(source)地址和目的(destination)地址。在“蓝牙mesh网络基础概念”第一篇中,我们探讨了蓝牙mesh网络的一些基本概念,包括节点(node)、元素(element)、模型(model)和状态(state)。订阅消息的模型使用模型的订阅列表来定义用于接收消息的有效地址。转载 2022-09-06 08:47:42 · 1494 阅读 · 0 评论 -
解密蓝牙mesh系列 | 第三篇
转载自蓝牙技术联盟蓝牙mesh网络基本概念这篇文章是解密蓝牙mesh系列第三篇,(点这里查看第一篇和第二篇文章)同时也是蓝牙mesh网络基本概念的第一部分无论您想采用智能照明、温控和安全系统让家庭和办公室变得更加智能,还是想提高工业无线传感器网络(IWSN)的效率,蓝牙mesh网络都能为您与环境的交互开启全新的机遇。蓝牙mesh网络为创建大型设备网络奠定了基础,让成千上万的无线设备彼此之间可靠安全地进行通信。本文将深入探究这一创新网络拓扑背后的基本概念。节点(Node)转载 2022-09-05 23:41:53 · 1228 阅读 · 0 评论 -
解密蓝牙mesh系列 | 第二篇
因为存在墙壁和其他物理上的障碍物,楼宇中的设备可能无法与安装在同一楼宇远侧的设备、或临近楼宇中的设备建立直接的无线连接。相反,传输范围内的所有设备都会接收消息,负责中继的设备能将消息转发至其传输范围内的所有其他设备。它们能够为所服务的低功耗节点存储消息,并在低功耗节点明确要求的情况下向其提供消息,低功耗节点可按照自身的规划进行操作,从而最有效地利用无线电。:负责应用数据的格式、定义并控制上层传输层中执行的加密和解密过程,并在将数据转发到协议栈之前,验证接收到的数据是否适用于正确的网络和应用。转载 2022-09-05 17:57:14 · 950 阅读 · 0 评论 -
解密蓝牙mesh系列 | 第一篇
从最基本的层面来讲,蓝牙BR / EDR能够实现一台设备到另一台设备的连接和通信,建立“一对一”的关系,大多数人所熟悉的“配对”(pairing)一词就是这个意思。低功耗蓝牙设备还能与其他设备形成“一对一”和hub/spoke关系,以无连接方式进行工作,其广播的数据,位于直接无线电传输围内的任何其他设备都可接收。如果接收广播的设备本身不进行数据传输,那么广播设备的无线电频谱就仅仅是针对自己而言的,同时对于能够接收和利用其广播的其他设备数量没有明确的限制。设备经配置后,可接收由其他设备发送到特定地址的消息。转载 2022-09-05 17:39:09 · 804 阅读 · 0 评论