- 博客(59)
- 资源 (3)
- 收藏
- 关注
原创 MCP调用过程
cline调用MCP工具并将结果、用户原始提问、MCP调用过程发送到大模型。将用户提问和MCP工具描述信息发送到大语言模型(deepseek-r1)大语言模型返回(deepseek-r1)AI客户端cline工具。最后大模型将整理结果返回。
2025-03-28 14:53:55
349
原创 在 C++ 中使用用 C 语言编写的头文件
在 C++ 中使用用 C 语言编写的头文件时,需要确保 C++ 编译器正确理解 C 语言符号的名称。这可以通过使用 extern "C" 关键字来实现。
2025-01-17 12:56:57
215
原创 服务器证书原理
它们是由公开日志服务器签名的时间戳,用于证明证书已经提交到 CT 日志中。这些信息对防止不受信任的证书的滥发非常关键。在现代 HTTPS 环境下,CT 和 SCT 是证书生态系统的重要组成部分,尤其是在防范证书滥发和透明性方面。在实际的证书中,通常包含多个 SCT,这些 SCT 来自不同的日志服务器。签名用于验证证书的完整性和来源。X.509 证书包含多个字段,这些字段可以通过解析工具或代码提取查看。通过这种方式,证书的签名确保了上述字段的完整性和不可篡改性。X.509 证书的签名过程是对证书的。
2024-12-23 14:59:27
1173
原创 Linux LVM 磁盘管理教程
LVM(Logical Volume Manager,逻辑卷管理器)是 Linux 系统中用于灵活管理磁盘存储的一种机制。它将物理存储设备抽象为逻辑卷,支持动态调整大小、快照等功能,特别适用于需要频繁调整磁盘分区的场景。
2024-12-06 13:33:31
1504
原创 Linux系统多链路互备份网络搭建方案
基于 Linux 系统的多链路互备份网络方案,两条链路同时发送数据,并且通过 TUN(网络隧道)设备实现。
2024-12-04 10:27:18
437
原创 嵌入式Linux无窗口系统下搭建 Qt 开发环境
本文将介绍如何在树莓派的嵌入式 Linux 环境下,搭建 Qt 开发环境,实现无窗口系统模式(framebuffer)下的图形程序开发。在没有窗口系统(如 X11 或 Wayland)的环境下,Qt 可以使用framebuffer渲染图形。如果一切正常,您应该看到一个带有 "Hello World" 的窗口。在调试过程中,可以启用 Qt 的调试日志,以帮助排查问题。如果程序报出权限错误,确保当前用户对帧缓冲设备(如。这将打印与 Qt 平台插件相关的调试信息。使用文本编辑器创建并编辑。
2024-12-02 16:00:28
658
原创 嵌入式Linux(SOC带GPU树莓派)无窗口系统下搭建 OpenGL ES + Qt 开发环境,并绘制旋转金字塔
树莓派无窗口系统下搭建 OpenGL ES + Qt 开发环境,并绘制旋转金字塔
2024-12-02 15:15:14
1119
原创 流媒体服务器Media MTX使用教程
Media MTX 是一个高性能的开源媒体服务器,用于处理实时音视频流。它支持多种协议,包括 RTSP、RTMP 和 WebRTC,适合用作直播、视频监控(如 IPCAM)、和流媒体中继的解决方案。Media MTX 轻量、灵活,并具有广泛的协议兼容性,非常适合嵌入式设备和云环境
2024-12-02 12:59:10
4395
2
原创 Linux嵌入式无窗口系统使用GPU绘制图形界面demo(kmscube)安装教程
基于树莓派 Linux 系统编译和安装 kmscube 的完整教程。kmscube 是一个示例程序,展示如何使用 DRM/KMS 和 OpenGL ES 在无窗口系统中直接渲染图形。
2024-12-02 12:23:29
642
原创 Linux无窗口系统的图形界面开发(DRM/KMS、GBM、EG三者的关系)
DRM/KMS、GBM 和 EGL 是现代 Linux 图形堆栈中紧密关联的组件,常用于无窗口系统的图形开发。它们分别负责不同的功能,但协作完成从底层硬件到图形渲染的整个流程。以下是它们的关系和各自的职责。
2024-12-02 10:40:17
1776
原创 嵌入式Linux使用OpenGL ES
是 OpenGL 的子集,专为嵌入式设备设计,如智能手机、平板电脑和嵌入式硬件(如树莓派、i.MX 等)。使用 OpenGL ES,您可以创建高性能的图形界面和 3D 渲染。通常选择或更高版本,因为它们支持可编程着色器并被广泛使用。对于嵌入式平台(如树莓派),安装厂商提供的 OpenGL ES 驱动和工具。
2024-11-29 10:54:19
1636
原创 嵌入式Linux中的Framebuffer
是嵌入式系统和 Linux 图形开发中常见的概念,它是一个用于存储屏幕显示内容的内存区域。通过直接访问 Framebuffer,可以绘制图形界面,而无需复杂的窗口系统(如 X11 或 Wayland)。这使 Framebuffer 特别适用于资源受限的嵌入式设备。
2024-11-28 16:35:11
779
原创 在嵌入式Linux下如何用QT开发UI
在嵌入式 Linux 环境下使用开发用户界面 (UI) 是一个常见的选择。Qt 提供了丰富的功能、跨平台支持以及优秀的图形界面开发能力,非常适合用于嵌入式系统。
2024-11-28 16:33:43
2331
原创 Arduino平台下esp32s3实现多线程
在 Arduino 和 ESP32-S3 上实现多线程主要依赖于 FreeRTOS(Free Real-Time Operating System)。
2024-11-28 13:56:36
884
原创 NOR Flash和nand flash有什么不同
NOR Flash 和 NAND Flash 是两种常见的非易失性存储器类型,它们在架构、性能、成本和应用场景等方面有显著的差异。
2024-11-27 09:33:40
1945
原创 RS232电平和TTL电平的区别
由于 RS232 和 TTL 的电平不兼容,因此需要使用电平转换器进行信号转换。如果需要在两种电平标准之间通信,必须使用转换器(如 MAX232)。
2024-11-26 16:01:48
1731
1
原创 Linux系统下安装离线语音转文字工具
支持二十+种语言 - 中文,英语,印度英语,德语,法语,西班牙语,葡萄牙语,俄语,土耳其语,越南语,意大利语,荷兰人,加泰罗尼亚语,阿拉伯, 希腊语, 波斯语, 菲律宾语,乌克兰语, 哈萨克语, 瑞典语, 日语, 世界语, 印地语, 捷克语, 波兰语, 乌兹别克语, 韩国语, 塔吉克语移动设备上脱机工作-Raspberry Pi,Android,iOS使用简单的 pip3 install vosk 安装每种语言的手提式模型只有是50Mb, 但还有更大的服务器模型可用
2024-11-25 16:12:55
1038
原创 openwrt源码目录下的.config文件和config/.config文件有什么不同
文件位置作用生成方式用途.config根目录下配置 OpenWrt 的目标架构、包、内核功能等用于生成 OpenWrt 固件config子目录下配置 Linux 内核的选项(如驱动、模块、文件系统支持等)用于生成 Linux 内核镜像两者相辅相成,根目录.config是全局配置,而是内核配置,最终共同决定 OpenWrt 的固件内容和功能。
2024-11-25 10:43:29
921
原创 github中banch和tag的应用
**示例**:通常会有 `main` 或 `master` 分支作为稳定的版本,`develop` 分支用于开发,其他分支可能是功能分支(如 `feature/login-page`)或修复分支(如 `fix/bug-123`)。- **分支和标签可以指向同一个提交**:例如,当你完成了某个版本的开发并在 `main` 分支上合并后,你可以创建一个标签(如 `v1.0.0`)来标记这个版本的发布。- **示例**:`v1.0.0`、`v2.1.3-beta`、`release-2023-01-15`。
2024-11-20 13:29:42
1146
1
原创 编译OpenWrt步骤
生成的镜像路径:openwrt-23.05.5/bin/targets/ramips/mt76x8/openwrt-ramips-mt76x8-hilink_hlk-7628n-squashfs-sysupgrade.bin。将老版本系统源码根目录下的.config文件复制到新系统源码目录下,可以省去make menuconfig步骤。任务:将openwrt23.05.5系统装入hilink-7628。宿主机系统:ubuntu20.04 server。硬件平台:hilink-7628核心板。
2024-11-19 14:04:17
473
原创 Linux使用wvdial工具利用4G模块通过ppp协议拨号上网
使用 `wvdial` 可以配置和管理 PPP 拨号连接,尤其适合通过 3G/4G/5G 调制解调器(如 USB Modem)拨号上网。Init3 = AT+CGDCONT=1,"IP","your_apn" # 替换 your_apn 为 SIM 卡的 APN(如 "internet" 或其他)> 替换 `your_apn` 为实际的 APN,`Phone`、`Username` 和 `Password` 可能因运营商而异,有些不需要设置用户名和密码。### 4. 使用 `wvdial` 启动拨号。
2024-10-28 16:28:59
620
原创 Linux利用systemd定时重启服务
在 `systemd` 中,将定时器(`timer`)与服务(`service`)关联起来是通过 `.timer` 文件与 `.service` 文件的结合实现的。- **`[Install]`**:`WantedBy=timers.target`,表示此定时器受 `timers.target` 控制,定时器启动时会关联到系统的 `timers.target`。`.timer` 文件用来定义定时器触发的时间,`systemd` 会根据 `.timer` 的定义来执行对应的 `.service` 文件。
2024-10-22 10:13:21
946
原创 ZeroTier 自托管 Controller搭建步骤
4.编译完成,出现3个工具:zerotier-one,zerotier-cli,zerotier-idtool。2.安装cargo,sudo apt install cargo。3.编译ZeroTier。
2024-10-21 15:45:31
553
原创 USB数据包批量传输过程
**交替目的**:`DATA0` 和 `DATA1` 的交替使用是为了区分连续的相同数据包,避免数据包的重复传输。- **确认机制**:接收方(无论是主机还是设备)通过握手包确认数据是否正确接收,握手包通常是 **ACK**,表示接收成功。如果接收方遇到问题,它将发送 **NAK** 或 **STALL**,请求重传。- **Data Packet (DATA0)**:设备发送包含数据的数据包 `DATA0`。- 每次成功传输的数据包在 **DATA0** 和 **DATA1** 之间交替。
2024-10-18 12:43:15
331
原创 FFmpeg + RTSPToWebRTC实现网页播放摄像头视频
常用值:`ultrafast`, `superfast`, `veryfast`, `faster`, `fast`, `medium` (默认), `slow`, `slower`, `veryslow`.3. **`-b:v`(视频比特率)**:设置目标比特率,以控制文件的大小和视频质量。- 使用 **`-tune`** 和 **`-profile:v`** 来根据实际场景调整视频编码的特定需求。- **`-preset`** 和 **`-crf`** 是调整编码质量和速度最常用的参数组合。
2024-10-11 16:58:51
783
原创 Linux gdb 使用
`break` 或 `b [location]`: 在指定位置设置断点。位置可以是函数名、文件名和行号。- `delete` 或 `d [breakpoint number]`: 删除指定的断点。- `frame` 或 `f [frame number]`: 切换到指定的栈帧。- `step` 或 `s`: 单步执行代码,如果是函数调用,则进入函数内部。- `print` 或 `p [expression]`: 打印表达式的值。- `next` 或 `n`: 单步执行代码,但不进入函数内部。
2024-06-26 13:21:31
300
原创 Linux基本命令
addresses: [192.168.1.10/24] # 设置固定IP地址和子网掩码。addresses: [192.168.1.10/24] # 设置固定IP地址和子网掩码。addresses: [8.8.8.8, 8.8.4.4] # 设置DNS服务器。ExecStartPre=/bin/sleep 30 //服务延时30秒启动。enp1s0: # 这是你的以太网接口的名称,请根据你的系统修改。enp2s0: # 这是你的以太网接口的名称,请根据你的系统修改。2)开启ssh root登录。
2024-05-31 13:14:18
272
原创 linux笔记
添加:export ALL_PROXY=socks5://proxy_server:proxy_port。删除:unset ALL_PROXY。
2023-12-08 15:00:04
196
Linux无窗口系统的图形界面demo程序(kmscube)
2024-12-02
使CefSharp 84.4.10支持H264
2022-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人