硬件手工焊、代码自己写,成电90后毕业生自制迷你电脑走红!

文:卿晗 学生记者团 张羽扬 量子位(ID: QbitAI) / 来源:新闻中心 / 2020-04-17 / 点击量:11984

  近日,一段长3分多钟的小视频在B站突然爆红,不仅登上首页,获得超过200万的播放量,还被众多观众“膜拜”。有网友在评论区说:“其实这些东西吧,外行看起来很牛,但我这种内行看起来,还是很牛!”

微信截图_20200413210624.jpg

  打造这个AI小电视的超硬核UP主“稚晖君”本名彭志辉,是本硕均就读于电子科大的2018届毕业生,现为一名AI算法工程师。

从草图到成品,全都自己做!

  这台AI小电视事实上是一台迷你小电脑。它不仅可以当语音助手,还能处理实时图像,甚至能当Web服务器……

  彭志辉自称“野生钢铁侠”,这台迷你电脑就像Tony Stark在山洞里打造钢铁侠战衣原型一样,从草图到成品,都是彭志辉自己动手完成的。“当小电脑成功开机的时候,真有一种钢铁侠冲出山洞的感觉。”彭志辉笑着告诉小编。

  在这个3分多钟的视频里,彭志辉快速展示了他历时3个月,打造这个迷你电脑的大致过程:

  先在纸上画草图。

  有了草图,第一步是制作电路板:用Altium Designer绘制PCB板,而是非常复杂的6层DDR高速板!设计完找厂家打样PCB和制造钢网,然后给PCB刷上焊锡膏,把芯片、电阻、电容等器件一个个贴上去,热风枪加热完成回流焊,电路板就大功告成啦!

微信截图_20200413210040.jpg

  至于外壳,彭志辉用Rhinoceros绘制迷你电脑外壳的3D模型,再用自己的3D打印机打印出来,然后利用雕刻机用亚克力制作面板。

  加上买到的小巧液晶屏幕,迷你电脑的硬件部分制作完成啦!

  硬件部分的制作仅仅只是一个开始,接下来才是让人感到“头秃”的软件开发环节。由于这是一块自己独立开发的电脑主板,彭志辉需要从底层开发软件,包括uboot/kernel配置、设备驱动、应用层App开发、算法模型部署等,都是他用C/C++/Python/JAVA/Shell一行行敲出的代码。

微信截图_20200413210244.jpg

  最终,内核剪裁移植完成,彭志辉给迷你电脑装上了Linux的Xfce桌面环境,如果不介意屏幕太小,连接鼠标操作是没有问题的,当然也能在远程电脑主机上通过VNC、RDP远程访问控制迷你电脑。有了Linux,再把TensorFlow装上去,接上USB-Type C扩展的摄像头实现图像识别,又或是利用内置的麦克风实现语音识别,还能把迷你电脑当成自己博客的web服务器。

微信截图_20200413210422.jpg

去隔壁学院蹭工具,还“蹭”到了女朋友!

  彭志辉本科和研究生分别就读于生命科学与技术学院和信息与通信工程学院。读书时,他参加了各类比赛,获得从校级到国际级大大小小将近40个奖项,且大部分是一等奖。

  回忆起在成电的学习时光,彭志辉表示:“7年的大学时光,我在母校还是有很多难忘的事情。比如我在学校的时候是著名的‘电赛狂魔’,本科期间基本上只要有比赛我就会参加(当然啦那时候我还很菜)。由于本科的时候咱们生命学院还没有成立科协,当时的微固学院跟我们很近,所以那时候经常‘厚脸皮’去那边的科协蹭工具,后来‘蹭’到一个女朋友。”

cc60dc17728c3c5633dc68cc3f9f393.jpg

  在成电七年的时间里,让彭志辉的知识、能力、视野得到了很大提升。以这次的迷你为例,据彭志辉自己不完全统计,用到了电子基础、电子元器件选型、电路原理图设计、高速电路PCB设计、电子元器件焊接技术、电路板调试、启动程序UBOOT裁剪移植、linux内核裁剪移植、文件系统、底层驱动程序(C语言,ARM架构汇编,linux内核架构)、上层应用程序(C++、Qt、JAVA、Python等,深度学习,机器学习,OpenCV,神经网络,自然语言处理)、静态博客服务器搭建、高等数学、线性代数、概率论、离散数学、3D建模、3D打印、雕刻机、视频拍摄后期制作、防脱发技术(划重点!!)等几十种技能。

  “在母校的几年学习经历成就了现在的我”,彭志辉说道,“我觉得最大的收获就是学会了自我管理,不论是学习方面还是生活方面。知识的积累当然很重要,但是我觉得相比于学校授之以我们的‘鱼’,能够系统、高效地学习更多知识的能力才是大学里更应该学习掌握的。另外,成电给了我们一个很好的环境,在这里只要你有想法、够努力,都能获取到你想要的资源和平台。”

不断学习:热爱与方法都很重要

  问到兴趣爱好方面,彭志辉表示他兴趣点非常多,喜欢弹吉他喜欢摄影,喜欢打乒乓球(甚至为此造了一个陪他打球的机器人);而且虽然目前主业是做深度学习算法方向偏软件,但是他业余时间最大的乐趣就是宅在家里折腾硬件。

  对于迷你电脑这个项目的起因,彭志辉表示也是由于不满意于目前市面上能买到的小型个人服务器,所以就自己动手DIY了一个。另外一个原因是,他个人比较喜欢在积累了一定程度的新知识和技能之后,构思一个项目把这些知识都用上并呈现出来。“一方面通过这种方式可以及时巩固学习效果,另一方面‘学以致用’才是个人技术进步的永恒归宿。”

  参加工作后,彭志辉也坚持学习新的知识,丰富自身知识体系。他说:“未来是终身学习的时代,不存在大学毕业之后就不学习了。做技术一定不要只关注自己眼前的一亩三分地,否则很难有好果子吃,比如拿嵌入式开发来说,除了传统的嵌入式软件技术,还可以去学RTOS,去学RISC-V,去学异构……”

  彭志辉也在提升自我的过程中探索适合自己的学习方法,“有一种学习方法叫Problem-Based learning”,他解释说,“就是以问题为导向的学习,通过自学寻找解决问题的方法和问题的答案,这种方法属于自顶向下的路线;而我们在学校的基础和专业课程中逐渐构建知识体系则是属于自底向上。两种方式可以同时尝试,找到适合你的汇合点。”

d6fef5a970d62aba8f4911a1ada86f2.jpg

  当工作就是自己的兴趣爱好时,彭志辉认为自己是幸运的:“我心中的理想工作状态就是:工作是源于自己的意愿,每天做自己喜欢的事情并不断积累经验,在适当的压力下积极创新,收获自身成长的同时收获报酬。简单来说,就是当个人爱好、公司价值、与时代趋势相统一。我认为目前正在朝着这个方向努力,虽然还有很多东西要学习。”

  作为一名从硬件转到算法的工程师,其中的缘由彭志辉解释说:“当工程能力达到一定程度,就会为了解决工程问题去学习算法。写代码是将先进生产力落地于现实应用的最快捷的方式之一。而算法,就是代码的灵魂。”

e4aa5392b618e76dcf54e111d36c166.jpg

  彭志辉自诩“野生钢铁侠”,但他憧憬的并非是电影里的钢铁侠,而是钢铁侠在现实世界的原型Elon Mask。“我希望能成为像他一样的怀揣着冒险精神做自己认为正确的事情的人,既争朝夕,也争未来。”



编辑:何易虹  / 审核:何乔  / 发布者:陈伟