当前位置: 首页 > news >正文

关于网站建设的英文歌做pc端网站策划

关于网站建设的英文歌,做pc端网站策划,wordpress商品属性选择,wordpress更改固定连接404低功耗蓝牙体系整体架构说明1. PHY(物理层)2. LL(链路层)3. HCI(主机与控制器通信接口)4. L2CAP(逻辑链路控制及适配协议)5. ATT(属性协议)6. GATT(通用属性规范)7. GAP(通用访问规范)8. SM(安全管理)整体架构说明 架构层说明PHY1. 物理层2. 控制射频的发送和接收LL1. 链路层2.… 低功耗蓝牙体系整体架构说明1. PHY(物理层)2. LL(链路层)3. HCI(主机与控制器通信接口)4. L2CAP(逻辑链路控制及适配协议)5. ATT(属性协议)6. GATT(通用属性规范)7. GAP(通用访问规范)8. SM(安全管理)整体架构说明 架构层说明PHY1. 物理层2. 控制射频的发送和接收LL1. 链路层2. 定义通信结构体包括设备状态和射频控制3. 提供Link Layer-level加密HCI1. 主机控制器接口 2. 用于主机和控制器的通信3. 控制器PHY、Link Layer4. 主机L2CAP、ATT、GATT、GAP、SML2CAP1. 逻辑链路控制及适配协议2. 充当协议复用器并处理数据包的分段和重组3. 提供一个或多个复用的逻辑信道ATT1. 属性协议2. 提供了低功耗蓝牙设备之间数据传输的方法3. 依赖于低功耗蓝牙的connection基于connection它提供了读取、写入、指示、通知属性值的过程GATT1. 通用属性协议2. 为逻辑服务进行属性分组例如心率服务 它公开了心率传感器的操作除实际数据外3. 提供了属性的相关信息及如何访问它们以及需要什么安全级别4. 定义属性类型GAP1. 通用访问规范 2. 为低功耗蓝牙设备和其它设备提供了设备广播、设备发现、打开和连接管理及数据广播SM1. 安全管理 2. 提供绑定设备、加密和解密以及启用设备隐私的方法 1. PHY(物理层) 频段2.4GHz ISM频段(2402MHz-2480MHz)信道40 RF信道每信道2MHz带宽广播信道3个广播信道(37,38,39)避开WIFI的1、6、11信道这几个信道的中心频率分别为2412MHz(2402MHz-2422MHz)、2437MHz(2427MHz-2447MHz)、2462MHz(2452MHz-2472MHz)每信道带宽20MHz 调频方式采用高斯频移键控(GFSK)的调制方式改变无线电波的频率传输0或1的信息频移键控是指把1和0通过轻微升高或者降低信号频率进行编码调制指示表示围绕信道的中心频率的上下频率之间的宽度传输无线电信号时从中心频率出发超过185KHz的正向偏移代表值为1的比特超过185KHz的负向偏移代表值为0的比特通信速率Bluetooth4.0、4.1、4.2通信速率为1MbpsBluettoth5.0支持1Mbps和2Mbps发送功率和通信距离 2. LL(链路层) 针对射频控制及bit数据流的发送和接收BLE链路层提供第一级的控制和数据结构定义 蓝牙状态机及状态切换数据帧和广播帧格式链路层操作连接、数据包分组、重传链路层级安全 链路层操作包括广播、扫描、建立连接 广播 1. 广播是低功耗蓝牙技术中最基本的操作之一。2. 广播为设备提供了一种告知存在、允许连接建立的方法。2. 广播数据中可以包含设备支持的服务列表、设备名称、发射功率等下图展示了一个低功耗蓝牙设备在一个或多个广播信道上进行数据广播并被远程设备发现#mermaid-svg-xsEMVSD4MtwltD3J {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-xsEMVSD4MtwltD3J .error-icon{fill:#552222;}#mermaid-svg-xsEMVSD4MtwltD3J .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-xsEMVSD4MtwltD3J .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-xsEMVSD4MtwltD3J .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-xsEMVSD4MtwltD3J .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-xsEMVSD4MtwltD3J .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-xsEMVSD4MtwltD3J .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-xsEMVSD4MtwltD3J .marker{fill:#333333;stroke:#333333;}#mermaid-svg-xsEMVSD4MtwltD3J .marker.cross{stroke:#333333;}#mermaid-svg-xsEMVSD4MtwltD3J svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-xsEMVSD4MtwltD3J .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-xsEMVSD4MtwltD3J text.actortspan{fill:black;stroke:none;}#mermaid-svg-xsEMVSD4MtwltD3J .actor-line{stroke:grey;}#mermaid-svg-xsEMVSD4MtwltD3J .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-xsEMVSD4MtwltD3J .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-xsEMVSD4MtwltD3J #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-xsEMVSD4MtwltD3J .sequenceNumber{fill:white;}#mermaid-svg-xsEMVSD4MtwltD3J #sequencenumber{fill:#333;}#mermaid-svg-xsEMVSD4MtwltD3J #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-xsEMVSD4MtwltD3J .messageText{fill:#333;stroke:#333;}#mermaid-svg-xsEMVSD4MtwltD3J .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-xsEMVSD4MtwltD3J .labelText,#mermaid-svg-xsEMVSD4MtwltD3J .labelTexttspan{fill:black;stroke:none;}#mermaid-svg-xsEMVSD4MtwltD3J .loopText,#mermaid-svg-xsEMVSD4MtwltD3J .loopTexttspan{fill:black;stroke:none;}#mermaid-svg-xsEMVSD4MtwltD3J .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-xsEMVSD4MtwltD3J .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-xsEMVSD4MtwltD3J .noteText,#mermaid-svg-xsEMVSD4MtwltD3J .noteTexttspan{fill:black;stroke:none;}#mermaid-svg-xsEMVSD4MtwltD3J .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-xsEMVSD4MtwltD3J .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-xsEMVSD4MtwltD3J .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-xsEMVSD4MtwltD3J .actorPopupMenu{position:absolute;}#mermaid-svg-xsEMVSD4MtwltD3J .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-xsEMVSD4MtwltD3J .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-xsEMVSD4MtwltD3J .actor-man circle,#mermaid-svg-xsEMVSD4MtwltD3J line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-xsEMVSD4MtwltD3J :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}Upper LayerScannerAdvertiserAdvertisement1Found Device2Advertisement3Advertisement4Upper LayerScannerAdvertiser 应用程序通常可以控制以下广播参数 参数值描述广播间隔20ms-10240ms1. 定义广播事件之间的间隔每个广播事件根据配置的不同包含1至3个广播数据包2. 一个0-10ms的随机值被链路层添加到每个广播间隔以帮助避免数据包冲突广播信道37、38、391. 这些物理无线信道用于发送广播数据包2. 使用所有的信道是最可靠的操作但以牺牲可靠性为代价减少广播信道数量可以降低设备功耗发现模式1. 不可发现2. 普通可发现3. 有限发现4. 广播1. 定义了广播者对其它设备的可见方式连接模式1. 不可连接2. 定向连接3. 不定向连接1. 定义广播帧是否能够被连接负载1. 主要广播(0-31Byte)2. BLE5辅助广播(0-255Byte)1. 在主要广播数据包中包含0-31字节数据2. 在BT5辅助广播数据包中可以包含0-255字节数据 扫描 1. 扫描是扫描者为发现和连接广播设备或仅仅接收广播数据进行的一种操作两种扫描模式被支持被动扫描、主动扫描在被动扫描模式中扫描者仅仅监听传入的广播数据包。扫描者循环切换每一个广播信道每次只监听一个信道#mermaid-svg-couFgSfqAKbuXNxD {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-couFgSfqAKbuXNxD .error-icon{fill:#552222;}#mermaid-svg-couFgSfqAKbuXNxD .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-couFgSfqAKbuXNxD .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-couFgSfqAKbuXNxD .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-couFgSfqAKbuXNxD .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-couFgSfqAKbuXNxD .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-couFgSfqAKbuXNxD .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-couFgSfqAKbuXNxD .marker{fill:#333333;stroke:#333333;}#mermaid-svg-couFgSfqAKbuXNxD .marker.cross{stroke:#333333;}#mermaid-svg-couFgSfqAKbuXNxD svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-couFgSfqAKbuXNxD .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-couFgSfqAKbuXNxD text.actortspan{fill:black;stroke:none;}#mermaid-svg-couFgSfqAKbuXNxD .actor-line{stroke:grey;}#mermaid-svg-couFgSfqAKbuXNxD .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-couFgSfqAKbuXNxD .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-couFgSfqAKbuXNxD #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-couFgSfqAKbuXNxD .sequenceNumber{fill:white;}#mermaid-svg-couFgSfqAKbuXNxD #sequencenumber{fill:#333;}#mermaid-svg-couFgSfqAKbuXNxD #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-couFgSfqAKbuXNxD .messageText{fill:#333;stroke:#333;}#mermaid-svg-couFgSfqAKbuXNxD .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-couFgSfqAKbuXNxD .labelText,#mermaid-svg-couFgSfqAKbuXNxD .labelTexttspan{fill:black;stroke:none;}#mermaid-svg-couFgSfqAKbuXNxD .loopText,#mermaid-svg-couFgSfqAKbuXNxD .loopTexttspan{fill:black;stroke:none;}#mermaid-svg-couFgSfqAKbuXNxD .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-couFgSfqAKbuXNxD .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-couFgSfqAKbuXNxD .noteText,#mermaid-svg-couFgSfqAKbuXNxD .noteTexttspan{fill:black;stroke:none;}#mermaid-svg-couFgSfqAKbuXNxD .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-couFgSfqAKbuXNxD .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-couFgSfqAKbuXNxD .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-couFgSfqAKbuXNxD .actorPopupMenu{position:absolute;}#mermaid-svg-couFgSfqAKbuXNxD .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-couFgSfqAKbuXNxD .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-couFgSfqAKbuXNxD .actor-man circle,#mermaid-svg-couFgSfqAKbuXNxD line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-couFgSfqAKbuXNxD :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}Upper LayerScannerAdvertiserAdvertisement1Found Device2Advertisement3Advertisement4Upper LayerScannerAdvertiser 1. 在主动扫描模式中扫描者监听传入的广播数据包然后向广播者发送一包额外的扫描请求数据帧以获取更多信息。2. 通常在扫描应答帧中包含像所支持的服务列表、友好名称等信息但是应用程序可以完全控制扫描应答帧中的内容#mermaid-svg-q9QqJRZUQ7wjCjLr {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-q9QqJRZUQ7wjCjLr .error-icon{fill:#552222;}#mermaid-svg-q9QqJRZUQ7wjCjLr .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-q9QqJRZUQ7wjCjLr .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-q9QqJRZUQ7wjCjLr .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-q9QqJRZUQ7wjCjLr .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-q9QqJRZUQ7wjCjLr .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-q9QqJRZUQ7wjCjLr .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-q9QqJRZUQ7wjCjLr .marker{fill:#333333;stroke:#333333;}#mermaid-svg-q9QqJRZUQ7wjCjLr .marker.cross{stroke:#333333;}#mermaid-svg-q9QqJRZUQ7wjCjLr svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-q9QqJRZUQ7wjCjLr .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-q9QqJRZUQ7wjCjLr text.actortspan{fill:black;stroke:none;}#mermaid-svg-q9QqJRZUQ7wjCjLr .actor-line{stroke:grey;}#mermaid-svg-q9QqJRZUQ7wjCjLr .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-q9QqJRZUQ7wjCjLr .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-q9QqJRZUQ7wjCjLr #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-q9QqJRZUQ7wjCjLr .sequenceNumber{fill:white;}#mermaid-svg-q9QqJRZUQ7wjCjLr #sequencenumber{fill:#333;}#mermaid-svg-q9QqJRZUQ7wjCjLr #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-q9QqJRZUQ7wjCjLr .messageText{fill:#333;stroke:#333;}#mermaid-svg-q9QqJRZUQ7wjCjLr .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-q9QqJRZUQ7wjCjLr .labelText,#mermaid-svg-q9QqJRZUQ7wjCjLr .labelTexttspan{fill:black;stroke:none;}#mermaid-svg-q9QqJRZUQ7wjCjLr .loopText,#mermaid-svg-q9QqJRZUQ7wjCjLr .loopTexttspan{fill:black;stroke:none;}#mermaid-svg-q9QqJRZUQ7wjCjLr .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-q9QqJRZUQ7wjCjLr .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-q9QqJRZUQ7wjCjLr .noteText,#mermaid-svg-q9QqJRZUQ7wjCjLr .noteTexttspan{fill:black;stroke:none;}#mermaid-svg-q9QqJRZUQ7wjCjLr .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-q9QqJRZUQ7wjCjLr .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-q9QqJRZUQ7wjCjLr .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-q9QqJRZUQ7wjCjLr .actorPopupMenu{position:absolute;}#mermaid-svg-q9QqJRZUQ7wjCjLr .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-q9QqJRZUQ7wjCjLr .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-q9QqJRZUQ7wjCjLr .actor-man circle,#mermaid-svg-q9QqJRZUQ7wjCjLr line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-q9QqJRZUQ7wjCjLr :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}Upper LayerScannerAdvertiserAdvertisement1Scan Request2Scan Response(Name, Services)3Found Device (Name, Services)4Upper LayerScannerAdvertiser 应用程序通常可以控制以下广播参数 参数值描述扫描间隔2.5ms-10240ms1. 扫描间隔是从一个扫描事件开始到下一个扫描事件开始的ms数2. 扫描间隔一定要大于或等于扫描窗口扫描窗口2.5ms-10240ms1. 扫描窗口定义了扫描事件中的监听(RX)窗口周期扫描类型1. 有限2. 普通3. 观察1. 定义扫描者可应答的广播者类型扫描模式1. 主动2. 被动1. 定义执行主动扫描还是被动扫描连接模式1. 不可连接2. 定向连接3. 不定向连接1. 定义广播者是否可连接 连接 1. 连接允许应用层数据以一种可靠、稳健的方式传输。2. BLE使用CRC校验、应答、重传以确保数据的正确交互。3. BLE连接使用自适应跳频(AFH)来检测和适应周围的环境并提供一个可靠的物理层。4. 连接支持数据的加密和解密以确保它的安全性 扫描者当收到一个可连接的广播者发送的广播数据帧后发起BLE连接。下图示例BLE连接过程 #mermaid-svg-0JXuhZ8zTJgtFlmz {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-0JXuhZ8zTJgtFlmz .error-icon{fill:#552222;}#mermaid-svg-0JXuhZ8zTJgtFlmz .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-0JXuhZ8zTJgtFlmz .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-0JXuhZ8zTJgtFlmz .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-0JXuhZ8zTJgtFlmz .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-0JXuhZ8zTJgtFlmz .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-0JXuhZ8zTJgtFlmz .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-0JXuhZ8zTJgtFlmz .marker{fill:#333333;stroke:#333333;}#mermaid-svg-0JXuhZ8zTJgtFlmz .marker.cross{stroke:#333333;}#mermaid-svg-0JXuhZ8zTJgtFlmz svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-0JXuhZ8zTJgtFlmz .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-0JXuhZ8zTJgtFlmz text.actortspan{fill:black;stroke:none;}#mermaid-svg-0JXuhZ8zTJgtFlmz .actor-line{stroke:grey;}#mermaid-svg-0JXuhZ8zTJgtFlmz .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-0JXuhZ8zTJgtFlmz .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-0JXuhZ8zTJgtFlmz #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-0JXuhZ8zTJgtFlmz .sequenceNumber{fill:white;}#mermaid-svg-0JXuhZ8zTJgtFlmz #sequencenumber{fill:#333;}#mermaid-svg-0JXuhZ8zTJgtFlmz #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-0JXuhZ8zTJgtFlmz .messageText{fill:#333;stroke:#333;}#mermaid-svg-0JXuhZ8zTJgtFlmz .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-0JXuhZ8zTJgtFlmz .labelText,#mermaid-svg-0JXuhZ8zTJgtFlmz .labelTexttspan{fill:black;stroke:none;}#mermaid-svg-0JXuhZ8zTJgtFlmz .loopText,#mermaid-svg-0JXuhZ8zTJgtFlmz .loopTexttspan{fill:black;stroke:none;}#mermaid-svg-0JXuhZ8zTJgtFlmz .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-0JXuhZ8zTJgtFlmz .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-0JXuhZ8zTJgtFlmz .noteText,#mermaid-svg-0JXuhZ8zTJgtFlmz .noteTexttspan{fill:black;stroke:none;}#mermaid-svg-0JXuhZ8zTJgtFlmz .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-0JXuhZ8zTJgtFlmz .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-0JXuhZ8zTJgtFlmz .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-0JXuhZ8zTJgtFlmz .actorPopupMenu{position:absolute;}#mermaid-svg-0JXuhZ8zTJgtFlmz .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-0JXuhZ8zTJgtFlmz .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-0JXuhZ8zTJgtFlmz .actor-man circle,#mermaid-svg-0JXuhZ8zTJgtFlmz line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-0JXuhZ8zTJgtFlmz :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}Initiator MasterAdvertiser SlaveAdvertisement1Advertising Channels1-7Total time 3msConnect Request2par[initiator-advertiser]1-7Total time 3mspoll3Data4Data ChannelsACK5LL Terminate6ACK7par[master-slave]Initiator MasterAdvertiser Slave 应用程序通常可以控制以下广播参数 参数值描述最小连接间隔7.5ms1. 最小允许的连接间隔最大连接间隔4000ms1. 最大允许的连接间隔连接(外设)延迟0-500(连接间隔)1. 定义扫描者可应答的广播者类型监督超时100ms-32000ms1. 定义通信可中断多长时间在连接被丢弃并向用户告知错误之前 在一个连接的生命周期中连接参数可以通过”连接更新消息”被修改和更新 1. 当主设备在定义的连接间隔内向从设备发送一包数据帧则连接事件开始(如图4.5)。2. 从设备在收到来自主设备的数据包150us后可以进行应答。3. 如果从设备没有数据要发送它可以跳过在“连接(外设)延迟”中定义的一定数量的连接事件(如图4.6)。4. 如果主设备或从设备在规定的“监督超时”时间内没有收到数据包则连接终止 1. 如果从设备要发送的数据超过了单包数据的容量则连接事件会自动扩展。2. 从设备可以发送尽可能多的数据包在下一个连接间隔开始前。3. 这中操作只能与不需要应答的属性协议一起使用 网络拓扑在BLE中定义的设备角色 广播者一个设备发送广播帧但它自己不能接收它可连接或者不可连接扫描者一个设备仅仅监听广播帧它能连接广播从设备一个设备连接单个主设备(BT 4.0)或多个主设备(BT4.1和更新)主设备一个设备被单个或多个从设备连接。理论上一个主设备可以有无数个从设备连接到它实际上一个主设备一次可连接4-20从设备混合者一个设备可以同时进行广播和扫描或者广播被连接到一个主设备并同时进行扫描BLE网络拓扑图 BLE网络拓扑图 3. HCI(主机与控制器通信接口) HCI提供主机和控制器的标准接口HCI由两个独立的部分组成逻辑接口和物理接口逻辑接口逻辑接口定义命令和事件及其相关的行为逻辑接口可以交付给任何物理传输或者通过位于控制器上的本地应用程序编程接口(API)交付给控制器物理接口物理接口定义命令、事件和数据如何通过不同的连接技术来传输已定义的物理接口包括USB、SDIO和两个UART的变种 4. L2CAP(逻辑链路控制及适配协议) L2CAP定义了L2CAP信道和L2CAP信令L2CAP信道是一个双向数据通道通向对端设备上的某一特定的协议或规范低功耗蓝牙中只使用固定信道一个用于信令信道一个用于安全管理器一个用于属性协议 5. ATT(属性协议) 低功耗蓝牙规范展示了设备状态。状态被定义为一个或多个称为属性的值。访问这些属性的协议被称为属性规范(ATT)属性协议(ATT)定义了位于L2CAP通道之上服务器角色设备和客户端角色设备之间的通信。属性协议定义了两个角色 服务器作为存储一个或多个属性数据的设备客户端收集一个或多个服务器信息的设备 客户端可以访问服务器的属性客户端通过发送请求来触发服务器的应答为了提高效率服务器可以主动发送两种未经请求的属性消息 notifications不需要确认indications需要客户端发送确认客户端也可以向服务器发送消息以写入属性值。请求/响应、指示/确认事务遵循stop-and-wait模式 为了提高效率服务器可以主动发送两种未经请求的属性消息 属性定义 属性可以是0-512字节不等的数组它可以是定长也可以是变长 所有的属性都包含句柄句柄用于寻址单个属性。如图所示客户端通过句柄访问服务器的属性 属性同样包含类型用UUID进行描述 属性协议操作 属性协议是一种无状态、顺序的协议这意味协议中不存储状态一次只能执行一个操作属性协议方法如下面描述 应答 ATT操作通常需要应答(ACKs)。这允许应用程序知道哪些数据包已成功传输这可应用于设计可靠的应用程序因为服务器必须等待客户端的应答因此数据的吞吐量会受到影响Non-ACKed操作可以应用于高吞吐量的应用它可以在一个连接间隔内执行多个操作。链路层仍会重传丢失的包所以可靠性不受影响。但应用程序不知道哪些数据包已经成功发送多种操作如图所示 6. GATT(通用属性规范) 通用属性协议(GATT)建立在属性协议(ATT)之上并为属性协议传输和存储的数据提供统一的框架。GATT定义两个角色服务器和客户端GATT服务器存储通过ATT传输的数据并接收来自GATT客户端的ATT请求。GATT服务器另一方面发送请求应答当收到配置时发送指示和告知到GATT客户端。GATT还指定存储在GATT服务器上的数据格式属性分为服务和特性服务包含一系列特性。特性包含单个值和描述特性值的任意数量的描述符蓝牙规范定义了数据交换的结构。规范定义了元素例如服务和特性他也包含安全定义和连接建立参数。通常规范包含高级用例所需的一项或多项服务例如心率、节能监控。标准的规范允许设备和软件供应商互连互通服务是由一个或多个特性组成的数据集合用于完成设备的特定功能例如电池监控或温度数据而不是完整的用例特性是在服务中使用的一个值用于公开或交换数据或控制信息。特性具有明确定义的已知格式。它们包含如何访问信息、必须满足哪些安全需求、特性值如何被显示和解释。特性同样包含特性描述符、特性配置权限、数据指示和告知下图说明了GATT客户端、GATT服务器、服务、特性、特性声明、数据、描述符之间的关系 7. GAP(通用访问规范) GAP通常是蓝牙开发者所接触到第一个协议。这是因为GAP通常用于控制一个设备对于其它设备的可见和可连接以及如何被远程设备发现和连接简单来说GAP提供了对链路层操作(如链路操作章节描述的那样)的访问这些链路层操作和设备发现连接建立终止以及连接时序控制有关GAP定义了为底层控制器提供特定要求的设备角色。角色允许设备射频只Tx、只Rx或者两种功能都有 广播者(TX only)发送广播事件和广播数据侦察者(RX only)侦听广播事件和广播数据从设备(RX TX)从设备总是能被连接和广播能被主设备单一连接的一种简单设备主设备(RX TX)通常主设备从不广播专门负责启动和管理多个连接 一个设备可以支持多个角色但在给定的时间内只能支持一个角色GAP还定义了发现、连接、绑定的模式和过程 模式 可连接能够创建一个连接。状态不可连接、可连接可发现能够被发现(is advertising)。状态无、有限、常规可绑定如果可连接将于连接的设备配对以实现长时间连接。状态不可绑定、可绑定 过程 名称发现进入菜单并发现其它设备的名称。该名称与双模设备中的BR/EDR共享设备发现搜索可用于连接的设备1发现设备地址和名词2定义设备角色连接建立选择一个广播设备和它建立连接1指示链路层发送CONNECT_REQ2执行服务发现3请求设备认证4请求使用服务服务发现用于查找主设备和从设备之间对等的服务 8. SM(安全管理) 为了确保基于BLE技术的通信安全该技术提供了一些特性确保可信性、完整性、私密性及数据的加密下面给出BLE安全技术的整体概述后续会详细技术Pairing、Encryption、Privacy蓝牙安全提供哪些保护 蓝牙规范定义了保护用户数据及身份的安全特性。BLE技术的安全特性符号NIST或者FIPSBLE技术提供三种基本的安全服务 1身份验证和授权在设备间建立信任关系2加密和数据保护保护数据完整性和机密性3隐私和保密防止设备追踪BLE安全模型包含5个安全特性 1Pairing(配对)创建共享密钥的过程2Bonding(绑定)保存Pairing过程中创建的密钥以备后面使用3Device authentication(设备认证)验证存储的密钥4 Encryption (加密)数据保密5Message integrity(消息完整性)防止数据更改安全管理者的职责 1配对2密钥分配3生成哈希和短期密钥另一方面链路层负责数据的加密和解密BLE安全功能可针对无线通信中的以下常见威胁提供保护 1中间人攻击(Man-in-the-Middle Protection) 1防止被动窃听(Protection against Passive Eavesdropping)3隐私保护(Privacy Protection) 配对和绑定 蓝牙配对是相关各方交换其身份信息以建立信任关系并生成用于数据交换的加密密钥的过程。BLE技术提供多种配对选项具体取决于应用程序的安全要求BLE标准版本V4.0和V4.1使用安全简单配对模型用户可以在基于input/output 能力的Just Works、Passkey Entry、Out-of-Band的方法中选择一种BLE标准版本V4.2中新的LE安全连接配对模型、添加a numeric comparison method、引入introducing the Elliptical Curve DiffieHellman(ECDH)密钥交换算法以增强安全性下表总结了可以在双方之间使用的关联模型、具体取决于它们支持的I/O能力。术语配对是指安全密钥的生成和交换、术语绑定是指安全密钥的存储以备它们在后期使用 加密 BLE技术使用AES-CCM加密技术进行加密、加密由BLE控制器执行。加密函数使用FIPS-1971中定义的AES-128位块密码生成128位密钥 隐私 BLE技术还支持降低在一段时间内跟踪低功耗蓝牙设备的能力的功能为了解析私有地址设备需要预先绑定。公共地址是使用在之前配对或绑定过程中设备的IPK(Identity Resolving Key)生成的在蓝牙4.0和4.1标准中私有地址在主机上解析和生成。在蓝牙4.2和最新的标准中私有地址在控制器处解析和生成而不涉及主机
http://www.sczhlp.com/news/194019/

相关文章:

  • pc版网站生成Appwindows优化大师
  • 海南省建设标准定额网站网页版传奇世界
  • 湖北城乡建设厅官方网站广东公园网站建设代理公司
  • 新公司做网站有效果吗如何查询网站备案进度查询
  • 俄文视频网站开发带有互动的网站开发
  • 做网站和做系统有什么区别html5企业网站带后台
  • 做公司网站宣传公司499元做网站
  • 找公司网站建设3西安学校网站建设费用
  • 安阳做网站哪里好兰州专业网站建设公司哪家好
  • 会员注册网站怎么做软件推广兼职可以做吗
  • 网站开发需要研究什么广西住房城乡建设厅网站首页
  • 短视频网站平台怎么做的发外链的网站都要企业注册
  • 商丘做网站多少钱2021年企业所得税优惠政策最新
  • 青海省建设厅网站执业开发公司对设计单位奖惩
  • 沅江网站制作织梦网站定时
  • 建设银行秋招网站wordpress视频背景
  • 网站鼠标移上去显示层wordpress社交主题
  • wordpress网站下方php mysql网站开发项目式教程
  • 中国建设监理网站如何建一个免费试用网站
  • 自助建站平台哪家好黑龙江新闻法治在线
  • 设计师常去的网站网站开发语言更换
  • 淘宝客如何做返积分制网站沈阳世纪兴网站建设
  • 广州网站建设如何做阳江市住房和城乡建设局网站
  • 学院网站建设投标自己做网站开店
  • Gitee崛起:本土化战略如何重塑中国开发者生态?
  • c# HttpClient在自己服务器上访问第三方接口时出现HandshakeFailure的解决方案
  • 2025 年最新雕花板厂家推荐排行榜:聚焦金属 / 外墙 / 保温 / 隔热雕花板,助力采购方精准选优质品牌
  • 飞牛nas,小白,免费,远程方案,远程看电视,远程观影
  • 安卓Shell脚本
  • 深圳营销型网站建站在网站写小说怎么做封面