三年探索:一条自控、电信/科类学生的技术成长路线

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 时代之变和未来决策纵看时代风云变云,按照雷军的话说:站在风口上猪都飞得起来。就如同世界增加的两次工业革命一样,每一次都过国家从中兴起,有国家随之灭亡。我们中国目前也经历过造富浪潮,缔造了无数的财富传奇。

第一次是体制改革,很多人下海经商成就了许多传奇
第二次是房地产和全球化,至今我们也在为房子的问题发愁
第三次是互联网时代,看现在互联网大厂就知道
而我在大一的时候就有深刻的感觉就是:
互联网的时代已经将要过去
这句话的意思不是说互联网要衰退了,倒闭关门了。而是渡过了最疯狂的成长期随后将要进入平稳期,竞争加剧,就业饱和,最后增长放缓甚至下降这都是我们现在可以看到的。

我们都知道想要发展好不只看眼前,就好像很多人看到90到05年上下的时候化工行业暴利时代,现在再让你选你还觉得石油化工赚钱吗。过了十五年后再让你选,互联网也不一定是收入较高的。因为时代会变的,我们必须抓住的是时代的变化做决策。

另外一点很重要的事情是,上面这些事情都是白字黑字写在政府的工业计划大纲上的。都是国家鼓励放出激励政策如何这些行业也随之兴起,没有例外。

这一次我感觉这次的浪潮是和中国大国崛起的息息相关的高端制造业和高新科技业(高端制造业上到航天航空、卫星科技;下到重工船舶、机车电气;再到智能数控、智能装备等等。高新科技业像人工智能、大数据、5G技术、新能源等等)。这个判断主要来自于十四五规划,前面的三次造富浪潮都出现在其中。

所以我想要告诉你的是:高端制造业和高新科技业这些行业绝对有着超乎你想象的未来,是那种能够改变你将来身份阶层的未来。

而其中最有前景的是智能化。

自身专业之困
作为电科专业的学生,这个专业是非常不错的,但是在未来职业上,它更偏向于培养科学家而非工程师,而我的方向是倾向走工程师的道路,因为物理非常博大精深。
所以对我来说最有工作和项目意义的课程的是C语言、单片机原理及其接口技术、Matlab和数电模电最后还有数学类的高数线代概率论,我们没有机会学习数据结构、程序设计、算法类的课程,可以说比起CS类的学生,我们想要完全从软的道路优势是不大的,因为在这些年里我也尝试过用业余时间去学习这些技术,虽然可以补偿一些,但是我还是得承认,人的时间精力都是有限的,我无法同时掌握SQL、JS这些和EDA、multisim这些。

所以我必须基于自己现在的情况走出一条适合自己情况的成长路线。

纯粹的嵌入式学习路线
大一阶段我主要接触了嵌入式设计这条路子,对于硬件设计这块反而接触较少,不仅在校园,集成电路设计在恐怕在世界来说门槛都是极高的。纯嵌入式路线起步都大同小异,都是51或者arduino起步,然后后面转STM32、ARM、树莓派这些,然后到嵌入式LINUX这条路线。这个阶段我学习了语言之母C语言
截屏2023-12-27 下午4.54.16.png

在嵌入式基础上开始学习IOT技术
随着对单片机编程和网络配网逐步的深入了解,我想更加深入地使用这些板子的能力,这就是AIOT技术,由2018年小米IOT开发者大会提出来的,把AI和IOT结合在一起运用的技术。那个时候我就开始接触到了诸多传感器并且利用单片机设备和各种网络模块进行数据收集并且传输到像华为云腾讯云、手机、blinker等等这些平台,并且通过互联网遥控浇水、电灯什么的。
截屏2023-12-27 下午4.53.48.png

初步接触到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和嵌入式的朋友感兴趣的朋友可以试一下我这条学习路线

相关文章
|
机器学习/深度学习 数据采集 测试技术
Toad:基于 Python 的标准化评分卡模型(上)
在信贷的风控模型中最常用、最经典的可能要属评分卡了,所谓评分卡就是给信贷客户进行打分,按照不同业务场景可为贷前、贷中、贷后和反欺诈,一般叫做ABCF卡。模型得到分数,通过设置cutoff阈值给出评估结果,结果可直接用于通过或拒绝,或者用于策略应用。
2529 0
Toad:基于 Python 的标准化评分卡模型(上)
|
存储 SQL 关系型数据库
[MySQL]学习笔记目录(尚硅谷宋红康MySQL数据库教程)
[MySQL]学习笔记目录(尚硅谷宋红康MySQL数据库教程)
|
7月前
|
存储 网络协议 API
Cpp网络编程Winsock API
本文详细介绍了使用Winsock API进行C++网络编程的过程,通过具体实例实现了一个基于TCP协议的C/S架构通信demo。文章从服务端与客户端两方面展开,涵盖网络库初始化、套接字创建、绑定IP与端口、监听与连接、数据收发到关闭连接等关键步骤。重点解析了`WSAStartup`、`socket`、`bind`、`listen`、`accept`、`connect`、`send`和`recv`等函数的使用方法及注意事项,并对比了标准库与Winsock库在链接时的区别。适合初学者了解Winsock网络编程基础。
337 35
|
11月前
|
算法 物联网 5G
UWB定位的7种算法
UWB定位系统基于超宽带技术,通过纳秒级脉冲实现高精度厘米级甚至毫米级定位。其7种主要算法包括:1) TOA(到达时间),利用信号传播时间计算距离;2) TDOA(到达时间差),通过多个基站的时间差确定位置;3) RSSI(接收信号强度),估算距离但精度较低;4) AOA(角度到达),测量信号入射角度;5) 混合算法,结合多种算法提高精度;6) 最小二乘法,处理多基站数据减少误差;7) 卡尔曼滤波,动态跟踪目标位置;8) 粒子滤波,适应复杂非线性环境。这些算法各具特点,适用于不同场景,如工业制造、智能仓储和室内定位等。
865 11
|
存储 SQL 算法
LeetCode第53题:最大子数组和【python 5种算法】
LeetCode第53题:最大子数组和【python 5种算法】
|
自然语言处理 前端开发 数据可视化
Quarto ppt模板制作与Rstudio git连接
本文介绍了当前PPT演示中流行的Quarto文档使用情况,以及如何在Rstudio中连接Git进行版本控制。重点讲解了Quarto的ppt模板制作流程,包括安装、创建演示文稿及自定义样式等步骤,并提供了相关资源链接。
363 0
Quarto ppt模板制作与Rstudio git连接
|
设计模式 安全 JavaScript
jQuery-1.7.2 版本任意文件下载漏洞复现
jQuery-1.7.2 版本存在任意文件读取漏洞,攻击者可通过特定URL地址访问并获取敏感信息。
1158 1
|
安全 jenkins 持续交付
jenkins学习笔记之八:jenkins认证集成gitlab
jenkins学习笔记之八:jenkins认证集成gitlab
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
677 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
缓存 算法 Linux
xenomai /PREEMPT-RT 实时性优化指南
xenomai /PREEMPT-RT 实时性优化指南
1007 0
xenomai /PREEMPT-RT 实时性优化指南