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

wordpress 签到 排行/自助优化排名工具

wordpress 签到 排行,自助优化排名工具,淮南网云小镇户型图,s什么网站可以接单做设计赚钱低功耗蓝牙体系整体架构说明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 Layer
4. 主机:L2CAP、ATT、GATT、GAP、SM
L2CAP1. 逻辑链路控制及适配协议
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通信速率为1Mbps;Bluettoth5.0支持1Mbps和2Mbps
  • 发送功率和通信距离:
    在这里插入图片描述

2. LL(链路层)

  • 针对射频控制及bit数据流的发送和接收,BLE链路层提供第一级的控制和数据结构定义

    • 蓝牙状态机及状态切换
    • 数据帧和广播帧格式
    • 链路层操作
    • 连接、数据包分组、重传
    • 链路层级安全
  • 链路层操作包括:广播、扫描、建立连接

    • 广播
      • 1. 广播是低功耗蓝牙技术中最基本的操作之一。
        2. 广播为设备提供了一种告知存在、允许连接建立的方法。
        2. 广播数据中可以包含设备支持的服务列表、设备名称、发射功率等
      • 下图展示了:一个低功耗蓝牙设备在一个或多个广播信道上进行数据广播,并被远程设备发现
        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. 扫描是扫描者为发现和连接广播设备,或仅仅接收广播数据进行的一种操作
      • 两种扫描模式被支持:被动扫描、主动扫描
      • 在被动扫描模式中,扫描者仅仅监听传入的广播数据包。扫描者循环切换每一个广播信道,每次只监听一个信道
        Upper LayerScannerAdvertiserAdvertisement1Found Device2Advertisement3Advertisement4Upper LayerScannerAdvertiser
      • 1. 在主动扫描模式中,扫描者监听传入的广播数据包,然后向广播者发送一包额外的扫描请求数据帧以获取更多信息。
        2. 通常在扫描应答帧中包含像所支持的服务列表、友好名称等信息,但是应用程序可以完全控制扫描应答帧中的内容
        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连接过程

        Initiator & MasterAdvertiser & SlaveAdvertisement1Advertising Channels1<->7:Total time < 3msConnect Request2par[initiator-advertiser]1<->7:Total time < 3ms"poll"3Data4Data 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_REQ
        2:执行服务发现
        3:请求设备认证
        4:请求使用服务
      • 服务发现:用于查找主设备和从设备之间对等的服务

8. SM(安全管理)

  • 为了确保基于BLE技术的通信安全,该技术提供了一些特性确保可信性、完整性、私密性及数据的加密
  • 下面给出BLE安全技术的整体概述,后续会详细技术:Pairing、Encryption、Privacy
  • 蓝牙安全提供哪些保护:
    • 蓝牙规范定义了保护用户数据及身份的安全特性。BLE技术的安全特性符号NIST或者FIPS
    • BLE技术提供三种基本的安全服务:
      1:身份验证和授权:在设备间建立信任关系
      2:加密和数据保护:保护数据完整性和机密性
      3:隐私和保密:防止设备追踪
    • BLE安全模型包含5个安全特性:
      1:Pairing(配对):创建共享密钥的过程
      2:Bonding(绑定):保存Pairing过程中创建的密钥,以备后面使用
      3:Device authentication(设备认证):验证存储的密钥
      4: Encryption (加密):数据保密
      5:Message 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和最新的标准中,私有地址在控制器处解析和生成,而不涉及主机

相关文章:

三:BLE协议架构简介

低功耗蓝牙体系整体架构说明1. PHY(物理层)2. LL(链路层)3. HCI(主机与控制器通信接口)4. L2CAP(逻辑链路控制及适配协议)5. ATT(属性协议)6. GATT(通用属性规范)7. GAP(通用访问规范)8. SM(安全管理)整体架构说明 架构层说明PHY1. 物理层2. 控制射频的发送和接收LL1. 链路层2.…...

小型双轮差速底盘双灰度循迹功能的实现

1. 功能说明 在机器人车体上安装2个 灰度传感器 &#xff0c;实现机器人按照下图所指定的路线进行导航运动&#xff0c;来模拟仓库物流机器人按指定路线行进的工作过程。 2. 使用样机 本实验使用的样机为R023e样机。 3. 功能实现 3.1 电子硬件 在这个示例中&#xff0c;我们采…...

电子签名?玩具罢了!

需要的前置知识&#xff1a;简单的canvas绘制线路过程 let canvas document.getElementById(id); //id为canvas标签元素的id&#xff0c;或通过其它方法获取标签 let ctx canvas.getContext(2d); //规定为2d绘制图片&#xff0c;即确定为2d画笔 ctx.strokeStyle "whit…...

【Spring Boot读取配置文件的方式】

Spring Boot 支持多种读取配置文件的方式&#xff0c;常用的方式有以下三种&#xff1a; application.properties&#xff1a; Spring Boot 默认会读取该文件作为应用的配置文件。可以在 src/main/resources 目录下创建该文件&#xff0c;并在其中配置应用的属性。 applicat…...

java学习路线规划

java学习路线规划 一、写在前面 兄弟&#xff0c;我整理了一下关于自己之前学习java的一些方向&#xff0c;给你归纳在这里&#xff0c;有空就来看看&#xff0c;希望对你有帮助。 二、java基础篇 1、认识java ​ 了解java历史&#xff0c;大概看看发展史&#xff0c;安装…...

格密码学习笔记(二):连续极小、覆盖半径和平滑参数

文章目录最短距离和连续极小值距离函数和覆盖半径格的平滑参数致谢最短距离和连续极小值 除了行列式&#xff0c;格的另一个基本量是格上最短非零向量的长度&#xff0c;即格中最短距离&#xff0c;其定义为 λ1min⁡x,y∈L,x≠y∥x−y∥min⁡z∈L,z≠0∥z∥.\begin{aligned} …...

ios 通过搜索设备MAC地址绑定

最近做了一个物联网项目,涉及到了设备绑定配网这块,需要了解一下iOS BLE与设备绑定的相关知识点,第一次接触蓝牙相关的项目,所以开始熟悉蓝牙的相关信息。没有去深入研究BabyTooth库&#xff0c;只是感觉CoreBluetooth已经让我更好的理解整个流程这个物联网项目的设备绑定流程是…...

Python实现人脸识别,进行视频跟踪打码,羞羞的画面统统打上马赛克

哈喽兄弟们&#xff0c;我是轻松~ 今天我们来实现用Python自动对视频打马赛克前言准备工作代码实战效果展示最后前言 事情是这样的&#xff0c;昨天去表弟家&#xff0c;用了下他的电脑&#xff0c;不小心点到了他硬盘里隐藏的秘密&#xff0c;本来我只需要用几分钟电脑的&…...

vcf bed起始位置是0还是1

VCF 起始位置为1, POS - position: The reference position, with the 1st base having position 1. Positions are sorted numerically, in increasing order, within each reference sequence CHROM. It is permitted to have multiple records with the same POS. Telome…...

Hexo+live2d | 如何把live2d老婆放进自己的博客

参考&#xff1a;Hexo添加Live2D看板娘最新教程live2d-widgetlive2d-widget-models网页/博客Hexo添加live2d游戏角色看板娘,简易添加&#xff0c;碧蓝航线等live2d新型游戏角色模型&#xff08;moc3&#xff09;live2d-moc3jsdelivr方法1可以直接去看参考文章的第一部分的第一篇…...

【微信小程序】-- 页面导航 -- 导航传参(二十四)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…...

Pytorch学习笔记#2: 搭建神经网络训练MNIST手写数字数据集

学习自https://pytorch.org/tutorials/beginner/basics/quickstart_tutorial.html 导入并预处理数据集 pytorch中数据导入和预处理主要用torch.utils.data.DataLoader 和 torch.utils.data.Dataset Dataset 存储样本及其相应的标签&#xff0c;DataLoader在数据上生成一个可迭…...

C语言 猜名次、猜凶手、杨辉三角题目详解

猜名次题目&#xff1a;5位运动员参加了10米台跳水比赛&#xff0c;有人让他们预测比赛结果&#xff1a;A选手说&#xff1a;B第二&#xff0c;我第三&#xff1b;B选手说&#xff1a;我第二&#xff0c;E第四&#xff1b;C选手说&#xff1a;我第一&#xff0c;D第二&#xff…...

蚁群算法负荷预测

%% 清空环境变量 clc clear close all format compact %% 网络结构建立 %% 清空环境变量 clc clear close all format compact %% 网络结构建立 %读取数据 dataxlsread(天气_电量_数据.xlsx,C12:J70);%前7列为每个时刻的发电量 最后列为天气 for i1:58 input(i,:)[data…...

ubuntu添加系统服务实现开机root权限运行

需求 开机自动运行程序(或脚本)&#xff0c;需要以root权限运行但不输入密码&#xff0c;也不能将密码写入文件。 环境 Ubuntu 20.04 解决方案 添加系统服务&#xff0c;然后通过systemctl控制。 操作步骤 假设目标程序为/home/xxx/test 1、创建service配置文件 [Unit…...

【阅读笔记】你不知道的Javascript--类与类型委托3

目录类一些常见原理混入行为委托委托理论类与对象更妙的设计与语法类型冷门关键词typeof 防范机制值原生函数访问内部属性类 一些常见原理 在继承或者实例化时&#xff0c;JavaScript 的对象机制并不会自动执行复制行为&#xff1b; 多态&#xff1a;JS 中的多态&#xff0c…...

文件服务设计

一、需求背景 文件的上传、下载功能是软件系统常见的功能&#xff0c;包括上传文件、下载文件、查看文件等。例如&#xff1a;电商系统中需要上传商品的图片、广告视频&#xff0c;办公系统中上传附件&#xff0c;社交类系统中上传用户头像等等。文件上传下载大致流程为&#…...

【批处理脚本】-1.22-字符串界定符号 ““

"><--点击返回「批处理BAT从入门到精通」总目录--> 共3页精讲(列举了所有字符串界定符号 ""的用法,图文并茂,通俗易懂) 在从事“嵌入式软件开发”和“Autosar工具开发软件”过程中,经常会在其集成开发环境IDE(CodeWarrior,S32K DS,Davinci,…...

【Flutter·学习实践·UI篇】基础且重要的UI知识

前言 参考学习官网&#xff1a;《Flutter实战第二版》 学习前先记住&#xff1a;Flutter 中万物皆为Widget&#xff0c;心中默念3次以上铭记于心。 这一点和开发语言Dart的变量一切皆是对象的概念&#xff0c;相互对应。 Widget 在前面的介绍中&#xff0c;我们知道在Flutt…...

【OpenCV】车牌自动识别算法的设计与实现

写目录一. &#x1f981; 设计任务说明1.1 主要设计内容1.1.1 设计并实现车牌自动识别算法&#xff0c;基本功能要求1.1.2 参考资料1.1.3 参考界面布局1.2 开发该系统软件环境及使用的技术说明1.3 开发计划二. &#x1f981; 系统设计2.1 功能分析2.1.1 车辆图像获取2.1.2 车牌…...

SpringBoot发送邮件

目录1. 获取授权码2. jar包引入3. 配置application4. 代码实现1. 获取授权码 以126邮箱为例&#xff0c;点开设置&#xff0c;选择POP3/SMTP/IMAP 开启POP3/SMTP服务&#xff0c;新增授权密码 扫码二维码&#xff0c;发送要求的短信内容到指定的号码即可&#xff0c;然后会返回…...

BigInteger类和BigDecimal类的简单介绍

文章目录&#x1f4d6;前言&#xff1a;&#x1f380;BigInteger类和BigDecimal类的由来&#x1f380;BigDecimal类的优点&#x1f380;BigDecimal类容易引发的错误&#x1f3c5;处理方法&#x1f4d6;前言&#xff1a; 本篇博客主要介绍BigInteger类和BigDecimal类的用途及常…...

mysql五种索引类型---实操版本

背景 最近学习了Mysql的索引&#xff0c;索引对于Mysql的高效运行是非常重要的&#xff0c;正确的使用索引可以大大的提高MySql的检索速度。通过索引可以大大的提升查询的速度。不过也会带来一些问题。比如会降低更新表的速度&#xff08;因为不但要把保存数据还要保存一下索引…...

【微信小程序】-- 页面导航 -- 编程式导航(二十三)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…...

路由追踪工具 traceroute 使用技巧

路由追踪工具 traceroute 使用技巧路由追踪工作原理路由追踪实例1. 如何运行 traceroute2. 禁用 IP 地址和主机名映射3. 配置回复等待时间4. 配置每一跳的查询次数5. 配置 TTL 值我想知道一个数据包从出发地到目的地所遵循的路由&#xff0c;即所有转发实体&#xff08;中间的路…...

NGINX学习笔记 - 一篇了解NGINX的基本概念(一)

NGINX是什么&#xff1f; NGINX是一款由俄罗斯人伊戈尔赛索耶夫使用C语言开发的、支持热部署的、轻量级的WEB服务器/反向代理服务器/电子邮件代理服务器&#xff0c;因为占用内存较少&#xff0c;启动极快&#xff0c;高并发能力强&#xff0c;所以在互联网项目中广泛应用。可…...

Spring-Cloud-Gateway的过滤器的执行顺序问题

过滤器的种类 Spring-Cloud-Gateway中提供了3种类型的过滤器&#xff0c;分别是&#xff1a;路由过滤器、Default过滤器和Global过滤器。 路由过滤器和Default过滤器 路由过滤器和Default过滤器本质上是同一种过滤器&#xff0c;只不过作用范围不一样&#xff0c;路由过滤器…...

Android性能优化的底层逻辑

前言性能优化仿佛成了每个程序员开发的必经之路&#xff0c;要想出人头地&#xff0c;与众不同&#xff0c;你还真需要下点功夫去研究Android的性能优化&#xff0c;比如说&#xff0c;从优化应用启动、UI加载、再到内存、CPU、GPU、IO、还有耗电等等&#xff0c;当你展开一个方…...

Gradle+SpringBoot多模块开发

关于使用Gradle结合SpringBoot进行多模块开发。 本来是打算使用buildSrc之类的&#xff0c;但是感觉好像好麻烦&#xff0c;使用这种方法就可以实现&#xff0c;没必要采用其他的。 我不怎么会表述&#xff0c;可能写的跟粑粑一样&#xff0c;哈哈哈哈 这是我的项目地址。 存在…...

Qt 之 emit、signals、slot的使用

本文福利&#xff0c;莬费领取Qt开发学习资料包、技术视频&#xff0c;内容包括&#xff08;C语言基础&#xff0c;Qt编程入门&#xff0c;QT信号与槽机制&#xff0c;QT界面开发-图像绘制&#xff0c;QT网络&#xff0c;QT数据库编程&#xff0c;QT项目实战&#xff0c;QSS&am…...