大家好,我是一名刚入行的嵌入式软件工程师,说实话,现在感觉自己就像一块海绵,急需吸收各种知识来充实自己!尤其是在这个 AI 浪潮席卷各行各业的时代,我越发觉得自己的基础还不够扎实,之前接触的内容也比较单一。所以,我决定静下心来,好好给自己“充充电”,目标是朝着 “AI 硬件” 方向进发!
我把我的学习路线规划成了一系列的“关卡”,从最基础的 C 语言开始,然后是 STM32、RT-Thread、ESP32,最终可能会向 具身智能(也可能是无人机/机器人) 方向发展。当然,我会在这个过程中,尽可能地把 AI 技术融入进去,让我的项目更有趣,也更具挑战性!
一、 为什么我要这样规划?一些碎碎念
其实,我之前主要做的是一些比较传统的嵌入式开发,说白了,就是写写驱动,做做简单的控制系统。但最近,我发现那些接入了大模型的硬件设备真的太酷了!真的具有未来感和科技感。我觉得,这才是未来硬件的发展方向,也是我们嵌入式工程师大展拳脚的舞台!所以,我决定跳出“舒适区”,挑战一下自己,朝着这个方向努力!
我深知这注定是一段充满挑战的旅程,但我相信,不积跬步,无以至千里;不积小流,无以成江海,只要一步一个脚印,踏踏实实地学习,总有一天我会实现自己的目标!当然,我更希望在这个过程中,能够结识更多志同道合的朋友,大家一起学习,一起成长,一起探索嵌入式和 AI 的无限可能!
二、 我的学习计划 & 阶段性目标 & 一些思考
接下来,我会详细地分享我的学习计划,包括每个阶段的目标、学习内容、实践项目,以及我对 AI 融入的一些思考。我尽量把自己学习到的东西,踩过的坑都记录下来, 也算是一个开源的学习笔记。
1. C 语言:夯实地基,方能行远 (持续进行)
-
阶段目标: 熟练掌握 C 语言,特别是 指针、内存管理、结构体 这些核心概念,还要熟悉常用的 数据结构和算法。
-
学习方法: 我正在啃《C Primer Plus》,这本书真的很棒,讲解得很细致,也很容易理解。每学习完一章,我都会把重点内容和我的思考整理成笔记,发到公众号等平台,并上传到习题代码到我的 GitHub (或者 Gitee) 仓库,并持续更新。除了经典的“C 语言三大件”:《C 和指针》、《C 陷阱与缺陷》、《C 专家编程》之外,我还会阅读一些大佬们推荐的书籍,例如《高质量 C++/C 编程指南》,并把这些书的精华内容和我的读书心得也放到笔记里。
-
我觉得 C 语言是嵌入式开发的灵魂,只有把 C 语言学透了,才能更好地理解底层原理,写出更高效、更稳定的代码。
2. STM32:开启嵌入式开发的大门
-
阶段目标: 掌握 STM32 的开发流程,熟悉常用外设,能独立完成一些简单的 STM32 项目。
-
学习方法: 我选择了 B 站上 江科大 的 STM32 课程,他的课程讲解得很清晰,很适合入门。同时,我也会结合 《STM32 库开发实战指南:基于 STM32F10》(第二版) 这本书一起学习。我发现,看书可以让我更深入地理解底层的原理,而且可以反复琢磨,比单纯看视频效果更好。
-
实践: 我会跟着课程里的实验项目,一步步地去实现,例如点亮 LED 灯、串口通信、SPI 通信、IIC 通信等常用的通信协议等等。我还会尝试自己设计一些小项目,这个到时候看看有没有什么好玩的开源项目可以实现一下。
-
STM32 是嵌入式开发的入门神器,通过学习 STM32,我可以快速上手嵌入式项目开发,并对硬件的工作原理有更深入的理解。
3. RT-Thread:实时操作系统,让任务更高效
-
阶段目标: 掌握 RT-Thread 的基本概念和用法,能够在 STM32 上进行基于 RT-Thread 的项目开发。
-
学习方法: 我会仔细阅读 RT-Thread 的官方文档,并跟着文档里的示例代码进行实践。官方文档永远是最好的学习资料, 没有之一。
-
实践: 我会尝试将之前在 STM32 上做的项目移植到 RT-Thread 上,体验多任务编程的优势。
-
思考: RTOS 可以让嵌入式系统更高效、更稳定,是进阶嵌入式开发的必备技能。我会重点关注 RT-Thread 的任务调度、同步、通信等机制,理解它们是如何工作的。
-
资源: RT-Thread 官方文档
4. ESP32:连接万物,无限可能
-
阶段目标: 掌握 ESP32 的开发流程,熟练运用 Wi-Fi 和 蓝牙 功能,能够开发一些有趣的物联网项目。
-
学习方法: 我会先选择 ESP-IDF 作为开发环境, 这是官方推荐的。计划做一些与物联网相关的开源项目,例如将传感器数据通过 Wi-Fi 上传到云平台,或者通过蓝牙与手机进行通信。重点是学习如何接入大模型,通过调用云端 API,实现一些智能化的应用,例如语音控制、图像识别等等。
-
实践: 可以尝试一下一些好玩的开源项目,小的桌面宠物之类的。
-
思考: ESP32 的 Wi-Fi 和蓝牙功能为物联网应用开发提供了无限可能。我希望通过学习 ESP32,能够掌握物联网开发的基本技能,并尝试将 AI 技术融入到物联网项目中,创造出更智能、更便捷的设备。
5. 具身智能/无人机/机器人:我的终极目标!
-
阶段目标: 掌握 ROS 的基本概念和用法,能够进行简单的机器人/无人机软件开发。更进一步, 了解具身智能的一些基本概念, 并且尝试复现一些简单的 Demo。
-
学习方法: 我会先在虚拟机里安装 ROS,然后跟着 古月居 的教程学习 ROS 的基本操作。我会尝试搭建一个简单的机器人仿真平台 (例如使用 Gazebo),并实现一些基本的控制和导航功能。如果之后有时间和精力, 会深入学习具身智能相关的知识, 例如强化学习, 计算机视觉, 多模态融合等。并且尝试自己搭建一个实体机器人, 将学习到的知识运用到实践中。
-
这是我目前的一个比较终极的目标,中途可能还会学一下 Linux 操作相关的一些东西,或者一些其他相关的内容,但是大体路线就是这样。
三、AI 学习计划:持续更新
目前,我打算用到什么 AI 技术,就去学习什么。例如,如果我想在 ESP32 上实现语音控制,我就会去学习语音识别相关的知识和 API;如果我想在 ROS 中实现目标检测,我就会去学习计算机视觉相关的算法和框架。
我会将学习的 AI 相关知识, 融入到上面的学习计划中, 并在我的笔记和代码仓库中进行更新。也欢迎大家推荐好用的 AI 开源框架和工具。
四、写在最后:期待同行者
以上就是我的嵌入式 AI 学习之路的阶段性规划啦!我把这篇文章发出来,一方面是为了记录我自己的学习历程,梳理我的思路;另一方面,也是更重要的,是希望能找到更多志同道合的朋友!
如果你也对嵌入式、AI、机器人、无人机、物联网、智能硬件这些领域感兴趣,欢迎与我交流,我们可以一起学习,一起进步,一起创造出更酷、更有趣的玩意儿!
让我们一起,在嵌入式和 AI 的道路上,越走越远,共同迎接智能时代的到来!