自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 收藏
  • 关注

原创 Linux系统编程多线程程序如何安全退出

一张图总结"为什么"

2026-10-10 18:21:05 34

原创 开源 ElectronBot:稚晖君的桌面机器人

2022 年 3 月,稚晖君(彭稚晖)发了一条视频:自制一只能摆手、转腰、晃脑袋的桌面小机器人,圆脸上还能显示画面。USB 插上电脑,就能投表情、控关节。外观灵感来自电影里的 EVE,B 站标题是《我做了个能动的电脑配件》——说的是用法,本体仍是一台开源桌面机器人。很多人把它当成可爱摆件。实际上这是的整机:原理图、Gerber、固件、CAD、表情资源、Unity 工程,一个人摊开。仓库在 GitHub 长期星,社区后来又有语音版、ESP32 + 小智 AI 等二创。

2026-10-10 11:56:19 237

原创 开源 X-TRACK:Bilibili热门项目DIY GPS 码表

页面框架、数据中心、离线瓦片、GPX,都已经有人用开源方式跑通过一整圈。它从 B 站热门视频走到 GitHub,留下来的不只是一块能测速的屏,而是一份可拆的嵌入式完整样板——对学 LVGL、做手持设备的人,比再刷十个 widgets demo 有用。看演示 → PC 模拟器跑通 → 读 PageManager / DataCenter → 再谈焊接与地图资源 → 最后改一页自己的界面。别第一天就追求「复刻一块能卖的码表」——先把框架和数据流摸顺,这才是这个项目最值钱的部分。

2026-10-08 19:29:51 363

原创 开源 hostapd:路由器 Wi‑Fi 热点背后的守护进程

是空中接口和密钥协商没过,还是早就关联成功,只是没拿到能上网的地址?hostapd 管的是前半句里偏 AP 的那一截:让路由的无线口成为可扫描、可关联、可加密的热点。对做家用路由和 OpenWrt 的人,它不是可选插件,而是Wi‑Fi 人设背后的开源守护进程。

2026-10-07 18:31:23 364

原创 开源 QEMU:不用板子也能跑嵌入式系统

这一步是必须摸到真实芯片,还是只要一台足够像的假机器?QEMU 把后半句的路铺宽了:宽在架构与机器模型;又用「模拟不是等价」提醒你别把冒烟测试写成发货结论。对公众号读者和团队新人尤其友好——一台笔记本,就能看见嵌入式系统怎样一点点醒过来。

2026-10-07 12:40:36 441

原创 无人机技术栈拆解:怎么才能做一台出来

要拆解的是:怎么才能做一台能飞的出来。不是下个固件、买四颗电机就算。一台四轴至少要机架和动力、飞控(板 + 软件)、遥控或数传、电池和电源采样,想定点还要 GPS。开源飞控这边,常用刷在 Pixhawk 上,地面站用。仓库,文档。协议 BSD-3-Clause。做不出来的常见原因,不是「C 语言不够」。机架和电机不匹配、飞控机型选错、没遥控却以为航点能救、室内没卫星就开定点——每一层都像「飞机出问题了」。先按技术栈把零件和软件对齐,再看怎么飞的问题。

2026-10-05 21:23:11 366

原创 小智AI聊天机器人:ESP32上的开源语音助手拆解

是一块 ESP32 上的开源语音助手:对着板子说话,它能唤醒、把话送去识别,再把回答从喇叭放出来。要拆开看,别把它当成「模型都烧在芯片里」。板子本地只稳稳做一件事——;听懂、组织回答、合成声音,默认都在服务器上。刷进固件会出声,只说明链路通了,不说明脑子在 Flash 里。仓库叫,虾哥开源,协议 MIT。,设备默认可接。麦、喇叭、屏做成语音入口,大模型走 Qwen / DeepSeek 一类云侧能力,设备用控音量、灯、电机、GPIO。

2026-10-05 01:48:26 414

原创 开源FarmBot:网页画格子,机器去种菜

听说自动种菜,很多人会以为是一辆自己满地跑的小车。FarmBot 不是。它像 3D 打印机:铝架钉在苗床两边的导轨上,只在这块地里按坐标前后、左右、上下动,把种子点进格子、把水浇到指定位置,再拍照看苗在不在。它开源,硬件图纸和软件都公开,公司也卖 Genesis / Express 套件。软件协议以 MIT 为主。官网,设备端系统。没回零、没标定步距,序列照样能点「播种」——只是种子落在空地或压到已有苗上。网页画得再漂亮,MCU 只认毫米。

2026-10-04 01:29:11 424

原创 开源RDK-B:国外光猫和路由器里面跑的系统

家里宽带猫、光猫外壳上印的是运营商名字,里面跑的软件栈却经常是同一套。RDK-B 就是这类设备背后的公共平台:不是给个人刷机玩的玩具发行版,而是运营商侧用来统一发货、统一运维的宽带网关软件栈——机顶盒那套 RDK 家族里的宽带分支。全称 Reference Design Kit for Broadband(宽带参考设计套件)。文档在,代码在 RDK Central 社区,构建一般走 Yocto。

2026-10-01 00:27:43 429

原创 开源EMBO:基于STM32的示波器

它绝对不是带高压探头、带多档硬件衰减的消费级成品示波器,无保护裸前端,输入电压和源阻抗必须你自己把关,别作死直接碰市电。采样率和采样深度受限于MCU的ADC性能和RAM容量,0.8~4MSps是作者实测的公开口径,别信营销号吹出来的虚高峰值。信号发生器完全依赖片内DAC,不是支持列表里的芯片都自带DAC,买板子之前先查手册。自己从源码编译时,坑多半出在工具链配置上,不是业务代码逻辑。官方预编译HEX能跑通,再动手动工程。项目协议MIT,背景是捷克理工大学测量系的学生课题;主页,仓库。

2026-09-30 01:39:12 361

原创 开源OV-Watch:怎么做一个智能手表

很多人拿到开源手表仓库,第一件事是在电脑里把界面跑起来。表盘能滑、菜单能点,就觉得这块表差不多做出来了。其实那只是 Windows 上的仿真,没有真板子,也没有传感器。要做出一块能戴的 OV-Watch,得先把硬件和电源通,再把 Boot 和 APP 烧对,心率、抬腕这些最后才轮到。界面好看,排在后面。,GPL-3.0)是油炸鸡做的开源手表。主控 STM32F411CEU6,系统 FreeRTOS,界面 LVGL 8.2。作者标称物料大约 80 元,定位是能戴的低成本实验平台,不是对标市售全功能手表。

2026-09-21 02:30:01 395

原创 智能手表里面芯片和系统是啥

问智能手表里面芯片和系统是啥,答「一颗安卓芯片」会对不上。市面上常见的是两套,不是一套。轻量手表和手环最多:蓝牙 SoC 当主控,旁边一颗几百 MB 的 SPI 闪存,系统是 RTOS。旗舰才换成应用处理器,配上 GB 级内存和 eMMC,跑 Wear OS 或 watchOS。下面用 Redmi Watch 4 的公开拆解,把轻量这一档拆开对上号。旗舰只拿官方规格对照,不混成同一块板。

2026-09-21 00:57:04 351

原创 让代码「看见」世界:开源视觉库 OpenCV

想让程序「看见」世界,很多人第一反应是:接个摄像头,再写一堆读图、滤波、画框的代码。真动手才发现——像素格式、色彩空间、相机驱动、编解码、跨平台……每一项都像在重新发明轮子。就是冲着这件事来的:一套开源、偏实时的计算机视觉库,帮你把「读图 → 处理 → 识别 → 画结果」做成可调用的积木,而不是从零抠像素。

2026-09-14 14:58:54 126

原创 开源 OOMWOO:自己组一台扫地机

市面上扫地机越来越「聪明」,也越来越「必须联网」:建图要上云、控制要 App、断网功能残。你想改路径规划、加传感器、把地图留在家里——整机却是黑盒。走的是另一条路:不是给某品牌机刷破解固件,而是——机械、主控、固件、ROS 2 导航,目标都摊开。本地优先,日常清扫不强制云端。GitHub 上已有上万星,方向很热;完成度仍是。

2026-09-10 17:51:06 246

原创 开源 lwIP:单片机上的轻量 TCP/IP 协议栈

我们要的是 Linux 那套完整网络世界,还是一份能塞进 MCU 的、可裁剪的 TCP/IP?lwIP 把路走窄了,也走实了:窄在不做通用 OS 网络子系统;实在无数量产固件里默默转发每一包。它不靠刷星证明自己,靠的是——你打开厂商工程时,头文件里已经写着lwip。厂商/官方 echo 例程 → 读懂lwipopts.h→ ping 通 → 一条 TCP/UDP → 再叠 MQTT/HTTP。别第一天就对吞吐和 TLS 一起开战——先让协议栈在板上「活着」。

2026-09-10 17:10:19 208

原创 httping 段错误问题总结

典型 strace 尾部:要点:用 可见修复前:对比历史可工作路径: 的 不含 ,非 PIC 目标文件链成普通可执行文件可以正常跑。CMake 路径引入 却未保证全量 ,从而引入本问题。按时间线概括排查路径:关键命令(分析侧):4. 修复内容涉及文件(ubus8.8 / ubus7.20 均已改):修复后检查:说明:必须带 ,否则不会重新覆盖补丁目录。本次根因修复只需重编 httping,不必重编 。产物路径:板端验证:6. 经验教训 与 必须成对:只链 PIE、不编 PIC,在

2026-09-10 11:29:05 188

原创 开源 Zephyr:现代嵌入式 RTOS 长什么样

我们要的是一个调度器,还是一个能跟着板子搬家的嵌入式操作系统?Zephyr 把路走宽了:宽在架构与子系统;又用 Devicetree / Kconfig 把复杂度关进配置,而不是关进一堆不可移植的#ifdef。宽的好处是,官方 sample 和板级支持能把「从零到闪灯联网」压缩到一个周末能验证的长度——前提是你愿意先把 west 和设备树这关过掉。官方入门 → west 拉齐工作区 → 支持列表里选板 → 跑通 blinky / hello_world → 再加传感器或蓝牙 sample → 最后才写业务。

2026-09-09 12:43:42 404

原创 开源 LVGL:把手机级界面塞进 MCU

这件事必须上 Linux + Qt,还是一份可移植的 C GUI 库就够?LVGL 把路走窄了:专注嵌入式屏上的 UI 引擎。窄的好处是,控件、样式、仿真器和芯片厂示例,能把「从黑屏到可点按钮」压缩到一个周末能验证的长度。PC 仿真跑通 → 选有官方 demo 的板 → 接 tick / flush / 触摸 → 改一页自己的界面 → 再优化刷屏与内存。别第一天就追求手机级特效全开——多数量产 UI,其实是缓冲策略和交互流程调顺的那一下。

2026-09-08 15:35:06 383

原创 Headscale:不用开端口,出门也能访问家里设备

两台设备能 ping 通虚拟 IP,就以为组网完成,接着把访问规则开成「谁都能访问谁」,再拿一台随时合盖的笔记本当全家网关——这是把「隧道通了」当成「谁能进、谁能访已经定好了」。Headscale 让你自己管入网名单;风险不再是路由器开了哪些端口,而是这张网到底让谁进来。)是自己跑的 Tailscale 兼容登记服务器:负责发密钥、告诉设备彼此在哪、执行访问规则,直连失败时再安排中继。真正传数据的,尽量仍是设备之间的 WireGuard,不经过这台服务器。

2026-09-06 15:39:17 300

原创 ESPHome:用 YAML 给 ESP32/ESP8266 生成固件

自己焊了温湿度、继电器、空气传感器,下一步往往卡在「怎么稳定接入系统、怎么 OTA、怎么改配置不重写固件」。用,自动生成并编译 ESP8266/ESP32 固件:传感器、开关、显示屏等组件声明式配置,支持 OTA 升级,适合 DIY 硬件玩家。

2026-09-04 01:20:49 351

原创 开源Frigate:本地 AI 监控,摄像头数据不必上云

监控摄像头一多,很多人会把画面推到厂商云:手机随时看、还有「有人经过」推送。方便的代价是:视频出了你家,算法也在别人那里;订阅一停,历史录像也可能跟着没了。是一个开源的方案:摄像头视频在你自己的机器上分析,常见能力包括人、车、宠物等检测与事件回放。数据默认走本地,而不是必须上云。

2026-09-03 08:13:08 194

原创 开源 OpenMV:给单片机换上机器视觉大脑

这件事必须上 Linux,还是一块会跑 Python 的相机 MCU 就够?OpenMV 把路走窄了:专注单片机上的机器视觉与执行闭环。窄的好处是,示例脚本、IDE 预览、引脚输出,能把「看见 → 动作」压缩到一个周末能验证的长度。买板 → 装 IDE → 跑通色跟踪或 AprilTag → 把坐标打到串口或 PWM → 再考虑 TinyML 和换镜头。别第一天就追求刷榜模型——多数好玩的项目,其实是阈值调稳的那一下。

2026-08-31 12:42:59 391

原创 OOMWOO:开源扫地机器人,自己造

(读作 oom-woo)是一个的家用扫地机器人项目。由美国团队(makerspet.com)发起,目前处在阶段——图纸、代码、模块分工在 GitHub 上持续更新,任何人都可以围观、提 Issue、认领模块参与贡献。你买的扫地机器人,其实不一定完全「属于你」。地图在云端、固件封闭、厂商一旦停服或改策略,设备就可能难用甚至报废——这不是危言耸听,而是不少商业扫地机的常态。与其事后想办法「越狱」一台封闭机器,不如从零造一台的。。由美国团队。

2026-08-25 08:19:59 474

原创 CoreELEC:给机顶盒换上开源影音大脑

客厅那台吃灰的盒子,未必只能当「广告启动器」——换一套专干播放的系统,很多二手晶晨盒已经够用,不必第一天就追旗舰。CoreELEC 把路走窄了:只做 Amlogic,只把 Kodi 播顺。窄的好处是,NAS 里那堆片,终于有个不抢戏的前端——周末晚上想安静投一部片,不用再跟开机广告较劲。这大概才是它最值得的地方。认芯片 → Download Helper 下镜像 → SD 卡试播 → 顺了再考虑写 emmc。论坛里晒单的,不少是几十块收来的老盒。

2026-08-24 13:08:40 340

原创 Linux 小电视:稚晖君的开源桌面终端,从 6 层板到 Quark

学嵌入式、OpenWrt 或板级 Linux 时,常会卡在同一件事:开发板能跑系统,但「从原理图到驱动、再到能用的整机」这条链路很少被完整摊开。整理稚晖君(彭稚晖)的——一台外形像 B 站小电视、内核却是完整 ARM Linux 的迷你终端;后续核心板演化为开源。说明:稚晖君后来还有(ESP32 + 分光棱镜)。本文说的是,二者不是同一项目。

2026-08-23 13:58:08 426

原创 openwifi:把 Wi-Fi 芯片「开源」

openwifi不是给普通用户刷机的系统,而是把 Wi-Fi 协议摊开的研究平台。OpenWrt 打开操作系统,openwifi 打开的是芯片内部。用 Zynq + AD9361,可以把 802.11a/g/n 做成 Linux 里一张能跑 hostapd 的网卡。代价是停在 Wi-Fi 4,工具链重,频谱法不能当儿戏。CPU 侧的开源已经很多了。空口这一侧,openwifi 给的是一份能上板、能改寄存器的 802.11。说明:板表随上游更新;本文为技术科普。过空口须遵守无线电管理规定。

2026-08-19 09:55:01 415

原创 SimpleDNS 源码学习笔记:几百行 C 搞懂 DNS 报文

学完 socket 网络编程之后,写过 HTTP、FTP 这类文本协议,往往还想接触一种「二进制报文」的典型协议。整理了一个很小的项目——用 C 写的教学用 DNS 服务器,核心基本就在一个main.c里(大约五百行量级),专门用来理解 DNS 查询与应答是怎么拼出来的。

2026-08-16 17:17:01 239

原创 Tinyftp 源码学习笔记:3000 行 C 实现的 FTP 服务器

学习网络编程时,在 echo、小聊天室之后,需要一个更接近真实服务的练习项目:能对接标准客户端,代码量又别太大。本次笔记整理的是——用 C 实现的简易 FTP 服务器。体量约三千行,README 中说明参考过 vsftpd。下文按阅读顺序记录主要结构与要点。

2026-08-16 10:34:00 479

原创 刚插上网线,电脑怎么知道自己的 IP?

【多懂一点】这也是为什么手机开热点、家里换路由后,你的电脑 IP 常常跟着变——发号的人换了,号段规则也可能换了。【多懂一点】如果卡在转圈,优先怀疑:网线/协商、路由器 DHCP 是否开启、地址池是否发完、上级网络是否异常。【多懂一点】所以系统里“详细信息”那一栏,往往不是电脑凭空知道的,而是 DHCP 一次性下发的配置。到了 IPv6,除了类似的自动配置,还有一种常见方式:路由器先通告网段前缀,电脑再据此生成地址。DHCP 在家里发的,多半是私网地址,比如 192.168.x.x。

2026-08-10 10:06:56 467

原创 fping组件4.0版本使用经验总结

fping是一个用于发送 ICMP ECHO_REQUEST 数据包到网络主机的工具,类似于ping命令,但它可以同时 ping 多个主机。fping通常用于网络监控和批量测试主机的可达性。

2026-05-25 11:24:51 270

原创 DNS诊断支持指定接口

【代码】DNS诊断支持指定接口。

2026-02-04 15:18:21 121

原创 dig使用

【代码】dig使用。

2026-01-09 08:21:17 153

原创 tomato代码随笔

是下面的代码把对应的二进制和库等install到target目录。init进程编译的代码是这个目录。

2026-01-04 00:55:59 114

原创 openwrt 固件xxx_squashfs-sysupgrade.bin怎么打包得到的

openwrt image镜像是怎么生成的

2025-12-28 21:20:06 795

原创 路由器特性——网络状态检测

我们可能会想到直接去ping一下公网IP,然后根据ping得到的结果去判断是否有网络,实际验证下来发现ping的时候没有丢包,实际现网网络情况复杂,有的时候路由器会丢包,如果只是靠ping几个报文,偶然出现了丢了几个包,这个时候基于ping的结果去判断,发现了路由器一会亮红灯,然后又立马亮绿灯,web上面出现了一会打勾,一会打叉,十分影响用户体验。判断我们路由器上行网络通不通,如果有网,就量红灯,没有网络就亮绿灯,同时在路由器web上面显示对应的状态,如果有网络,有打勾,否则就打叉。

2025-12-07 17:19:27 376

原创 如何基于gitee新建仓库

在ubuntu下执行 git clone https://gitee.com/no-regrets-brother/router拉取我们的空的仓库。2.进入如下界面,随便给仓库起个名字,完成后点击创建。3.点击README.md,生成我们的项目介绍。1.点击右上角的新建仓库!4.完成后就得到了我们的仓库了。5.怎么提交代码到我们建立的仓。

2025-11-26 23:25:07 313

原创 路由器特性——终端列表管理

我们家用路由器一般会有一个设备列表界面,可以看到我们接入到路由器的设备,是有线接入还是无线接入(5G或者2.4G),可以看到对应的IP地址和MAC地址是多少,接入的设备名称,其功能还有显示其速率等等。那么我们应该如何实现这样一个功能呢?

2025-11-25 00:51:56 225

原创 memcpy(&(mem->memory[mem->size]), data, data_size)什么意思

memcpy(&(mem->memory[mem->size]), data, data_size);突然没理解,记录一下。

2025-11-14 22:05:22 291

原创 openwrt使用quilt工具制作补丁

就会把build_dir目录下面生成的patch拷贝到/openwrt/lede/package目录下面。要将更新的补丁文件移动到 buildroot(也就是我们的package下面),请在包上运行。以首选格式创建补丁,必须在本地主目录中创建一个包含常见。这个时候就会在该目录下面生成我们的patch目录。就会编译一下我们pach是否会有语法上面的报错。如果差异看起来正常,就执行下面的命令。打印当前当前目录的patch补丁。需要在package下面放这个。

2025-06-29 23:47:46 533

原创 嵌入式Linux应用项目----智能网关

Linux网关的作用在于,通过蓝牙、LoRa、串口、CAN等接口,与哪些无法连接网络的设备建立联系,将它们的数据转发至服务器。这过程中,网关充当了数据的桥梁,将下级设备所产生的数据发送至服务器。网关跟我们的路由器区别是不一样的,路由器是给我们的设备提供网络服务器的,需要设备自身有网络能力,然后通过路由器WiFi 或者有线连接,路由器帮我们把报文转发到互联网。

2025-05-03 20:39:23 1172

空空如也

空空如也

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

TA关注的人

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