跳到主要内容

AIoT 学习路线 👣

AIoT 结合了人工智能(AI)和物联网(IoT)两个领域,也是本站专注的内容,它们为智能设备提供更强大的感知、理解和决策能力。同时,物联网作为互联网的延伸,与 Web 技术有着千丝万缕的关系,包括前端、后端、大数据、云计算、人工智能、区块链等等。它们共同组成了一个庞大的物联网生态,为各行各业数字化转型赋能。

显然,想要掌握 AIoT 技术并非一件容易的事。正如下图所展示,你需要学习数理化、计算机基础、各种编程语言、嵌入式开发、Web 前后端开发、数据分析、人工智能等多个领域的知识。当然,我们的知识是有边界的,下图也无法列出所有技术要点,而你在工作中也很可能需要学习一些行业相关的知识。因此,我们建议你先从自己感兴趣的方面或正在从事的工作内容入手,先深入掌握一门技术,再围绕着它慢慢扩展,并通过实际项目理解和应用所学知识。


对于初学者,从 Arduino 或者 Web 前端开始学习是不错的主意。因为它们对初学者很友好,可以得到即时反馈,让你更容易坚持下去。

例如,下面是从 Arduino 开始的一条学习路线。Arduino 的易用性和完善的生态可以帮助你积累一些硬件和嵌入式软件的开发经验;接着可以使用一些在实际产品开发中用到的硬件平台(例如 STM32),它们的可定制化程度更高,应用领域更宽广;在 MCU 上运行 RTOS 是一件很有意思的事情,你可以选择一个 RTOS 进行深入学习(例如 RT-Thread 或 FreeRTOS),从而了解操作系统的工作原理和软件架构设计;有了 RTOS 的基本,学习 Linux 开发就会更加得心应手,你也会进入一个更大的世界。

如果从 Raspberry Pi(树莓派)开始,那么你可以暂时忽略上面的 MCU 开发技术栈,直接进入 Linux 的世界。Linux 开发的方面有很多,包括 Linux 内核开发、驱动开发、应用开发、系统调优等等,Linux 的软件生态实在是太丰富了,因此你可以根据自己的兴趣和需求尽情学习。由于 Linux 系统在 Web 服务器、云计算等领域应用非常广泛,所以对于 Linux 应用开发者来说,学习 Web 后端开发是一件很自然的事情,两者的技术栈比较接近。由此,你将从嵌入式进入到互联网的世界。

如果你暂时对硬件和嵌入式开发不太感兴趣,那么可以直接学习 Web 开发。对于初学者来说,Web 前端比 Web 后端更友好、门槛更低,因为你不需要了解操作系统、数据库、网络协议等等一大堆底层的知识。你可以先从制作网页开始,学习 HTML、CSS 和 JavaScript,然后选择一个前端框架深入学习,例如 React 和 Vue.js。当你有了一些经验以后,你可能就会有学习 Web 后端的需求,并进一步成长为全栈工程师。


而数据分析、人工智能等技术是更上层且相对独立的分支,根据你自身的情况选择学习即可。计算机基础在这里并没有提及,但不代表它们不重要,包括计算机的组成原理、数据结构和算法、设计模式等等,无论你选择哪条学习路径,或多或少都会接触到,如果你具备这些知识,会加快你的学习速度,也有利于你日后的设计和开发。而数理化等基础学科知识,如果只是单纯 coding,你可能觉得它们没用,但在某些行业或领域(比如机器人、汽车、医疗),数理化知识就显得很重要,甚至决定了产品的优劣。

我们希望培养更多优秀且善良的 AIoT 创客,而不是贩卖焦虑。请记住,我们不是为了学技术而学技术,我们是为了解决问题而学技术。因此你不需要马上全部都学,只学你当下需要用到的就可以了。读书写字、陪伴家人、发展兴趣爱好同样也是很重要的事情。

开始学习吧,解锁新知识,为创造人类美好未来贡献一份力量!💪💪💪