个人经历
关于我
我是个学东西比较快的人,缺什么就补什么,看到新技术就想搞明白。我的成长路径有点曲折——嵌入式 → 移动端 → 桌面端 → 三维建模(弯路)→ 编程教育 → CAM 工控 → AI 应用——每一段都不是白走的。
我现在日常主力系统是 Linux 桌面,用了快 4 年了。当初换 Linux 的原因很朴实:旧电脑跑 Windows 卡得要死,一气之下自己装了 Linux,从此就没回去过。环境搭建、驱动调试、日常运维都是自己摸索出来的。
除了写代码,我还玩三维建模,3ds Max、ZBrush、Blender 都会。这个技能后来跟编程结合起来,在工控和 CAD 方向反而成了差异化优势。
业余时间弹弹钢琴。小时候四年级开始学的,六年级考了个四级,后来学业忙就停了。做编程教育那阵子买了台雅马哈电钢琴,下课了弹一会儿特别解压。现在能弹唱一些流行歌,古典方面自学了贝多芬的《月光奏鸣曲》,还在慢慢啃。
🎓 学校那些年
| 项目 | 内容 |
|---|---|
| 学历 | 大专 |
| 专业 | 物联网应用技术 |
| 毕业时间 | 2020 年 6 月 |
| 主修课程 | C 语言、C#、Java、Android 开发(Java)、数据库(SQL Server)、JSP 网页开发、HTML+CSS+JS |
我在学校算是那种经常泡实训室的人。因为老参加比赛,老师对我挺放心的,实训室基本随进随出,想用什么设备、做什么实验都很自由。这种自由度在当时真的很难得——很多想法都是在这个环境下折腾出来的。
大二的时候我当了学校 物联网协会的会长,同时兼技术部部长。组织培训、带项目实践,还运营过协会的公众号,写过一些物联网和嵌入式方向的文章。现在回头看那些文章写得确实挺幼稚的,但当时觉得能把自己学到的东西写出来分享给别人,是一件很有成就感的事。而且为了写文章去查资料、整理思路的过程,反过来也让自己的知识体系变得更清晰了。
比赛拿了不少奖,省里的市里的都有。其中两个含金量最高:
2019 年 3 月 — 省赛一等奖
2018-2019 年度广东省职业院校技能大赛 — 物联网技术应用赛项(高职组)
一等奖,证书编号 GDGJ2019141008,广东省教育厅主办。
那年学校派了两支队参赛,两队都拿了省一。但去国赛的名额只有一个,给了师兄他们那一队(他们后来也拿了国二)。本来想着第二年还有机会,结果刚好赶上疫情,国赛取消了。所以这个省一背后其实有个遗憾——我们队从头到尾都没能站上国赛的舞台。
2019 年 7 月 — 国赛二等奖
第六届台达杯高校自动化设计大赛
二等奖(国家级),参赛作品是「食品加工车间环境监测及安防系统」,比赛在江苏吴江办的。
这个比赛的级别比较高——教育部高等学校自动化类专业教指委和中国自动化学会联合主办的,台达集团承办。但它不是大专专属的比赛,而是面向全国高校、不区分学历层次:本科、硕士、博士,甚至还有国外选手同场竞技。据说当年大概七成队伍是拿不到奖的。
所以这个国二的含金量,不在于它是"国赛",而在于——一个大专生,跟一群本科生、研究生、博士生、海外选手站在同一个赛场上,从他们手里硬抢了一个二等奖回来。这件事从那之后一直让我坚信:只要我足够努力,别说同台竞技,就是从更高学历的人手里抢名次也是可以的。也是因为这个,后来我没有选择专升本,而是把精力全部投在了技术钻研上——学历能证明的东西,用实力也一样能证明。
🔧 我会什么
| 分类 | 技能 |
|---|---|
| 语言 | Rust / C++ / C# / Python / JavaScript / TypeScript |
| GUI | Qt / PyQt / MFC / WPF / WinForm / Electron |
| 前端 | Vue3 / React / Vite / Webpack |
| CAD | ObjectARX 2018 / AutoCAD 二次开发 |
| 工控 | 运动控制板卡 / 多设备联动 / 机床逻辑控制 / PID 控制算法 |
| AI | 大模型集成 / MCP 协议 / AI Agent / 机器学习 |
| 建模 | 3ds Max / ZBrush / Blender |
| 图像 | OpenCV |
| 嵌入式 | 单片机 / Zigbee(CC2530) / Modbus / RS232 / RS485 |
| 数据库 | SQLite / MySQL / PostgreSQL |
| 工具链 | Git / CMake / MSBuild / Docker / Linux |
📖 我的经历
2019.05 — 2019.11 · 毕业设计:跨平台智能家居系统
说实话学校并没有要求我们必须做毕业设计。但我那时候正好比赛打得比较多,实训室又随便进,就想着干脆自己做点有意思的东西吧。于是立项做了一个智能家居系统,从 5 月到 11 月,前前后后花了半年。
硬件是怎么搭的
用的是学校提供的 CC2530 Zigbee 开发板组网(现成的板子,不是我自己画 PCB 的)。整个网络分两路走:
一路比较直接——各传感器节点通过 Zigbee 组网,数据汇聚到一个协调器上,协调器负责 Zigbee 转 RS232,RS232 直接插到开发机的串口上。挂载的是温湿度、烟雾、火焰这些常见传感器。
另一路就比较绕了。单片机没有 485 直出,所以我找了一块板子当网关,先 Zigbee 转 RS232,再 RS232 转 RS485,然后接到一个集线器上。为什么搞这么复杂?因为实训室的 CC2530 开发板数量有限,不够给每个设备都单独挂一块,所以用集线器走 Modbus 协议来分发控制,把智能插座、电动窗帘模拟器、红外遥控家电模拟器、LED 氛围灯之类的一股脑全挂在上面,凑成一个看起来像那么回事的智能家居场景。
通信统一用的 Modbus,支持主机轮询、终端主动上报、远程控制下发三种模式。
代码是我自己写的,但有个遗憾
所有单片机程序都是从零开始写的。不过有个现实问题——地址和控制逻辑全是写死的,没做成可配置的。为什么?一来做可配置化工作量太大了,单片机端要加配置解析,前端还要配对应的界面和逻辑;二来这半年也不是每天都有空——台达杯的比赛跟这个项目时间上有冲突,中间还穿插了一些省市级的小比赛,实际能花在项目上的时间远没有表面看起来那么多。光把基础功能跑通就已经焦头烂额了,实在没精力弄那些锦上添花的东西。
上位机那边的情况
电脑端我用 C# 写了一个 WPF 工程,前后端是一体的。当时根本不知道什么叫前后端进程隔离,就觉得一个工程搞定所有事情挺好的。后果就是——WPF 窗口一关,整个系统的数据采集和控制全停了。WPF 那边负责 Modbus 解析、设备状态管理、数据存盘、监控界面展示、异常报警这些事。
另外还写了一个 Android App(Java),局域网内可以看传感器数据、收报警推送、控制家电。当时对 Socket 通信研究得比较多,App 和 PC 端之间就是靠局域网通信同步数据的。
2020.06 — 2021.07 · 第一份工作:嵌入式开发
毕业后入职了一家初创公司,做单片机开发。这是我人生第一份正式工作。
那家公司是什么样的
公司非常小,办公室里算上我就 5 个做开发的。我要干的事情远不止写代码——PCB 要自己画,元件要自己焊,焊完还要洗板,然后装外壳、打包快递、发货、处理售后……全流程一个人扛。工资也不高。
在这种环境下待了一年多,几乎没什么社交生活。慢慢地,我发现自己对写代码的热情被磨没了。
但我确实做出了东西
在职期间,真正涉及编程的只有一款产品——遥控延时继电器模块,单路继电器,跑的是裸机 MCU,没有 Linux 微内核那一套。支持定时触发、输入触发、遥控触发等多种模式。产品现在淘宝还有卖,26.5 块起售。刚上市那会儿每天能卖 5 个以上(不带遥控的基础版子型号每天 20 来个),现在淡了很多。除此之外的工作主要是绘制各种子型号的 PCB 板,不涉及固件开发。
刚入职时做的第一件事:串口抽象层
进公司后接到的第一个任务,就是搭一套硬件无关的串口抽象接口——把串口的初始化、发送、接收、中断回调等全部定义成统一的函数指针或回调结构体。上层业务逻辑只跟这个抽象接口打交道,不碰具体的硬件寄存器。
这个设计后来被证明非常有用——不管底层硬件怎么换,换一块 MCU、换一个串口外设,只要实现了同一套接口,上层代码一行都不用改。
遥控解码模块
抽象层搭好之后,我负责了 315MHz 无线遥控的解码模块实现。超外差接收模块捕获信号,软硬件结合做按键去抖,区分长按短按和多键组合。
这段经历虽然不愉快,但让我完整走通了裸机 MCU 从固件开发到产品交付的全流程。嵌入式全链路的底子就是这时候打下来的。
下班后我也没闲着
工作之余自己在学 Python 和网络爬虫,做了两个小工具:
- B 站视频批量下载器:批量解析地址然后下载
- 图集查看器:桌面端图片浏览工具,用户自己填写 XPath 规则来定义数据源,软件里按规则解析出不同的分类,每个分类下是独立的图集,点进去就能逐张查看
这两个项目让我初步摸到了 Python 的门道。
最后还是走了。原因很简单:压抑的环境磨灭了我对编程的热情。
2021.07 — 2022.02 · 自学三维建模
2021 年 7 月 1 号,离职第一天,我没有投简历。
心里一直有个游戏梦——做程序员的人大概多少都有过吧?想着要不转行试试?于是决定趁这段时间系统性学一下三维建模。
先是传统手绘流程
学了 3ds Max,多边形建模、UV 展开、贴图绘制,产出了一些简单作品,算是入了门。
然后是次世代 PBR 流程
手绘跑通之后又转向业界主流的次世代流程:ZBrush 高模雕刻 → TopoGun 拓扑布线生成低模 → 烘焙法线/AO/曲率到贴图上 → Substance Painter 画材质 → 八猴渲染预览。整条工具链都走通了,也做了几个练习作品。
结果呢?没入行
流程都会了,工具都能用,但美术功底这东西真不是几个月能补的。审美、造型感、色彩把控……这些需要长期的积累,我不是那块料。
那接下来怎么办?回想起之前一个人扛所有事的压抑日子,不想再受一遍罪。但三维建模这条路又走不通……
不过这段弯路也不是完全没用。后来进了 CAD/CAM 行业之后我发现,既懂建模又懂编程的人其实很少见。这种复合能力在工业软件领域还挺稀缺的。
2022.02 — 2022.12 · 编程教育
过完年(2022 年 2 月),既不想回之前的嵌入式坑,游戏行业又进不去,就先找了份少儿编程教育的工作,一直到年底。
教书这件事
专职讲 Python 和 C++ 两门课。说是教书,其实是边教边学——为了把课讲明白,我得先把自己理顺了。
C++ 这边,面向对象的思想我在学校就会了,C# 和 Java 都是这套东西,所以只是补了个 C++ 的语法表达,然后往桌面开发方向深入。Python 这边也差不多,那段时间基本上能用别的语言写的我都能用 Python 写出来,算是彻底掌握了。
Qt 是被逼出来的。每次写课程评价都要花好几个小时,一怒之下写了个批量生成器——得有界面吧?于是找了 PyQt5。工具嘛,够用就行。
教学工具也接触了不少,乐高的 EV3 和 WeDo 2.0、scratch图形化编程软件。
机甲大师自动瞄准系统
大疆 RoboMaster 机甲大师是我带的课之一。为了让课更有意思,课余时间我做了一个自动瞄准系统:
用 OpenCV 实时抓摄像头画面 → 在图像里找到对方战车 → 算它相对于画面中心的偏移量 → 归一化成一个 [-1,1] 范围的二维向量 → 喂给 PID 控制器 → 控制云台转动去跟踪对方 → 自动射击
做完之后那种感觉挺奇妙的——从查资料、啃理论到自己一行一行写出来,最后看着云台追着目标转、自动开火,那个满足感是实实在在的。
当然有个明显缺陷——敌我不分。这个问题当时没解决:一是课余时间本来就有限;二是总不可能给对方战车刷个颜色来区分吧?所以就这么不了了之了。但作为教学演示够用了。
大疆的教育无人机我也玩过,Python SDK 二开的支持有,但说实话实用性一般,没做出什么有价值的东西。
为什么又走了
两个原因。一是疫情对线下培训冲击太大。二嘛,干着干着觉得有点对不住自己的良心——校区主管一直施压要主动推课、催续费,我知道机构有生存压力,但我真的不喜欢这种硬来的方式。我想做的,是把课讲好、让孩子觉得有意思、自己愿意来上我的课;而不是琢磨怎么把课程吹得天花乱坠去哄家长掏钱。本质上是想达成同一个目标——让学生留下来,但做法完全不同。有时候被逼得急了,做出来的一些事情难免有拔苗助长的味道,违背我当初入行的初心。所以想了想,还是回到技术开发的本行吧。
最近留意到一些声音在探讨 AI 时代还有没有必要让孩子学少儿编程,作为两件事都做过的人,我写了点自己的看法。
2023.02 — 至今 · CAM / 数控软件开发
2023 年 2 月入职现在的公司——一家机床制造企业,到现在还没离职。这是我做时间最长的一份工作,也是技术上成长最快的一段。
平时干什么
主要管这几个方向:
CAM 软件——加工路径生成算法、工艺参数配置界面、后处理模块(刀路转 G 代码)、加工仿真相关的功能。
机床数控软件——这块是基于第三方轻代码平台做的,技术栈组合是"轻代码平台 + C++ 二次开发 + 运动控制板卡"。运动板卡的驱动对接、运动指令解析执行、多设备联动逻辑、机床整体控制和状态管理,这些都是我日常要处理的。
工业相机——海康威视和佳能的相机 SDK 集成开发,用在加工过程中的视觉定位和辅助校准。
遗留系统维护——公司历史项目多且杂,Qt、MFC、C# WPF 都有,哪个出了问题或者要加新功能都得管。
下班后的学习清单
这一阶段是我技术视野扩张最快的时期。工作之余我像海绵一样吸收新东西:
- Rust——这是目前为止最让我上头的语言。编译器很严格,借用检查器经常把我卡得想摔键盘,但一旦编译过了,跑起来就是稳。没有空指针、没有数据竞争、不用操心内存泄漏,C++ 踩过的坑它基本都从语言层面给你堵上了。缺点是学习曲线真的陡,生态也不如 C++ 成熟。但瑕不掩瑜——它那种"编译过就等于靠谱"的安全感,是其他系统级语言给不了的。现在我用它做 AI 调度框架的核心引擎
- React / Vue3 / Electron——前端三件套。以前一直做桌面端和嵌入式,Web 前端这块基本是空白,抱着"总得知道页面是怎么跑起来的"心态补上了。Vue3 上手快,React 生态大,Electron 能拿 Web 技术写桌面应用,各有用处
- Blender——之前用 3ds Max 和 ZBrush 做建模,后来发现 Blender 也不差,还是开源的。建模、雕刻、渲染一体,不用在几个软件之间倒来倒去,而且社区插件丰富,不花钱能做的事越来越多
- 线性代数 + 矩阵计算——这个没啥捷径,就是硬啃。搞机器学习和图形学绕不过去的一道坎,向量、矩阵、特征值分解这些东西,刚开始一头雾水,多写多练才慢慢有了感觉
- OpenGL——学了线代和矩阵之后自然就想碰图形学了。之前做三维建模是在软件里操作,现在想自己写代码去控制顶点、着色器、光照——从"用工具"到"造工具"的转变
- 机器学习 / AI Agent / AI 调度 / 上下文管理——能跑起来 AI 还得感谢换了新电脑。后来配了台 RTX 4070S 的机器,算力够了,才开始真正动手跑模型、调参数、搭 Agent。之前 C++ 的内存管理经验和 Rust 的安全理念,到了 AI 上下文管理这块意外地顺手——说到底都是"怎么高效利用有限资源"的问题
现在回想起来,从嵌入式底层到桌面 GUI,从前端 Web 到工控,再到前沿 AI——各个层面都有所涉猎了。
我正在探索的方向:混合架构
在工业软件、机床工控、CAD 二次开发这些场景里泡久了,我对传统桌面开发的一些痛点感受很深。
一方面是 Rust + Qt。纯 Qt 开发在复杂工业场景下,长期运行的稳定性和并发性能始终是个问题。所以我在尝试用 Rust 做高性能核心,Qt 做界面层——Rust 解决计算密集和并发的部分,Qt 处理用户交互。这个方案已经在我的 AI 调度框架项目中落地了。
另一方面是 Rust + Electron + React + TypeScript。Qt 开发效率确实快不起来——写界面、调样式、跨平台适配,每一步都费劲。Electron 加 React 加 TypeScript 这套组合在开发速度和界面表现力上有明显优势,Rust 通过 N-API 或者 sidecar 进程把高性能计算部分包进去。目前还在摸索阶段,但方向是明确的——用 Web 技术解决 UI 层的开发效率,用 Rust 兜底性能敏感的模块。
2026.05 起 · 业余项目:AutoCAD 2018 AI 通用调度框架
2026 年 5 月启动的个人项目,原型已验证通过,正在优化准备商用。
核心思路:把我在 CAD/CAM 工控领域的经验跟 AI 结合——让大模型参与到 CAD 设计流程里,用户用自然语言描述意图,AI 理解后自动调用 AutoCAD 命令完成绘制。技术栈是 Rust(AI 调度引擎)+ Qt(中间桥接层)+ ObjectARX 2018(AutoCAD 原生插件) 的三层混合架构。
🏗️ 我擅长的方向
工业软件架构
我一直在探索 Rust + Qt + ObjectARX 这种三层分离的架构模式。重计算的部分交给 Rust(内存安全、高性能),GUI 交互交给 Qt(生态成熟、开发效率高),中间通过 FFI 或进程间通信桥接。这种思路不只适用于 CAD 插件,任何"计算密集 + 交互频繁"的桌面软件都可以参考。
跨语言集成
Rust FFI 和 C++ 之间来回调用我已经踩过不少坑了。MCP 协议回调机制的实现也是在实战中摸索出来的。多语言混合项目里最头疼的就是接口设计和数据序列化,这些我有自己的经验和方法论。
AI + 工业
我正在做的事情就是把大模型的能力往 CAD/CAM 的实际工作流里塞。不是概念验证,而是真正能用的东西——智能辅助决策、设计验证自动化、自然语言驱动的参数调整。从"人操作软件"进化到"人和 AI 一起操作软件"。
三维 + 编程复合能力
我能看懂拓扑结构、理解 UV 展开的逻辑、知道法线贴图和 PBR 材质是怎么回事——同时又能用代码去操控和生成这些东西。在 CAD/CAM、三维可视化工具这些领域,这种复合背景让我做起事来比纯程序员或纯设计师都更顺畅。
嵌入式全链路
从裸机写寄存器、管中断,到 Modbus/Zigbee 协议栈,再到上位机串口通信和数据可视化,中间还经历过 PCB 设计、焊接、生产、发货、售后——一条龙我都干过。所以当我后来在做上位机软件的时候,我对底层发生了什么是有直觉的,这不是看书能获得的。
📬 找我
- 🐙 GitHub:github.com/GahooChan
- 📧 Email:2432168423@qq.com
以下场景欢迎联系我:
| 场景 | 说明 |
|---|---|
| 🧒 少儿编程相关 | 孩子该不该学编程、AI 时代怎么学、想自己教孩子不给机构交智商税的,我都聊过 |
| 🔧 项目二开 / 功能定制 | 对我的 AutoCAD AI 调度框架或其他开源项目感兴趣,想二次开发或定制功能的 |
| 🏗️ 架构设计咨询 | Rust + Qt 混合架构、跨语言 FFI、CAD 二次开发、工业软件设计方面的经验分享 |
| 💬 技术交流 | 工控、嵌入式、AI Agent、MCP 协议等方向有想法想探讨的 |