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

【无人机】电子速度控制器 (ESC) 驱动电机,常见的电调协议,PWM协议,Oneshot协议,DShot协议

目录

1、ESCs & 电机

#1.1、ESC 协议 --ESC Protocols

#1.1.1、PWM协议,需要校准

#1.1.2、One Shot 125协议,速率更快

#1.1.3、DShot   ,减少延迟,无需校准

#1.1.4、无人机CAN

2、PWM 伺服系统和 ESC(电机控制器)

#2.1、ESC 连接概述

#2.2、电源连接

#固定翼 / VTOL

#多旋翼

#光隔离 ESC

#PX4 配置

#2.3、故障 排除

#2.3.1、接地连接,信号接地

#电源连接/光隔离 ESC

#最小值无效

#超时

#有效的脉冲形状、电压和更新速率

3、DShot 电调

#3.1、布线/连接

#3.2、配置

#3.3、ESC 命令

3.3.1、发出第一声电机哔哔声(有助于识别电机):

3.3.2、检索 ESC 信息(需要遥测,见下文):

3.3.3、永久反转第一个电机的旋转方向:

#3.4、遥测

4、OneShot 伺服系统和 ESC(电机控制器)

#4.1、概述

#4.2、设置

#布线

#PX4 配置

1、ESCs & 电机

参考:ESCs & Motors | PX4 User Guide (v1.14) 

ESCs & Motors | PX4 Guide (v1.15) 

许多 PX4 无人机使用无刷电机,由飞行控制器通过电子速度控制器 (ESC) 驱动。 ESC 从飞行控制器获取信号并使用它来设置控制传递给电机的功率水平。

PX4 支持许多将信号发送到 ESC 的常见协议:PWM ESC、OneShot ESC、DShot ESC、DroneCAN ESC、PCA9685 ESC(通过 I2C)和一些 UART ESC(来自 Yuneec)。

有关更多信息,请参阅:

  • PWM ESC 和舵机
  • OneShot ESC 和伺服器
  • DShot
  • DroneCAN 电调
  • ESC 校准
  • ESC 固件和协议概述 (打开新窗口)(oscarliang.com)

下面给出了 PX4 支持的主要 ESC/Servo 协议的高级概述。

#1.1、ESC 协议 --ESC Protocols

#1.1.1、PWM协议,需要校准

PWM ESC 通常用于固定翼飞行器和地面飞行器(需要低延迟的飞行器,如多旋翼飞行器,通常使用 oneshot 或 dshot ESC)。

PWM ESC 使用周期性脉冲进行通信,其中脉冲的宽度表示所需的功率水平。 脉冲带宽通常介于 1000uS (零功率) 和 2000uS (全功率) 之间。 信号的周期性帧速率取决于 ESC 的能力,通常在 50Hz 和 490 Hz 之间(对于非常小的“关闭”周期,理论最大值为 500Hz)。 速率越高,ESC 越好,尤其是在需要快速响应设定值变化的情况下。 对于 PWM 伺服器,50Hz 通常就足够了,而且许多不支持更高的速率。

50HZ,20ms。500HZ,2ms。一个脉冲的带宽在1ms-2ms

除了是一种相对较慢的协议之外,PWM ESC 还需要校准,因为代表低值和高值的范围值可能会有很大差异。 与 dshot 和 DroneCAN ESC 不同,它们无法提供有关 ESC(或伺服)状态的遥测和反馈。

设置:

  • ESC 接线
  • PX4 配置
  • ESC 校准

#1.1.2、One Shot 125协议,速率更快

OneShot 125 电调通常比 PWM 电调快得多,因此响应更快,更容易调整。 对于多旋翼飞行器,它们比 PWM 更受欢迎(但不如 DShot ESC,后者不需要校准,并且可以提供遥测反馈)。 OneShot 协议有许多变体,它们支持不同的速率。 PX4 仅支持 OneShot 125。

OneShot 125 与 PWM 相同,但使用的脉冲宽度短 8 倍(从 125us 到 250us,从零功率到全功率)。 这使得 OneShot 125 ESC 具有更短的占空比/更高的速率。 对于 PWM,理论最大值接近 500 Hz,而对于 OneShot,则接近 4 kHz。 实际支持的速率取决于所使用的 ESC。

设置:

  • ESC 接线(与 PWM ESC 相同)
  • PX4 配置
  • ESC 校准

#1.1.3、DShot   ,减少延迟,无需校准

DShot 是一种数字 ESC 协议,强烈推荐用于可以从减少延迟中受益的车辆,特别是赛车多旋翼飞机、VTOL 车辆等。

它减少了延迟,并且比 PWM 和 OneShot 更强大。 此外,它不需要 ESC 校准,某些 ESC 提供遥测,并且您可以调整电机旋转方向

PX4 配置在 Actuator Configuration 中完成。 在 UI 中选择更高速率的 DShot ESC 会导致更低的延迟,但较低的速率更稳健(因此更适合具有较长导程的大型飞机);一些 ESC 仅支持较低的速率(有关信息,请参阅数据表)。

设置:

  • ESC 接线(与 PWM ESC 相同)
  • DShot 还包含有关如何发送命令等的信息。

#1.1.4、无人机CAN

当 DroneCAN 是车辆使用的主要总线时,建议使用 DroneCAN ESC。 PX4 实现目前限制为 200Hz 的更新速率。

DroneCAN 与 Dshot 有许多相似的好处,包括高数据速率、长引线上的稳健连接、遥测反馈、无需校准 ESC 本身。

DroneCAN ESC 通过 DroneCAN 总线连接(该链接中介绍了设置和配置)。

2、PWM 伺服系统和 ESC(电机控制器)

参考: 

PWM Servos and ESCs (Motor Controllers) | PX4 Guide (v1.15) 

PWM Servos and ESCs (Motor Controllers) | PX4 User Guide (v1.14) 

本节介绍如何连接基于 PWM 的无刷电机控制器和伺服系统并为其供电。

#2.1、ESC 连接概述

每个 PWM 电子速度控制器 (ESC) 至少有以下电线:

  • 功率 VBAT(通常为粗和红色)
  • 电源 GND(通常为粗黑色)

在伺服插头上:

  • PWM 信号(通常为白色或黄色)
  • GND(通常为黑色或棕色)

伺服插头也可能有一根 +5V 线(通常为红色或橙色)。 这根电线的用途及其连接方式取决于特定的 ESC 和车辆类型。

提示

在某些情况下 (见下文) 不需要 +5V 线路。 无需剪断 +5V 线路,您可以轻轻提起该引脚的伺服连接器塑料外壳的锁定片(例如,使用切割刀片或小螺丝刀)并将引脚拉出。 用电气隔离胶带将其隔离,并将其粘在伺服电缆上。 这使您可以稍后在需要时轻松撤消电线

#2.2、电源连接

始终将 Power VBAT 和 GND 连接到电池,并将 PWM 信号和 GND 从伺服插头连接到电机。

提示

没有不需要连接信号接地的设置

与 +5V 线(如果有)的连接取决于 ESC/车辆。

#固定翼 / VTOL

在固定翼(或 VTOL)ESC 上,+5V 线路通常提供电池消除电路 (BEC) 的输出。

  • 这可以连接到 Pixhawk 伺服导轨,用于为襟翼、副翼等的伺服系统提供动力。

    注意

    从自动驾驶仪的航空电子设备电源为伺服系统或 ESC 供电是不安全的。 这也是为什么 Pixhawk 系列飞控不给舵机轨供电的原因(AUX 舵机轨没有通电,电流限制为 1A)。

  • 根据经验,您应该只将一个 BEC 的输出连接到 Pixhawk 伺服导轨。 (虽然可以将多个 +5V 输出连接到电源轨,但这取决于 ESC 型号)。

#多旋翼

在多旋翼飞行器上,+5V 线路可能不存在或(如果存在)可能未连接。

  • 多旋翼飞行器通常不需要伺服器,因此不需要为 Pixhawk 伺服导轨供电(电机通常由配电板单独供电)。
  • 将电线连接到伺服导轨没有任何危害(或好处)。
  • DJI ESC 通常包含此线,但未连接。

#光隔离 ESC

在没有 BEC 的光隔离 ESC 上,可能需要连接 +5V 线并为其供电(以便为 ESC 微控制器供电)。 在这种情况下,电线通常会连接到飞控伺服导轨,并且伺服导轨必须由额外的 BEC 供电。

#PX4 配置

PWM 电机和舵机使用 QGroundControl 中的 执行器配置 屏幕进行配置。

分配输出和基本校准后,您可能希望执行 ESC 校准。

其他 PX4 PWM 配置参数可以在这里找到: PWM 输出。

#2.3、故障 排除

Pixhawk 兼容市面上所有的 PWM 电调。 如果特定 ESC 无法运行,则表示其连接或配置不正确。

#2.3.1、接地连接,信号接地

检查 ESC 舵机连接器的接地(黑线)是否连接到 Pixhawk(没有没有接地参考的有效接线设置)。

警告

不接地,飞行是不安全的。 这是因为对于每个正脉冲(ESC 信号),都需要一个相邻的接地返回路径,以获得干净的信号形状。

下图显示了如果未连接 GND 时信号的噪声有多大。

#电源连接/光隔离 ESC

如果使用不提供 BEC / 电源输出的光隔离电调,请确保电调不需要为光隔离器供电 +5V 线路。

请参阅本页的第一部分说明其他电源连接注意事项。

#最小值无效

一些 ESC 在开机前需要看到一个特殊的低值脉冲(以保护在通电时油门杆处于中间位置的用户)。

PX4 在无人机撤防时发送脉冲,当 ESC 撤防时使 ESC 静音,并确保 ESC 正确初始化。 作为执行器配置/测试过程的一部分,确定并设置适当的值(在内部,这些值将每个输出的参数设置为 PWM_MAIN_DISn 和 PWM_AUX_DISn)。

#超时

如果某些 ESC 在通电几秒钟内没有收到有效的低脉冲,它们可能会超时(阻止电机启动)。

PX4 在开机后立即发送空闲/撤防脉冲以停止 ESC 超时。 作为执行器配置/测试过程的一部分,确定并设置适当的值(在内部,这些值将每个输出的参数设置为 PWM_MAIN_DISn 和 PWM_AUX_DISn)。

#有效的脉冲形状、电压和更新速率

注意

这应该不是问题,但为了完整性而包括

Pixhawk 使用所有主要品牌(Futaba、Spektrum、FrSky)使用的有源高脉冲。

PWM 接口没有正式标准化,但是,普通的微控制器都使用 TTL 或 CMOS 电压电平。 TTL 定义为 0.8V < 0.8V 和高 > 2.0V,一些制造商使用 2.4V >以获得额外的噪声容限。 CMOS logic 定义为类似的电压电平。 成功切换到导通状态不需要 5V 电平。

提示

Futaba、FrSky 和 Spektrum 接收器输出 3.3V 或 3.0V 电压电平,因为它们远高于 2.4V。 Pixhawk 采用了这种常见的行业模式,并在最近的电路板上输出 3.3V 电平。

3、DShot 电调

DShot 是一种替代 ESC 协议,与 PWM 或 OneShot 相比具有多项优势:

  • 减少延迟。
  • 通过校验和提高稳健性。
  • 无需 ESC 校准,因为该协议使用数字编码。
  • 遥测反馈在某些 ESC 上可用/受支持。
  • 可以在需要时通过命令反转电机旋转方向(而不是物理移动电线/重新焊接)。
  • 支持其他有用的命令。

本文介绍如何连接和配置 DShot ESC。

#3.1、布线/连接

DShot ESC 的接线方式与 PWM ESC 相同。 唯一的区别是它们只能连接到 FMU,并且通常只能连接到某些引脚子集。

注意

在连接之前,您可能需要检查执行器配置屏幕,以查看控制器上的哪些引脚可用于 DShot!

同时具有 FMU 和 IO 板的 Pixhawk 控制器通常将它们分别标记为 (FMU) 和 (IO)。 这些与 Actuator Configuration 屏幕上的 和 output 选项卡匹配。 对于这些控制器,请将 DShot ESC 连接到端口。AUXMAINPWM AUXPWM MAINAUX

没有 IO 板的控制器通常会将(单个)输出端口标记为 ,这是您将连接 DShot ESC 的位置。 如果没有 IO 的控制器有自己的固件,则 actuator 分配将分配给匹配的输出。 但是,如果带/不带 IO 板的硬件使用相同的固件,例如 Pixhawk 4 和 Pixhawk 4 Mini,则在两种情况下使用的执行器分配选项卡是相同的:(即在 “mini” 情况下不匹配端口标签)。MAINPWM MAINPWM AUXMAIN

#3.2、配置

警告

更改 ESC 配置参数前请移除螺旋桨!

在 Actuator Configuration 中为所需的输出启用 DShot

DShot 有不同的速度选项:DShot150DShot300DShot600 和 DShot1200,其中数字表示以千比特/秒为单位的速度。 您应该将参数设置为您的 ESC 支持的最高速度(根据其数据表)。

然后连接电池并布防车辆。 ESC 应初始化,电机沿正确方向转动。

  • 如果电机未按正确的方向旋转(对于所选机身),您可以在 UI 中使用 Set Spin Direction 选项反转它们(此选项在您选择 DShot 并分配电机后显示)。 您还可以通过发送 ESC 命令来反转电动机。

#3.3、ESC 命令

命令可以通过 MAVLink shell 发送到 ESC。 有关支持的命令的完整参考,请参阅此处。

最重要的是:

  • 3.3.1、发出第一声电机哔哔声(有助于识别电机):

    dshot beep1 -m 1
  • 3.3.2、检索 ESC 信息(需要遥测,见下文):

    nsh> dshot esc_info -m 2
    INFO  [dshot] ESC Type: #TEKKO32_4in1#
    INFO  [dshot] MCU Serial Number: xxxxxx-xxxxxx-xxxxxx-xxxxxx
    INFO  [dshot] Firmware version: 32.60
    INFO  [dshot] Rotation Direction: normal
    INFO  [dshot] 3D Mode: off
    INFO  [dshot] Low voltage Limit: off
    INFO  [dshot] Current Limit: off
    INFO  [dshot] LED 0: unsupported
    INFO  [dshot] LED 1: unsupported
    INFO  [dshot] LED 2: unsupported
    INFO  [dshot] LED 3: unsupported
    • 3.3.3、永久反转第一个电机的旋转方向:

    dshot reverse -m 1  //先输入这行代码,按回车,等待反馈已反转电机的命令dshot save -m 1     //电机反转后,输入这行代码,保存电机转向//对1234号电机进行设置,分别替换为数字1234

#3.4、遥测

一些 ESC 能够将遥测数据发送回飞行控制器,包括:

  • 温度
  • 电压
  • 当前
  • 累积电流消耗
  • RPM 值

这些 DShot ESC 将有一根额外的遥测线。

要启用此功能(在支持此功能的 ESC 上):

  1. 将所有 ESC 的所有遥测线连接在一起,然后将它们连接到未使用的飞行控制器串行端口上的 RX 引脚之一。
  2. 使用 DSHOT_TEL_CFG 在该串行端口上启用遥测。

重新启动后,您可以使用以下方法检查遥测是否正常工作(确保电池已连接):

dshot esc_info -m 1

提示

您可能需要配置 MOT_POLE_COUNT 才能获得正确的 RPM 值。

提示

并非所有支持 DSHOT 的 ESC 都支持(例如 APD 80F3x),即使支持并启用遥测也是如此。 生成的错误为:[esc_info]

ERROR [dshot] No data received. If telemetry is setup correctly, try again.

查看制造商文档以获取确认/详细信息。

4、OneShot 伺服系统和 ESC(电机控制器)

PX4 支持 OneShot 125 ESC(仅限)。 它们通常比 PWM ESC 更快、响应更快,但共享相同的布线设置(您需要做的就是设置一些不同的参数)

注意

应尽可能使用 DShot 而不是 OneShot,因为它响应更快、更可靠、不需要校准,并且可能支持遥测。 不使用 DShot 的唯一原因是硬件限制(可用的 DShot 引脚不足或使用不支持 DShot 的 ESC)。

#4.1、概述

OneShot 本质上是 PWM 的一个版本,理论上可以快 8 倍。

PWM 和 OneShot 都使用周期性脉冲进行通信,其中脉冲的宽度表示所需的功率水平。

对于 PWM,脉冲长度通常在 1000us(零)和 2000us(全功率)之间

而对于 OneShot 125,脉冲宽度短 8 倍,范围从 125us(零功率)到 250us(全功率)。

脉冲可以发送的理论最大速率以及响应速度取决于最大脉冲的宽度。 对于 PWM,此速率接近 500 Hz,而对于 OneShot,则接近 4 kHz。 在实践中,OneShot ESC 的实际最大速率通常在 1 kHz 到 2 kHz 之间,具体取决于所使用的 ESC。

#4.2、设置

#布线

接线与 PWM ESC(和 dshot)完全相同。

#PX4 配置

要启用 OneShot,请在 Actuator Configuration 期间为一组输出选择协议。 请注意,输出范围值设置为正常 PWM 范围内的值(名义上为 )。 这些在内部进行缩放,以输出适合 Oneshot 的脉冲宽度。10002000

然后执行 ESC 校准。

相关文章:

【无人机】电子速度控制器 (ESC) 驱动电机,常见的电调协议,PWM协议,Oneshot协议,DShot协议

目录 1、ESCs & 电机 #1.1、ESC 协议 --ESC Protocols #1.1.1、PWM协议&#xff0c;需要校准 #1.1.2、One Shot 125协议&#xff0c;速率更快 #1.1.3、DShot &#xff0c;减少延迟&#xff0c;无需校准 #1.1.4、无人机CAN 2、PWM 伺服系统和 ESC&#xff08;电机控…...

LeadeRobot具身智能应用标杆:无人机X柔韧具身智能,空中精准作业游刃有余

当前,具身智能已成为全球科技领域的前沿焦点,更受到国家战略级重视,吸引科技产业巨头抢滩布局。但同时,具身智能的商业化路径、规模化应用场景、技术成本等难题也开始在资本界与产业圈引起广泛讨论。 目前,万勋科技基于Pliabot 柔韧技术已推出多款具身智能柔韧机器人产品,在柔…...

WebSocket:实现实时双向通信的技术

WebSocket是一种网络通信协议&#xff0c;它在单个TCP连接上提供全双工通信。WebSocket协议在2011年被IETF&#xff08;互联网工程任务组&#xff09;标准化为RFC 6455&#xff0c;并由W3C&#xff08;万维网联盟&#xff09;制定了WebSocket API标准&#xff0c;使得客户端&am…...

探索 HumanoidBench:类人机器人学习的新平台

在科技飞速发展的当下&#xff0c;类人机器人逐渐走进我们的视野&#xff0c;它们有着和人类相似的外形&#xff0c;看起来能像人类一样在各种环境里完成复杂任务&#xff0c;潜力巨大。但实际上&#xff0c;让类人机器人真正发挥出实力&#xff0c;还面临着重重挑战。 这篇文…...

「数据可视化 D3系列」入门第十一章:力导向图深度解析与实现

D3.js 力导向图深度解析与实现 力导向图核心概念 力导向图是一种通过物理模拟来展示复杂关系网络的图表类型&#xff0c;特别适合表现社交网络、知识图谱、系统拓扑等关系型数据。其核心原理是通过模拟粒子间的物理作用力&#xff08;电荷斥力、弹簧引力等&#xff09;自动计…...

「数据可视化 D3系列」入门第八章:动画效果详解(让图表动起来)

动画效果详解 一、D3.js动画核心API1. d3.transition()2. transition.duration()3. transition.delay()4. 其他重要API 二、动画实现原理三、完整动画示例解析1. 柱状图生长动画2. 文本跟随动画 四、动画效果优化技巧1. 缓动函数选择&#xff1a;2. 组合动画&#xff1a;3. 动画…...

index: 自动化浏览器智能体

GitHub&#xff1a;https://github.com/lmnr-ai/index 更多AI开源软件&#xff1a;https://www.aiinn.cn/ 在做浏览器自动化脚本时&#xff0c;我们常常需要编写大量代码来处理复杂的网页交互&#xff0c;不仅耗时耗力&#xff0c;还难以调试和优化&#xff0c;要是出错更是难以…...

网页端调用本地应用打开本地文件(PDF、Word、excel、PPT)

一、背景原因 根据浏览器的安全策略&#xff0c;在网页端无法直接打开本地文件&#xff0c;所以需要开发者曲线救国。 二、实现步骤 前期准备&#xff1a; 确保已安装好可以打开文件的应用软件&#xff0c;如&#xff0c;WPS&#xff1b; 把要打开的文件统一放在一个文件夹&am…...

如何批量在多个 Word 文档末尾添加广告页面

Word是我们日常使用非常频繁的文档编辑软件&#xff0c;凭借其强大的文本处理功能&#xff0c;如文字输入、格式设置、段落排版、图片插入等&#xff0c;可以帮助我们轻松创建专业且美观的文档。不过呢当我们需要将这些文档分享给他人时&#xff0c;往往需要在每个文档的末尾添…...

JavaScript原生实现简单虚拟列表

旧笔记&#xff0c;最近使用时做了点新优化&#xff0c;之前只发在了个人博客上 地址&#xff1a;JavaScript原生实现简单虚拟列表 背景 在公司项目中&#xff0c;需要给商品配置大量的属性值&#xff0c;可能其中一个属性的值数量就有成百上千条。 一个商品会有很多属性&…...

安心联车辆管理平台应用前景分析

安心联车辆管理平台凭借其技术创新与行业适配能力&#xff0c;展现出广阔的应用前景。以下从技术驱动、行业覆盖、实际效益、市场策略及未来潜力五个维度进行分析&#xff1a; 一、技术驱动的核心竞争力 高精度定位与多传感器融合 安心联采用北斗/GPS双模定位技术&#xff0c;实…...

力扣每日打卡 2176. 统计数组中相等且可以被整除的数对(简单)

力扣 2176. 统计数组中相等且可以被整除的数对 简单 前言一、题目内容二、解题方法1. 暴力解法2.官方题解官方也是暴力解法 前言 这是刷算法题的第十三天&#xff0c;用到的语言是JS 题目&#xff1a;力扣 2176. 统计数组中相等且可以被整除的数对(简单) 一、题目内容 给你一…...

OpenStack Yoga版安装笔记(22)Swift笔记20250418

一、官方文档 https://docs.openstack.org/swift/yoga/admin/objectstorage-components.html#https://docs.openstack.org/swift/yoga/admin/objectstorage-components.html# 二、对象存储简介&#xff08;Introduction to Object Storage&#xff09; OpenStack 对象存储&a…...

Linux 线程互斥

目录 Linux线程互斥 进程线程间的互斥相关背景概念 互斥量的接口 初始化互斥量 互斥量加锁和解锁 锁的封装 ​编辑 互斥量加锁的非阻塞版本 互斥量实现原理探究 可重入VS线程安全 概念 常见的线程不安全的情况 常见的线程安全的情况 常见的不可重入的情况 常见的…...

webgl入门实例-12WebGL 投影矩阵 (Projection Matrix)基本概念

WebGL 投影矩阵 (Projection Matrix) 投影矩阵是将3D场景从视图空间(相机空间)转换到裁剪空间的关键矩阵&#xff0c;它决定了3D物体如何投影到2D屏幕上。 投影矩阵的作用 定义3D空间到2D平面的映射方式确定视景体(view frustum)的形状和范围实现透视效果(近大远小)或正交投…...

《实战AI智能体》——邮件转工单的AI自动化

💡 为什么使用 邮件转工单(AI自动化)模板 想象一下,您的邮箱像是一个繁忙的宇宙港口,每封邮件都是一艘载着信息的飞船。当这些飞船抵达时,我们的自动化系统就像是一位高效的宇宙调度员,迅速将每艘飞船(邮件)转化为一艘艘探索号(工单),并为它们分配勇敢的宇航员(…...

YOLOv8 Bug 及解决方案汇总 【2024.1.24更新】【环境安装】【训练 断点续训】OMPError / KeyError

YOLOv8 Bug 及解决方案汇总&#xff1a;深入解析与应对 引言 YOLOv8作为一款高性能的目标检测算法&#xff0c;在实际应用中难免会遇到各种各样的问题。本文将对YOLOv8常见的Bug进行汇总&#xff0c;并提供相应的解决方案&#xff0c;旨在帮助开发者更好地使用和优化YOLOv8。…...

健康养生:开启活力生活新篇章

在当代社会&#xff0c;熬夜加班、久坐不动、外卖快餐成为许多人的生活常态&#xff0c;随之而来的是各种亚健康问题。想要摆脱身体的疲惫与不适&#xff0c;健康养生迫在眉睫&#xff0c;它是重获活力、拥抱美好生活的关键。​ 应对不良饮食习惯带来的健康隐患&#xff0c;饮…...

Yocto项目实战教程 · 第4章:4.3小节-层

&#x1f50d; B站相应的视频教程&#xff1a; &#x1f4cc; Yocto项目实战教程-第4章-4.3小节-层 记得三连&#xff0c;标为原始粉丝。 在 Yocto 项目中&#xff0c;元数据&#xff08;Metadata&#xff09;不仅是构建系统的核心驱动力&#xff0c;更是实现高度定制化、可移植…...

小红书爬虫,小红书api,小红书数据挖掘

背景&#xff1a; 小红书&#xff08;Xiaohongshu&#xff09;是一款结合社交、购物和内容分享的移动应用&#xff0c;近年来在中国以及全球范围内拥有大量的用户群体。小红书上的内容包括用户的消费体验、生活方式、旅行分享、时尚搭配等。通过这些内容&#xff0c;用户可以了…...

选择 iOS 按键精灵无根有根越狱辅助工具的理由

节省成本​ 使用 iOS 按键精灵&#xff0c;每台设备可为你减少 5 - 10 元的签名成本。对于需要使用大量脚本或者多设备操作的用户来说&#xff0c;长期下来能够节省一笔可观的费用。​ 不断更新优化​ 按键精灵团队始终致力于产品的更新与优化。新版本不断增加新功能&#x…...

电脑里的AI帮手:Open Interpreter智能助手食用指南

Open Interpreter简介如下&#xff1a; interpreter是一个使用python开发的命令行工具&#xff0c;可以让你在终端中使用类似AI对话的方式&#xff0c;只需简单输入指令要求&#xff0c;即可自动编写程序、执行代码&#xff0c;实现各种自动化操作interpreter有自动检测输出结…...

Windows软件界面分析软件-控件识别工具

Inspect.exe 这是微软提供的一款 UI 自动化检查工具&#xff0c;主要用于开发和测试应用程序的辅助功能&#xff08;Accessibility&#xff09;及 UI 自动化。 主要功能&#xff1a; 查看界面元素的属性&#xff08;如名称、角色、状态、位置等&#xff09;。 支持 UIA&…...

iOS 冷启动时间监控:启动起点有哪些选择?

⏱️ iOS 冷启动时间监控&#xff1a;启动起点有哪些选择&#xff1f; 作者&#xff1a;侯仕奇 来源&#xff1a;sqi.io 在监控 iOS 冷启动性能时&#xff0c;一个关键问题是&#xff1a;如何精确记录 App 冷启动的开始时间&#xff1f; 本文将对不同的“冷启动起点”监控方式…...

MacOS怎么显示隐藏文件

现象描述&#xff1a; 有些文件比如git的配置文件会作为隐藏文件存在。 Mac os默认是不显示隐藏文件的。 但是很多场合下我们需要查看或者编辑这些隐藏文件。 解决方法&#xff1a; 如下图所示&#xff0c;在Finder中使用Shift⇧Command⌘.快捷键 显示和隐藏都是同样的按…...

苹果紧急修复两个已被利用的iOS漏洞,用于针对特定目标的复杂攻击

苹果公司已发布iOS 18.4.1和iPadOS 18.4.1更新&#xff0c;修复两个被用于针对特定iPhone用户实施高度定向、复杂攻击的关键零日漏洞。 这两个漏洞存在于CoreAudio和RPAC组件中&#xff0c;攻击者可利用它们在受影响设备上执行任意代码或绕过安全保护机制。 两个正被活跃利用…...

8.观察者模式:思考与解读

原文地址:观察者模式&#xff1a;思考与解读 更多内容请关注&#xff1a;7.深入思考与解读设计模式 引言 在开发软件时&#xff0c;系统的某些状态可能会发生变化&#xff0c;而你希望这些变化能够自动通知到依赖它们的其他模块。你是否曾经遇到过&#xff0c;系统中某个对象…...

13.编码器的结构

从入门AI到手写Transformer-13.编码器的结构 13.编码器的结构代码 整理自视频 老袁不说话 。 13.编码器的结构 T r a n s f o r m e r E n c o d e r : 输入 [ b , n ] TransformerEncoder:输入[b,n] TransformerEncoder:输入[b,n] E m b e d d i n g : − > [ b , n , d ]…...

java 设计模式之模板方法模式

简介 模板方法模式&#xff1a;定义一个算法的基本流程&#xff0c;将一些步骤延迟到子类中实现。模板方法模式可以提高代码的复用性&#xff0c; 模板方法中包含的角色&#xff1a; 抽象类&#xff1a;负责给出一个算法的基本流程&#xff0c;它由一个模板方法和若干个基本…...

C++面向对象

面向对象的思想 面向过程&#xff1a; 根据程序的执行过程&#xff0c;来设计软件的所有细节。面向过程的缺点&#xff1a;开发大型项目时&#xff0c;越来越难以把控&#xff0c;甚至失去控制。后期维护、更新成本很大。解决方案&#xff1a;使用面向对象。 什么是面向对象…...

守护进程编程

目录 一、守护进程 1.1 守护进程概述 1.2 守护进程的功能及特点 1.2.1 守护进程的功能 1.2.2 守护进程的特点 1.3 主要过程 1.4 阿里云服务器编程实现守护进程 1.4.1 daemon 命令 1.4.2 nohup命令 1.4.3 fork()编程实现 1.5 在树莓派中通过三种方式创建守护进程 1.5…...

【Spring Boot 源码学习】深入 ConfigurableEnvironment 的初始化过程

《Spring Boot 源码学习系列》 深入 ConfigurableEnvironment 的初始化过程 一、引言二、配置环境的初始化2.1 源码总览2.2 prepareEnvironment 方法2.2.1 获取或创建可配置环境2.2.2 配置环境并设置参数2.2.3 将配置属性源附加到环境中2.2.4 触发环境准备事件2.2.5 将DefaultP…...

若依集成BladeX单点登录的令牌管理与api请求流程

目录 概述系统架构单点登录流程令牌管理机制接口调用流程关键代码实现数据结构安全性考虑常见问题与解决 概述 本文档详细说明若依系统如何实现与BladeX的单点登录集成&#xff0c;包括令牌管理和接口调用的完整流程。整个集成采用基于OAuth2的授权码流程&#xff0c;允许用…...

54常用控件_QLCDNumber的属性

目录 代码示例: 倒计时 QLCDNumer 是一个专门用来显示数字的控件.类似于“老式计算器”的效果 核心属性 属性 说明 intValue QLCDNumber显示的数字值(int). value QLCDNumber 显示的数字值(double). 和intValue是联动的. 例如给value设为1.5, intValue的值就是2. 另外&a…...

IcePlayer音乐播放器项目分析及学习指南

IcePlayer音乐播放器项目分析及学习指南 项目概述 IcePlayer是一个基于Qt5框架开发的音乐播放器应用程序&#xff0c;使用Visual Studio 2013作为开发环境。该项目实现了音乐播放、歌词显示、专辑图片获取等功能&#xff0c;展现了桌面应用程序开发的核心技术和设计思想。 技…...

【ELF2学习板】Ne10进行FFT测试

目录 引言 Ne10简介 交叉编译Ne10 测试 测试程序 测试结果 结语 引言 在上一篇博文介绍了FFTW在ELF2开发板的测试。其中我们提到--enable-neon选项在aarch64平台下无法启用。接下来测试一个专门用NEON指令优化的FFT库Ne10。 Ne10简介 NE10 是一个面向 ARM 架构的开源数…...

Android device PCO (protocol configuration options) intro

术语 英文缩写英文全称中文PCOprotocol configuration options协议配置选项RILradio interface layer 无线电接口层PCO介绍 PCO(Protocol Configuration Options) 是 3GPP 标准协议(TS 24.008)中定义的核心概念,用于在 LTE/5G 网络建立 PDN 连接时传递动态配置参数(如 D…...

HAL库通过FATFS和SDIO+DMA写入SD卡数据错误

HAL库F4版本 1.28.1 最近在使用HAL库配置SDIODMA并通过FATFS向SD卡写入数据&#xff0c;但是发现写入的数据经常有错误&#xff0c;不是少了一部分就是多了一部分&#xff0c;写入的数据为csv格式&#xff0c;通过循环向缓冲区写入"100100,12.345678\r\n"数据来观察问…...

RK Android11 修改默认语言为法语及时区为巴黎时间

文章目录 1、需求2、解决 1、需求 客户要求将系统默认语言改为法语&#xff0c;系统默认时区改为巴黎时间&#xff08;也称为欧洲中部时间&#xff09;2、解决 --- a/build/make/tools/buildinfo.shb/build/make/tools/buildinfo.sh-46,7 46,7 echo "ro.product.cpu.ab…...

文件上传Ⅰ

文件上传--前后端验证 不让上传php,所以要绕过它 遇到网站可能不是php语言&#xff0c;会是java或者python语言等&#xff0c;它只能解析网站本身的语言&#xff0c;那我们就上传符合网站语言识别的格式&#xff08;它能解析什么后缀&#xff0c;就上传什么后缀&#xff09;&…...

IntelliJ IDEA clean git password

IntelliJ IDEA clean git password 清除git密码 方法一&#xff1a;&#xff08;这个要特别注意啊&#xff0c;恢复默认设置&#xff0c;你的插件什么要重新下载了&#xff09; File->Manage IDE Settings->Restore Default Settings以恢复IDEA的默认设置(可选); 清空…...

【C++指南】哈希驱动的封装:如何让unordered_map/set飞得更快更稳?【上】

&#x1f31f; 各位看官好&#xff0c;我是egoist2023&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f4ac; 注意&#xff1a;本文在哈希函数中主讲除法散列法&#xff0c;乘法散列法、全域散列法、双重散列等自行了解。 &#x…...

论坛测试报告

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…...

人脸扫描黑科技:多相机人脸扫描设备,打造你的专属数字分身

随着科技的迅猛发展&#xff0c;人脸扫描这个词已经并不陌生&#xff0c;通过人脸扫描设备制作超写实人脸可以为影视制作打造逼真角色、提升游戏沉浸感&#xff0c;还能助力教育机构等领域生产数字人以丰富教学资源&#xff0c;还在安防、身份识别等领域发挥关键作用&#xff0…...

统计字符串每个字符出现频率

输入一个字符串&#xff0c;统计每个字符的出现频率&#xff0c;然后判断最大频率与最小频率的差值 cnt&#xff1a; 如果 cnt 是质数&#xff0c;则输出 "Lucky Word" 和 差值&#xff1b; 否则输出 "No Answer" 和 0。 #include <bits/stdc.h> u…...

SQL-子查询

SQL子查询是嵌套在另一个SQL查询中的SELECT语句&#xff0c;将内部查询的结果作为外部查询的条件或者数据源。 核心概念 子查询是一个完整的SELECT语句&#xff0c;可以嵌入到其他查询的where, from, SELECT, HAVING等子句中&#xff0c;用于动态生成条件或临时数据集。 例如…...

Python(21)Python日期时间完全指南:从基础到实战注意事项

目录 一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法则 三、企业级应用案例3.1 全球日志分析系统3.2 金融交易时间校验 四、六大核心注意事项1. 时区意识优先原则‌2. 时间戳的精度陷阱‌3. 夏令时转换三步骤4. 日期格式化安全指南‌5. 性…...

【医学影像 AI】早产儿视网膜病变国际分类(第三版)

【医学影像 AI】早产儿视网膜病变国际分类&#xff08;第三版&#xff09; 0. 论文简介0.1 基本信息0.2 摘要0.3 缩略语0.4 ICROP3的关键内容总结 1. 引言2. 血管化位置&#xff1a;区域&#xff08;ZONE&#xff09;3. 加重病变与前加重病变4. 急性病变分期&#xff08;阶段1-…...

焊接机器人的设计

一、引言 随着制造业的发展&#xff0c;焊接工艺在各个领域得到广泛应用。焊接机器人具有焊接质量高、效率高、劳动强度低等优点&#xff0c;能够满足现代制造业对焊接生产的要求。设计一款性能优良的焊接机器人&#xff0c;对于提高焊接生产的自动化水平和产品质量具有重要意…...

SQL SERVER里面也可以插入存储过程,操作TCP,WEBSOCKET吗?数据发生改变时用于通知客户端

SQL SERVER里面也可以插入存储过程,操作TCP,WEBSOCKET吗?数据发生改变时用于通知客户端SQL存储过程入门&#x1f525; - 人生得E不早朝 深度思考完成 用时28秒 好的&#xff0c;用户的问题是&#xff1a;SQL Server里面是否可以通过插入存储过程来操作TCP或WebSocket&…...