自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 问答 (2)
  • 收藏
  • 关注

原创 EasyTier 免费自建自用5$每个月的服务器

自建easytier 免费服务器:本文介绍了一种通过酷安获取的私人网络连接方法,仅限个人使用,禁止大规模共享以避免容器被官方删除。操作步骤包括:1)在easytier/easytier中填写自定义网络名称和密钥(如test_0001/test_0002);2)设置私有模式并配置网络参数;3)通过拼接域名和端口号(如tcp://sjc1.clusters.zeabur.com:11111)完成连接。注意需保护自定义的隐私信息,避免泄露。该方法适用于个人小规模使用需求。

2026-02-15 15:39:26 394

原创 移动家庭云电脑永不关机实验版本

本文介绍Linux系统下《移动云电脑家庭云不关机版》的使用教程。适用于Ubuntu/Debian等系统,需提前准备备用远程工具。教程包含下载解压、配置账号信息、启动云电脑(首次运行自动加载镜像)、浏览器访问(http://localhost:6080)及停止容器等步骤。该方案采用加密技术,只要Linux不关机或容器未停止,云电脑将保持在线状态。注意强制挤掉已登录会话会导致5分钟后自动断开连接。

2026-02-01 18:20:07 1160 34

原创 了解单片机一下antigravity 仿真stm32 让它写代码跑起来

This C code demonstrates bare-metal programming for an STM32F407 microcontroller, showing how register manipulation translates to physical hardware actions. The program configures GPIO pins (LED control via PD12 and USART2 communication via PA2), initializ

2026-01-21 21:37:01 787

原创 移动家庭云电脑linux docker 容器登陆移动家庭云电脑

摘要:为解决Linux家庭云电脑APP因依赖库过严导致连接失败的问题,提供了两种解决方案:1)离线版Docker,下载后执行脚本即可使用;2)网络版需从零构建容器镜像,但对网络要求较高。仅支持Linux系统,需提前安装Docker环境。Windows用户需自行转换脚本格式。资源下载链接:https://www.123865.com/s/Ny6Hjv-xzSRh(提取码:yn9E)。

2026-01-18 19:56:42 253

原创 中国移动家庭云电脑window安装linux桌面系统

摘要:本文介绍在KVM架构VPS/虚拟机上将Windows系统一键重装为Ubuntu 22.04并配置图形桌面的完整流程。关键步骤包括:①关闭Windows Defender防止拦截脚本;②执行自动化重装命令;③安装ubuntu-desktop组件;④重点解决KVM环境下因云内核缺失驱动导致的黑屏问题(通过安装linux-modules-extra包修复);⑤最终实现可正常使用的Linux桌面环境。操作涉及磁盘格式化,需提前备份数据并确保具备VNC访问权限。(149字)

2026-01-16 22:41:02 1287 3

原创 bash sh为什么终端不能tab补全

摘要 本文解答了关于Linux终端中Shell环境的问题,主要涉及sh和bash的区别、查看当前Shell的方法以及相关原理。 Tab键失效问题:当终端提示符为$时,说明处于sh环境,不支持Tab补全。解决方法:输入bash切换到bash环境,或永久修改默认Shell为bash。 sh与bash的区别: sh是基础Shell,功能简单,不支持Tab补全和历史命令。 bash是增强版,支持智能补全、历史记录等功能。 原理差异在于bash使用了libreadline库,而sh没有。 查看当前Shell: 输入e

2026-01-07 09:11:12 946

原创 navigation2 源码个人阅读,并大概讲解整体框架设计思路

摘要:ROS2 Navigation2框架采用插件化设计,通过抽象接口实现功能扩展。核心包括:1) BehaviorTreeNavigator基类,开发者需继承实现自定义导航逻辑,每个实例拥有独立的行为树和黑板;2) GlobalPlanner和Controller插件接口,分别负责全局路径规划和速度计算;3) 四个宿主节点(BtNavigator、PlannerServer、ControllerServer、BehaviorServer)通过pluginlib动态加载插件。框架采用行为树异步执行机制,以固

2026-01-01 13:57:35 652

原创 ros2 navigation2 不能多个插件行为树同时运行

摘要:本文记录了ROS2导航系统(nav2)的启动和运行过程,重点分析了多点导航过程中出现的目标冲突问题。在导航测试中,当多点导航执行时接收到单点导航请求,系统因行为树插件互斥机制拒绝新请求,原导航任务继续执行。源码分析表明,nav2通过字符串标识当前运行的行为树插件,确保同一时间只执行一个行为树插件运行。开发者可自定义行为树插件来扩展导航类型,系统仅在收到目标后才会触发行为树执行。

2025-12-22 21:56:56 342

原创 robot_state_publisher 参数

这个节点是一个正向运动学(Forward Kinematics)解算器。它不控制机器人运动,它只负责计算。它时刻回答一个问题:“基于当前的关节角度,机器人的手/眼/轮子在 通用坐标系(如 map, odom) 或 机器人基座(base_link) 中的确切位置在哪里?RSP 本质:通过URDF$\rightarrow$ 计算出 $Transform$ $\rightarrow$ 发布到/tf。参数本质:Launch 文件生成的--ros-args命令行参数,被拦截并解析,最终存储在节点对象内部的。

2025-12-18 22:08:48 1139

原创 ros2 找功能包的get_package_share_directory

ROS 2 通过 Ament 资源索引系统高效获取包路径。其核心机制是: 依赖 AMENT_PREFIX_PATH 环境变量(由 setup.bash 设置) 查找顺序:先工作空间路径,后系统路径 通过检查特定标记文件(share/ament_index/resource_index/packages/<包名>)确认包位置 最终拼接出 /share/<包名> 的完整路径 这种设计相比 ROS 1 的优势: 速度快(避免全盘扫描) 支持覆盖机制(优先使用工作空间的包) 更可靠的依赖管理

2025-12-18 21:23:52 542

原创 蓝牙数据包从底层到应用层协议一层套一层

蓝牙协议栈分层解析(硬件→内核→用户空间→应用) 硬件层:蓝牙芯片处理LL PDU帧(连接/广播)和射频信号(1M/2M PHY),负责加密、跳频等底层操作。 内核层:通过HCI协议与硬件交互,包含: HCI Command(主机→控制器):配置指令(如开启扫描) HCI Event(控制器→主机):状态反馈(如连接完成) HCI ACL Data:双向传输L2CAP层数据(如音频流) 用户空间:bluetoothd守护进程处理ATT协议请求(如Write Request/Response),实现设备间数据

2025-12-12 22:43:40 896

原创 ubuntu ROS1 wifi开关 热点开关 链接指定wifi 扫描wifi节点

本文分享了使用Google AntiGravity IDE GeminiPro 3进行AI编程的体验。作者指出该AI生成的代码质量优于其他工具,但仍需人工干预调整。项目是基于Ubuntu 25.04系统,在Docker环境中开发,通过DBus与宿主机的NetworkManager交互实现WiFi管理功能。主要功能包括:可配置超时的WiFi扫描(支持去重)、支持WPA/WPA2和开放网络的连接、热点创建与管理(含参数校验)、以及WiFi开关控制。作者认为当前AI编程仍需人工参与系统设计,完整项目代码已开源在G

2025-12-07 22:54:24 309

原创 gmapping 重置地图(修改版本,提供了服务,调用服务可运行时清空地图)

《reset_gmapping:为gmapping增加地图重置功能的ROS扩展》摘要 reset_gmapping是一个基于gmapping的ROS扩展包,重置 gmapping 地图

2025-12-01 23:22:48 744

原创 android 14分区表gork 回答

手机基带备份分区的作用是保存基带固件和关键通信数据,确保设备正常联网和通话。从备份文件列表可见,包含modem_a/b.img(基带固件)、modemst1/2.img(基带状态)、fsg.img(射频校准)等重要分区。这些备份可用于恢复基带功能、解决信号问题或刷机失败后的修复。备份总容量约9.2GB,涵盖系统各关键组件,对设备维护和故障恢复具有重要意义。

2025-11-27 14:23:01 945

原创 真我 Realme GT Neo6 刷机包/全量包/基带备份,sukisu ultra 内核root kernel su , TWRP橙狐

本文整理了Realme GT Neo6刷机与备份资源,包含本地更新包、基带备份、Sukisu Ultra内核及橙狐TWRP恢复工具。资源目前仅支持本地更新,9008端口暂未开放。提供网盘链接(密码5b48)下载全量包、基带备份及内核文件(6.1.57版本),并附详细使用说明。特别提醒刷机前需备份分区,若出现问题可通过fastboot恢复或售后解决。另含TWRP刷入教程和root方法,建议保持616出厂版本不升级。

2025-11-27 12:50:37 1486 5

原创 小米8,dipper后背指纹刷橙狐TWRP,sukisu ultra 教程

【摘要】本文提供小米8(dipper)刷机教程,包含橙狐TWRP和sukisu ultra内核的刷入方法。用户可通过123云盘下载资源(提取码aUhq),使用fastboot分别刷入recovery.img和boot.img文件完成安装。内核版本为4.9.186,教程配有相关操作界面截图辅助说明。资源由用户QingJ分享,适用于小米8后背指纹版本机型。(98字)

2025-11-24 16:23:15 413

原创 ROS串口工具类

本文介绍了一个异步串口通信类的优化设计,重点关注回调机制和重连可靠性。核心改进包括:1) 采用size_t类型回调函数实现数据消费与内存管理的职责分离,用户只需返回已处理字节数,类内部统一执行erase操作;2) 增强重连机制,在底层文件描述符失效时执行完整初始化流程(先关闭、重新设置参数、再次打开)。代码实现了线程安全的读写操作,通过条件变量管理发送队列,并提供了稳健的异常处理机制。该设计适用于需要可靠串口通信的场景,特别是在ROS环境下使用。

2025-11-20 22:37:08 446

原创 BT Navigator:插件化架构与执行逻辑深度大概表达我的思路

BT Navigator:插件化架构与执行逻辑大概表达我的思路

2025-11-16 21:49:12 844

原创 Navigation2 行为树架构源码级分析与设计原理

ChatGPT 生成:下面我会按“源码级”分析的风格,把抽出关键源码模块、文件、调用/通信路径、设计思想与注意点讲清楚。所有结论都基于 nav2 仓库与官方文档里的具体文件与 API(我在每一段后面给出来源引用),不会用“假设”或伪代码 —— 我直接指向并解读真实的源码 / API 界面与文档位置。

2025-11-09 23:55:05 1233

原创 Nav2 Lifecycle Manager:生命周期管理器的设计哲学与源码级运行机制

本文介绍了ROS2导航系统Nav2中的生命周期管理器模块nav2_lifecycle_manager的设计与实现。该模块通过统一管理各生命周期节点(如planner_server、controller_server等)的状态转换,确保导航系统有序启动/关闭/重置/暂停/恢复

2025-10-26 22:53:24 948

原创 DBUS 蓝牙BLE Buez 广播 创建GATT服务

本文深入解析Linux BLE开发中的核心技术与常见错误。首先对比了经典蓝牙(类似TCP)和低功耗蓝牙(类似UDP)的特性及适用场景,重点介绍了L2CAP层的作用。在Linux平台上,BLE开发围绕BlueZ守护进程、D-Bus通信和GATT架构展开,开发人员需掌握这三者的交互方式。文章特别剖析了"No valid service object found"错误的两个主要原因:D-Bus数据类型不匹配(Python动态类型转换问题)和GATT对象不完整(必须实现特定接口)。最后提供了一个

2025-09-27 18:09:35 849

原创 ubuntu linux 控制wifi功能 dbus控制

Ubuntu系统通过NetworkManager管理网络功能,提供D-Bus接口供应用控制WiFi。本文介绍使用D-Bus命令控制WiFi开关、扫描和连接的方法: 开启/关闭WiFi:通过设置WirelessEnabled属性为true/false 扫描WiFi:先获取无线设备路径,再触发扫描 连接WiFi: 监听扫描结果获取AP路径 创建临时连接配置(文中提供Python示例代码) 使用SSID和密码激活连接 所有操作均需NetworkManager服务运行,并确保有无线网卡设备。通过D-Bus接口统一管

2025-09-21 22:52:47 1124 1

原创 一张图看懂 roslaunch(respawn自启动节点) 与 Linux 进程树:从 pstree 到 systemd 守护

本文通过一张pstree进程树图解,揭示了ROS系统启动背后的进程关系。当执行roslaunch时,会形成三层结构:systemd守护roslaunch,roslaunch监控子节点,各节点又包含多个线程。实验表明,设置respawn="true"的节点被kill后会由roslaunch自动重启。而roslaunch本身若异常终止,子节点会变为孤儿进程。为确保系统持续运行,建议结合systemd服务,通过配置Restart=always实现双重守护机制,使整个机器人系统具备节点级和系统级

2025-08-11 09:43:46 1031

原创 # Ubuntu 系统设置 USB PnP 音频设备为默认设备的完整教程

Ubuntu设置USB PnP音频设备为默认设备的教程:本文详细介绍了在Ubuntu系统(特别是NVIDIA Jetson设备)上将USB PnP音频设备设为默认输出的方法。首先通过pactl list sinks命令识别设备标识符,然后修改/etc/pulse/default.pa配置文件设置默认设备,最后重启PulseAudio服务使配置生效。同时解释了系统音量、设备音量和应用音量的层级关系:应用音量→系统音量→设备硬件音量共同决定最终输出,建议使用alsamixer和pavucontrol进行多级音量

2025-07-29 10:01:41 1297

原创 ROS2编译的理解,与GPT对话

window 上面的CPP代码的编译器是什么?如何做到像linux那样手动编译再执行呢?不是靠ide一键的,我希望手动一步步的编译。包括依赖文件。在 Windows 上,手动编译和运行 C++ 程序的方式类似于 Linux,但工具链和命令略有不同。下面是详细说明:✅ 一、Windows 上常见的 C++ 编译器:来自 Visual Studio 的编译器,命令行为 cl.exe✅ 优点:与 Windows API 配合最好、功能强大❗ 缺点:命令行使用不直观,需初始化开发环境。

2025-06-13 13:26:02 1265

原创 Ros2 简单构建项目的流程以及涉及的文件作用

文件构建中作用声明包信息和依赖C++ 构建指令setup.pyPython 构建指令msg/srv/接口编译生成代码launch/运行时加载config/参数配置urdf/机器人模型resource/索引注册包test/构建后执行测试用例以上来之ChatGpt 生成!!!

2025-06-03 19:16:32 522

原创 Rust 中的Relaxed 内存指令重排演示:X=0 && Y=0 是怎么出现的?

Relaxed 内存指令重排 ,在并发编程中,我们经常会听说“内存重排(Memory Reordering)”这个术语,但它似乎总是只出现在理论或者别人口中的幻觉里。本文将通过一段简短却强大的 Rust 代码,来。

2025-04-13 14:49:50 954

原创 vm虚拟机虚拟出网卡并ping通外网

也能实现虚拟网卡上网。在 Linux 和 Windows 系统中,:虚拟网卡与主机共享网络栈,缺乏隔离性。这个文章还有点,问题。:简单快捷,适合本地测试。

2025-04-04 22:38:14 517

原创 硬件与软件的边界-从单片机到linux的问答详解

无有效 Bootloader 导致 CPU 从无效指令处启动,引发死循环、异常或复位;- 外设虽然依然捕获数据并可能触发中断,但因没有初始化,中断向量表也无效,系统无法正常工作。- 硬件层面的移位寄存器、数据缓存和中断生成完全依赖于电路设计,与 Flash 代码无直接关系;- 软件代码则负责捕捉这些硬件信号(通过中断服务程序),实现数据处理、通信协议执行等实际功能。- 无论是 Linux 下的设备驱动,还是单片机中的 ISR,都是基于相同的硬件信号而设计;

2025-04-02 13:25:03 1159

原创 rust Send Sync 以及对象安全和对象不安全

李哥,我最近学 Rust,感觉它超级严谨,啥 Send、Sync、对象安全、静态分发、动态分发的,我都搞晕了!写个 trait Cloneable,fn clone_box(&self) -> Box,练习对象安全规则!“Rust 里,想通过 dyn Trait 传递 trait 对象,trait 必须是对象安全的。“原来 Rust 是怕你写出有 bug 的代码,所以宁愿麻烦点,也要你写安全、性能高的代码!(“{}”, rc);“但如果是 Rc,就不是 Sync,因为它没加锁,线程共享会炸!

2025-04-02 13:18:30 838

原创 vmware 虚拟机 使用命名空间创建虚拟网卡对。并通过该虚拟网卡进行ping 上外网

vm 虚拟机使用命名空间创建虚拟网卡对,并使用虚拟网卡ping上外网

2025-04-02 13:16:23 536

原创 rust Send Sync 以及对象安全和对象不安全

李哥,我最近学 Rust,感觉它超级严谨,啥 Send、Sync、对象安全、静态分发、动态分发的,我都搞晕了!那我们可以写一篇更全面的对话文章,不仅讲对象安全,还顺带聊聊 Rust 里的Send / Sync、多线程安全、静态 vs 动态分发等等!我来给你一个扩展版的对话文章,以“对象安全、不对象安全、线程安全 Send/Sync” 为主题,从入门到理解 Rust 为什么这么设计。你想要的不只是讲“对象安全”这一个问题,而是想要更完整、更深入、更多互动式的学习体验,对吧?("{}", rc);

2025-03-18 22:57:44 592

原创 硬件与软件的边界-从单片机到linux的问答详解

通过这段详细的对话,你可以看到,即使硬件电路依然存在且可能在默认条件下捕获数据,但关键的程序和中断处理逻辑都依赖于 Flash 内的有效代码,当 Flash 全空后,MCU 将无法正确响应和处理数据,最终可能导致系统崩溃或不断重启。无论 Flash 中是否有代码,只要外部数据符合时序和电平要求,单片机内部的串口(UART)、SPI 或 USB 模块中嵌入的移位寄存器都会捕捉输入的数据,将数据逐位合成后写入对应的接收缓冲区。没有软件,硬件虽然“动”了,但功能无法实现转化,系统也不会产生实际功效。

2025-03-15 23:21:13 1214

原创 realme gt neo6官方刷机包 全量升级包下载

真米realmi 全量更新包。gt neo6,gt6 ,gt 5 ,等真我 realme gt neo 6 TWRP 橙狐,sukisu ultra 内核root 以及gt neo 6 基带备份

2024-11-24 18:24:56 10073 2

原创 Rust 虚拟键盘思路代码,Window

rust window 虚拟键盘系统调用思路

2024-04-28 23:09:26 956 2

原创 qml 下拉框图片的代码,不是ComBox

你可以把这个文件放入一个qml文件里面,然后使用这个问题就像这样,图片最少是两个,第一个图片是右侧的下拉。之后的图片是下拉的内容。给这数组赋值,图片的高度是46的图片。这里是空数组,需要你给这个数组赋值。qml 下拉框图片的代码,不是ComBox

2024-04-26 14:22:48 394 1

原创 拉马努金笔记数学公式PDF下载

外链:https://wwo.lanzn.com/b0fodvwja 密码:cc8q。拉马努金笔记数学公式PDF下载 连接在上面,自己看。

2024-04-26 01:43:32 4145

原创 window 10 ISO文件下载

https://www.123pan.com/s/uuGfjv-mG0Rd.html提取码:h0DO ISO的文件下载,官方没有对应的连接直接下载哦。只能下载那个app。在app里面是可以选择对应的版本的ISO的镜像下载的。所以我为了以后能够使用。我把window10的32位和64位都下载的以及对应的中文和英文的ISO.以后要win10 估计就是目前这个版本了。其它的版本,我没有搞。

2024-04-03 19:49:00 524

原创 Mini-Tokio 的精简实现代码

【代码】Mini-Tokio 的精简实现代码。

2024-02-20 21:21:34 834

原创 Rust方法自动解引用测试,总结和补充

【代码】Rust方法自动解引用测试,总结和补充。

2024-02-09 18:50:25 1238

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除