第一次是体制改革,很多人下海经商成就了许多传奇
第二次是房地产和全球化,至今我们也在为房子的问题发愁
第三次是互联网时代,看现在互联网大厂就知道
而我在大一的时候就有深刻的感觉就是:
互联网的时代已经将要过去
这句话的意思不是说互联网要衰退了,倒闭关门了。而是渡过了最疯狂的成长期随后将要进入平稳期,竞争加剧,就业饱和,最后增长放缓甚至下降这都是我们现在可以看到的。
我们都知道想要发展好不只看眼前,就好像很多人看到90到05年上下的时候化工行业暴利时代,现在再让你选你还觉得石油化工赚钱吗。过了十五年后再让你选,互联网也不一定是收入较高的。因为时代会变的,我们必须抓住的是时代的变化做决策。
另外一点很重要的事情是,上面这些事情都是白字黑字写在政府的工业计划大纲上的。都是国家鼓励放出激励政策如何这些行业也随之兴起,没有例外。
这一次我感觉这次的浪潮是和中国大国崛起的息息相关的高端制造业和高新科技业(高端制造业上到航天航空、卫星科技;下到重工船舶、机车电气;再到智能数控、智能装备等等。高新科技业像人工智能、大数据、5G技术、新能源等等)。这个判断主要来自于十四五规划,前面的三次造富浪潮都出现在其中。
所以我想要告诉你的是:高端制造业和高新科技业这些行业绝对有着超乎你想象的未来,是那种能够改变你将来身份阶层的未来。
而其中最有前景的是智能化。
自身专业之困
作为电科专业的学生,这个专业是非常不错的,但是在未来职业上,它更偏向于培养科学家而非工程师,而我的方向是倾向走工程师的道路,因为物理非常博大精深。
所以对我来说最有工作和项目意义的课程的是C语言、单片机原理及其接口技术、Matlab和数电模电最后还有数学类的高数线代概率论,我们没有机会学习数据结构、程序设计、算法类的课程,可以说比起CS类的学生,我们想要完全从软的道路优势是不大的,因为在这些年里我也尝试过用业余时间去学习这些技术,虽然可以补偿一些,但是我还是得承认,人的时间精力都是有限的,我无法同时掌握SQL、JS这些和EDA、multisim这些。
所以我必须基于自己现在的情况走出一条适合自己情况的成长路线。
纯粹的嵌入式学习路线
大一阶段我主要接触了嵌入式设计这条路子,对于硬件设计这块反而接触较少,不仅在校园,集成电路设计在恐怕在世界来说门槛都是极高的。纯嵌入式路线起步都大同小异,都是51或者arduino起步,然后后面转STM32、ARM、树莓派这些,然后到嵌入式LINUX这条路线。这个阶段我学习了语言之母C语言
在嵌入式基础上开始学习IOT技术
随着对单片机编程和网络配网逐步的深入了解,我想更加深入地使用这些板子的能力,这就是AIOT技术,由2018年小米IOT开发者大会提出来的,把AI和IOT结合在一起运用的技术。那个时候我就开始接触到了诸多传感器并且利用单片机设备和各种网络模块进行数据收集并且传输到像华为云腾讯云、手机、blinker等等这些平台,并且通过互联网遥控浇水、电灯什么的。
初步接触到AI技术,逐步走AIOT技术
那还是大二的寒假,我参加了新加坡国立大学的机器学习的课程,可以说是带我进入了AI的殿堂,学习了python和很多基础的算法,包括很热门的神经网络、随机森领、SVM等等,期间还有的就是补齐了数据结构的漏洞。随着后来的深入,我开始学习接触ML的三大分支-- CV、NLP、BI。后来我逐步像CV方向去学习。期间我一直有一个很大困惑:
非计算机的学生真的可以学习AI并且在以后从事以后的工作吗?这种课程的差距真的可以弥补吗?传统的单片机和AI技术又是如何勾连的?可以勾连C和python吗?
现在基本上的单片机的硬件仍然无法在本体上进行算法的运算,所谓的AIOT很多都是在PC端进行的。也就是设备端收集数据让通过网络传输到云平台进行处理,同时自主大规模运算能力也是不具备。
参加英伟达夏令营CUDA的启发
英伟达的主要是凭借其超性能的异构计算而出名,主要产品是显卡(GPU)。所谓的单片机,其实就是最小的计算机,你可以理解为一个次一点的CPU(STM32)。那时候通过英伟达公司的阶段,我发现他们的一款产品 jetson nano–是可以搭载显卡的,而且计算性能足够简单的ML项目,比如说自动驾驶、图像识别这些。也就是一块可以做AI的板子,更要的是其Linux系统和来自CUDA的异构计算更是人工智能的利器。
自身专业的启发
那个时候我在认知实习中听了几位中科院学者的分享,他们做的项目的是设计AI芯片,那个路线的思路根据AI算法的结构特点重新设计芯片框架。当然我们本科生是无法达到这么高的水准的。但是我发现另一个机会。就是PCB设计。我们平时的使用大多数板子和设备直接都是用杜邦线连接的,如果能狗自己画PCB板子可以极大地取代杜邦线。并且通过3D打印机和激光切割机制作的外壳可以出很好的产品。
下位机+上位机+AIOT的思想
下位机+上位机+AIOT这就是我自己探索出来的技术成长路线。首先解释下什么叫上下位机
上位机: 上位机是指可以直接发出操控命令的计算机,一般是PC屏幕上显示各种信号变化。
下位机: 下位机是直接控制设备获取设备状况的计算机,单片机
我自己探索的路线是下位机Arduino(51)-网络通讯(ESP8266、Lo Ra、zigbee等)-AI (CV)-- Linux–上位机Jetson nano(CV、ML)
首先上位机就相当于一个大脑,主要执行AI的功能,然而这种的功能可能就外接口来说是不足够,所以我们下位机的功能是收集和执行数据。
这里说下我为什么上位机不选择树莓派或STM32,因为性能和硬件设备和AI需求,英伟达的nano有个无可比拟的优势,可以实现异构计算,有GPU,这是AI一定会接触到的加速计算。可以打牢基础。不选STM32的原因是我对python这门语言有需求,AI使用的语言一般都是python,所以我不倾向于STM32。
下位机我为什么会选择Arduino作为下位机呢,首先他的弊端也丝毫明显的,他比起STM32和51来说接口较少,用上扩展版后虽然改善了很多但是还是少。但是他有一个优势无与伦比就是学习社区。Arduino是一个全球的使用的板子,很多平时遇到的问题都可以在社区内找到,并且找到很多有趣的项目分享。
拿我比较刚兴趣的项目举一个例子,电磁炮+CV+ML+PCB自主自动瞄准方案
在这里首先使用到就是电路的一些知识,首先作为一个枪我们的选择有很多,但是为什么会选择电磁炮而不是选择橡皮或者钢珠类软弹枪,因为后坐力,后坐力会让算法变得非常复杂,电磁炮后坐力是非常小的。第二点你需要做什么呢?是CV用摄像头确定目标的位置,也可以用雷达和超声波进行补充,但是这还不够,给出了你空间上明确的位置关系后是不是就是数学上的计算的角度就可以集中目标。不是,现实有很多干扰因素。这时候我们需要要用ML去训练我们最佳的发射角度方位。这里怎么操作呢,用Arduino操纵电机带动枪口和发射电磁炮,利用jetson nano 的CV和雷达确定方位,用ML确定设计弹道。
对AI和嵌入式的朋友感兴趣的朋友可以试一下我这条学习路线