這個B站up主太硬核!純手工打造AI小電視:硬件自己焊代碼全手寫
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
一個低調(diào)的AI開發(fā)者,憑什么登上B站首頁、一個視頻百萬播放,并且外行內(nèi)行看了都服氣?
憑的是硬核純手工作品——一臺“套娃”小電視。
而且這可能是史上最硬核的一次“套娃”:在純手工制作的電視里成功播放了B站小電視。

如果你以為它只能播放B站視頻的開發(fā)板+顯示屏,那就大錯特錯了。
這可是一臺從零開始制造的AI助手“賈維斯”。
不僅能當(dāng)語音助手,還能處理實(shí)時圖像,甚至能當(dāng)web服務(wù)器。。。

up主和鋼鐵俠一樣,自己畫設(shè)計(jì)圖、手工焊接組成。就像鋼鐵俠當(dāng)年在山洞里造出第一代戰(zhàn)衣。
整個小電視除了芯片外,幾乎全是up主自行設(shè)計(jì)完成。不知道up主看到小電視正常開機(jī)的一瞬間,會不會有斯塔克沖出山洞的感覺。
打造這個套娃小電視的up主“稚暉君”本名彭稚暉,現(xiàn)在是一名OPPO的AI工程師。
之前稚暉君就在B站分享過很多DIY硬件視頻,雖硬核卻不溫不火,直到自制小電視的出現(xiàn),他的作品第一次登上B站推薦首頁,收獲了超過100萬的播放量。
所謂外行看熱鬧,內(nèi)行看門道。他的視頻到底厲害在哪里呢?一位專業(yè)網(wǎng)友表示:
其實(shí)有些東西吧,外行看起來很牛X,但其實(shí)我這種內(nèi)行看起來,還是很牛X。

從手工畫PCB到寫C++代碼
稚暉君用簡短的3分鐘視頻,展示了他制造“B站小電視”的全過程。
先在紙上畫草圖。
沒有開發(fā)板?不要緊,稚暉君自己造。
電路板怎么做?用Altium Designer繪制PCB板,求助萬能的淘寶,找商家印刷和制造鋼網(wǎng)。

然后給PCB刷上焊錫膏,把芯片、電阻、電容等器件一個個貼上去,熱風(fēng)槍加熱完成回流焊。

至于外殼,稚暉君用Rhinoceros繪制小電視的外殼的3D模型,再用自己的3D打印機(jī)造出來。

加上買到的液晶面板,小電視的硬件部分制作完成。

硬件制作完成僅僅是個開始,接下來是讓稚暉君頭禿的軟件開發(fā)環(huán)節(jié)。
因?yàn)檫@是一套完整自己設(shè)計(jì)的板子,他還要從底層開發(fā)軟件,包括uboot/kernel配置、設(shè)備驅(qū)動、應(yīng)用層App開發(fā)、算法模型部署等,都是自己用C++一行行敲出的代碼。
視頻過程中,你看到代碼一行行快速通過,但實(shí)際上稚暉君熬了好幾個令人頭禿的夜,甚至還重新設(shè)計(jì)了電路板。
最終稚暉君給小電視裝上了Linux的Xfce桌面環(huán)境,如果你不介意屏幕太小,連接鼠標(biāo)操作是沒有問題的,另外還能通過VNC、RDP遠(yuǎn)程訪問。

有了Linux,再把TensorFlow裝上去,接上攝像頭實(shí)現(xiàn)圖像識別,又或是接上話筒實(shí)現(xiàn)語音識別,還能把小電視當(dāng)成自己博客的web服務(wù)器。

小電視也能自己播放自己,實(shí)現(xiàn)“套娃”視頻。
技術(shù)大佬的知識體系
看到上面一些列騷操作,你是不是已經(jīng)目瞪口呆?
根據(jù)一個技術(shù)大佬的統(tǒng)計(jì),稚暉君掌握的技能有:
電子基礎(chǔ),電子元器件選型,電路原理圖設(shè)計(jì),高速電路PCB設(shè)計(jì),電子元器件焊接技術(shù),電路板調(diào)試,啟動程序UBOOT裁剪移植,linux內(nèi)核裁剪移植,文件系統(tǒng),低層驅(qū)動程序(C語言,ARM架構(gòu)匯編,linux內(nèi)核架構(gòu)),上層應(yīng)用程序(C++、Qt、JAVA、Python等,深度學(xué)習(xí),機(jī)器學(xué)習(xí),OpenCV,神經(jīng)網(wǎng)絡(luò),自然語言處理),靜態(tài)博客服務(wù)器搭建,高等數(shù)學(xué),線性代數(shù),概率論,離散數(shù)學(xué),3D建模,3D打印,雕刻機(jī),視頻拍攝后期制作,防脫發(fā)技術(shù)。
其中,最難的莫過于最后一項(xiàng)技術(shù)。
稚暉君也表示贊同,當(dāng)我們問他整個開發(fā)過程中最難的問題是什么,他說是“如何在保持熬夜學(xué)這么多東西的情況下不會脫發(fā)”。
現(xiàn)在不脫發(fā)的技術(shù)我們已經(jīng)掌握了,求求大佬能不能傳授一點(diǎn)秘籍。

不要急,稚暉君說了今后會出一系列詳細(xì)教程,希望大家關(guān)注一下他的空間和最新動態(tài)。
那還說什么,都已經(jīng)明示投幣了,這次一定三連支持。

軟硬件兩開花的大佬
最后,讓我們隆重認(rèn)識下大佬吧。
稚暉君畢業(yè)于電子科技大學(xué),目前就職于OPPO上海研究院。
他從2015年就開始更新自己的技術(shù)博客,筆耕不輟。最初他只是把B站當(dāng)做自己的視頻存儲服務(wù)器,沒想到卻收獲了一批穩(wěn)定的粉絲,才開始轉(zhuǎn)型做up主,沒想到半年時間就讓自己火了。
稚暉君本人可謂硬件軟件兩開花,當(dāng)年去面試OPPO的時候拿到了兩份Super Special的offer,一個是硬件崗、一個是算法崗。
不過他強(qiáng)調(diào)現(xiàn)在在公司并沒有同時拿兩份工資,只是一名AI算法工程師。
稚暉君還是Arduino中文社區(qū)版主,愛好吉他和口琴。
在這次硬核手工火爆后,我們也聯(lián)系到了稚暉君,他分享了自己的開發(fā)經(jīng)驗(yàn)。
量子位:聽說你本科學(xué)的是生物,后來才選擇計(jì)算機(jī)專業(yè),為什么?
稚暉君:是的,本科是生物醫(yī)學(xué)工程專業(yè),研究生是信息與通信系統(tǒng)專業(yè),所以其實(shí)不算CS科班。選擇專業(yè)的原 因也是各種機(jī)緣巧合啦,總之我后來發(fā)現(xiàn)生物專業(yè)并沒有我想象中的有很多女同學(xué)哈哈。
CS專業(yè)在我看 來和英語一樣是一門基礎(chǔ)技能,是一門研究“怎么高效地解決問題”的學(xué)科,很容易和其他學(xué)科交叉結(jié)合,所以在我讀生物專業(yè)的時候,其實(shí)就已經(jīng)開始自己學(xué)習(xí)計(jì)算機(jī)了。
EE方面也是同樣的情況,因?yàn)榭?以看到對于像這次這個小電視這樣的作品所涉及的專業(yè)面,是在高校里的任何一個專業(yè)都無法完全覆蓋 的;學(xué)習(xí)的方法有一個分支,叫做 Problem-Based Learning,就是以問題為導(dǎo)向的學(xué)習(xí),通過自學(xué)尋 找解決問題的方法和問題的答案。
量子位:你對嵌入式和AI的興趣是何時培養(yǎng)起來的?
稚暉君:對嵌入式的熱愛始于我小時候?qū)W會拆家電的那個階段。大學(xué)階段入門了模數(shù)電、單片機(jī)、Linux、自控原理之類的課程之后,就開始放飛自我了。
對AI的興趣的話,是源于深度學(xué)習(xí)最近一次重新崛起的那幾 年,“當(dāng)你造出了一個會開車的AI司機(jī)之后,你就得到了無數(shù)個會開車的司機(jī)”。這樣的想法非常地吸引我。
量子位:對于有志學(xué)習(xí)嵌入式開發(fā)的軟件工程師,你有哪些建議?
稚暉君:想做嵌入式開發(fā)的話,一定不要只關(guān)注自己眼前技術(shù)的一畝三分地,否則很難有好果汁吃。去學(xué) RTOS,去學(xué)RISC-V,去學(xué)異構(gòu)…永遠(yuǎn)沒有完全準(zhǔn)備好的人才,年輕時要邊打仗邊學(xué)習(xí)。
知識面一多之后,很難面面俱到,要學(xué)會拎清楚重點(diǎn),剩下的知識只需要在用到的時候會查閱工具 書就行。厲害的工程師不是可以背下來多少語法標(biāo)準(zhǔn)和手冊資料,而是在有全局觀的同時能有能力 解決核心問題。知識分為兩種,一種是你知道的,一種是你知道可以在哪里找到的。
多了解和思考一下嵌入式和前沿領(lǐng)域的交叉點(diǎn),邊緣計(jì)算、嵌入式AI、物聯(lián)網(wǎng)、端云融合等等。
量子位:當(dāng)初為什么想到做B站小電視這個項(xiàng)目?
稚暉君:一個人一旦脫離了高級趣味,做各種沙雕項(xiàng)目也就會變得游刃有余了(笑)。我的樂趣就是周末宅在家里折騰這些既沒用又有用的東西。
做這個小電視項(xiàng)目的初衷在我之前發(fā)的一個視頻里有提及,其實(shí)就是不滿意于目前市面上能買到的小型個人服務(wù)器,有一些痛點(diǎn),所以就打算自己動手造一個。
還有一個原因是,我個人比較喜歡在積累了一定程度的新知識和技能之后,構(gòu)思一個項(xiàng)目把這些知識都用上并呈現(xiàn) 出來。一方面通過這種方式可以及時鞏固學(xué)習(xí)效果,另一方面“學(xué)以致用”是技術(shù)發(fā)展的永恒歸宿。
所以大家可以期待一下,我最近業(yè)余也在學(xué)習(xí)一些機(jī)器人高級控制和優(yōu)化理論,未來可能會有很有意思 的項(xiàng)目作品分享的。
量子位:你是怎么平衡興趣愛好和工作的關(guān)系的?
稚暉君:很幸運(yùn)的一點(diǎn)是,我的興趣愛好就是我的工作。
我認(rèn)為的理想工作狀態(tài)就是:工作是源于自己的意愿, 每天做自己喜歡的事情而積累經(jīng)驗(yàn),在適當(dāng)?shù)膲毫ο路e極創(chuàng)新,收獲自身成長的同時順便收獲可觀的報(bào) 酬。簡單地說,就是當(dāng)個人愛好、公司價(jià)值、與時代趨勢相統(tǒng)一的時候。我認(rèn)為目前正在朝著這個方向努力,雖然還有很多東西要學(xué)習(xí)。
我給自己的信條是:十年飲冰,難涼熱血。
量子位:平時做的事情對你現(xiàn)在的工作有哪些啟發(fā)?
稚暉君:前面提到了 Problem-Based Learning,以解決問題為導(dǎo)向進(jìn)行學(xué)習(xí),未來是終身學(xué)習(xí)的時代,不存在大學(xué)畢業(yè)之后就不學(xué)習(xí)了。
人工智能也是一樣的,它是一種學(xué)習(xí)的過程,如果你去問有實(shí)際工程經(jīng)驗(yàn)的人工智能專家,他們大都會在談及算法之前問兩個基本問題:
第一、你要解決什么問題;第二、你有沒有與這個問題相應(yīng)的可供學(xué)習(xí)的數(shù)據(jù)。
另外,知識是大體相通 的,在不同學(xué)科之間的遷移學(xué)習(xí)可以帶來事半功倍的效果,比如軟件設(shè)計(jì)里的高內(nèi)聚低耦合模塊復(fù)用理念,也是可以應(yīng)用到電路設(shè)計(jì)里面的;比如嵌入式開發(fā)的經(jīng)驗(yàn)在優(yōu)化深度學(xué)習(xí)模型推理實(shí)現(xiàn)的過程中提供了意想不到的幫助。
傳送門
稚暉君的個人主頁:http://www.pengzhihui.xyz
稚暉君的B站:https://space.bilibili.com/20259914