這個B站up主太硬核了!純手工打造AI小電視:硬件自己焊接,驅動代碼全手寫

 更新時間:2020-03-23 21:50:33   作者:佚名   我要評論(0)


聲明:本文來自于微信公眾號 量子位(ID:QbitAI),作者 :曉查,授權吾愛源碼轉載發布。一個低調的AI開發者,憑什么登上B

聲明:本文來自于微信公眾號 量子位(ID:QbitAI),作者 :曉查,授權吾愛源碼轉載發布。

一個低調的AI開發者,憑什么登上B站首頁、一個視頻百萬播放,并且外行內行看了都服氣?

憑的是硬核純手工作品——一臺“套娃”小電視。

而且這可能是史上最硬核的一次“套娃”:在純手工制作的電視里成功播放了B站小電視。

B站

如果你以為它只能播放B站視頻的開發板+顯示屏,那就大錯特錯了。

這可是一臺從零開始制造的AI助手“賈維斯”。

不僅能當語音助手,還能處理實時圖像,甚至能當web服務器。。。

up主和鋼鐵俠一樣,自己畫設計圖、手工焊接組成。就像鋼鐵俠當年在山洞里造出第一代戰衣。

整個小電視除了芯片外,幾乎全是up主自行設計完成。不知道up主看到小電視正常開機的一瞬間,會不會有斯塔克沖出山洞的感覺。

打造這個套娃小電視的up主“稚暉君”本名彭志輝,現在是一名OPPO的AI工程師。

之前稚暉君就在B站分享過很多DIY硬件視頻,雖硬核卻不溫不火,直到自制小電視的出現,他的作品第一次登上B站推薦首頁,收獲了超過 100 萬的播放量。

所謂外行看熱鬧,內行看門道。他的視頻到底厲害在哪里呢?一位專業網友表示:

其實有些東西吧,外行看起來很牛X,但其實我這種內行看起來,還是很牛X。

從手工畫PCB到寫C++代碼

稚暉君用簡短的 3 分鐘視頻,展示了他制造“B站小電視”的全過程。

先在紙上畫草圖。

沒有開發板?不要緊,稚暉君自己造。

電路板怎么做?用Altium Designer繪制PCB板,求助萬能的淘寶,找商家印刷和制造鋼網。

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

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

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

硬件制作完成僅僅是個開始,接下來是讓稚暉君頭禿的軟件開發環節。

因為這是一套完整自己設計的板子,他還要從底層開發軟件,包括uboot/kernel配置、設備驅動、應用層App開發、算法模型部署等,都是自己用C++一行行敲出的代碼。

視頻過程中,你看到代碼一行行快速通過,但實際上稚暉君熬了好幾個令人頭禿的夜,甚至還重新設計了電路板。

最終稚暉君給小電視裝上了Linux的Xfce桌面環境,如果你不介意屏幕太小,連接鼠標操作是沒有問題的,另外還能通過VNC、RDP遠程訪問。

有了Linux,再把TensorFlow裝上去,接上攝像頭實現圖像識別,又或是接上話筒實現語音識別,還能把小電視當成自己博客的web服務器。

小電視也能自己播放自己,實現“套娃”視頻。

嗶哩嗶哩技術宅UP耗時三個月,自制B站最強小電視!小程序

技術大佬的知識體系

看到上面一些列騷操作,你是不是已經目瞪口呆?

根據一個技術大佬的統計,稚暉君掌握的技能有:

電子基礎,電子元器件選型,電路原理圖設計,高速電路PCB設計,電子元器件焊接技術,電路板調試,啟動程序UBOOT裁剪移植,linux內核裁剪移植,文件系統,低層驅動程序(C語言,ARM架構匯編,linux內核架構),上層應用程序(C++、Qt、JAVA、Python等,深度學習,機器學習,OpenCV,神經網絡,自然語言處理),靜態博客服務器搭建,高等數學,線性代數,概率論,離散數學,3D建模,3D打印,雕刻機,視頻拍攝后期制作,防脫發技術。

其中,最難的莫過于最后一項技術。

稚暉君也表示贊同,當我們問他整個開發過程中最難的問題是什么,他說是“如何在保持熬夜學這么多東西的情況下不會脫發”。

現在不脫發的技術我們已經掌握了,求求大佬能不能傳授一點秘籍。

不要急,稚暉君說了今后會出一系列詳細教程,希望大家關注一下他的空間和最新動態。

那還說什么,都已經明示投幣了,這次一定三連支持。

軟硬件兩開花的大佬

最后,讓我們隆重認識下大佬吧。

稚暉君畢業于電子科技大學,目前就職于OPPO上海研究院。

他從 2015 年就開始更新自己的技術博客,筆耕不輟。最初他只是把B站當做自己的視頻存儲服務器,沒想到卻收獲了一批穩定的粉絲,才開始轉型做up主,沒想到半年時間就讓自己火了。

稚暉君本人可謂硬件軟件兩開花,當年去面試OPPO的時候拿到了兩份Super Special的offer,一個是硬件崗、一個是算法崗。

不過他強調現在在公司并沒有同時拿兩份工資,只是一名AI算法工程師。

稚暉君還是Arduino中文社區版主,愛好吉他和口琴。

在這次硬核手工火爆后,我們也聯系到了稚暉君,他分享了自己的開發經驗。

量子位:聽說你本科學的是生物,后來才選擇計算機專業,為什么?

稚暉君:是的,本科是生物醫學工程專業,研究生是信息與通信系統專業,所以其實不算CS科班。選擇專業的原 因也是各種機緣巧合啦,總之我后來發現生物專業并沒有我想象中的有很多女同學哈哈。

CS專業在我看 來和英語一樣是一門基礎技能,是一門研究“怎么高效地解決問題”的學科,很容易和其他學科交叉結合,所以在我讀生物專業的時候,其實就已經開始自己學習計算機了。

EE方面也是同樣的情況,因為可 以看到對于像這次這個小電視這樣的作品所涉及的專業面,是在高校里的任何一個專業都無法完全覆蓋 的;學習的方法有一個分支,叫做 Problem-Based Learning,就是以問題為導向的學習,通過自學尋 找解決問題的方法和問題的答案。

量子位:你對嵌入式和AI的興趣是何時培養起來的?

稚暉君:對嵌入式的熱愛始于我小時候學會拆家電的那個階段。大學階段入門了模數電、單片機、Linux、自控原理之類的課程之后,就開始放飛自我了。

對AI的興趣的話,是源于深度學習最近一次重新崛起的那幾 年,“當你造出了一個會開車的AI司機之后,你就得到了無數個會開車的司機”。這樣的想法非常地吸引我。

量子位:對于有志學習嵌入式開發的軟件工程師,你有哪些建議?

稚暉君:想做嵌入式開發的話,一定不要只關注自己眼前技術的一畝三分地,否則很難有好果汁吃。去學 RTOS,去學RISC-V,去學異構…永遠沒有完全準備好的人才,年輕時要邊打仗邊學習。

知識面一多之后,很難面面俱到,要學會拎清楚重點,剩下的知識只需要在用到的時候會查閱工具 書就行。厲害的工程師不是可以背下來多少語法標準和手冊資料,而是在有全局觀的同時能有能力 解決核心問題。知識分為兩種,一種是你知道的,一種是你知道可以在哪里找到的。

多了解和思考一下嵌入式和前沿領域的交叉點,邊緣計算、嵌入式AI、物聯網、端云融合等等。

量子位:當初為什么想到做B站小電視這個項目?

稚暉君:一個人一旦脫離了高級趣味,做各種沙雕項目也就會變得游刃有余了(笑)。我的樂趣就是周末宅在家里折騰這些既沒用又有用的東西。

做這個小電視項目的初衷在我之前發的一個視頻里有提及,其實就是不滿意于目前市面上能買到的小型個人服務器,有一些痛點,所以就打算自己動手造一個。

還有一個原因是,我個人比較喜歡在積累了一定程度的新知識和技能之后,構思一個項目把這些知識都用上并呈現 出來。一方面通過這種方式可以及時鞏固學習效果,另一方面“學以致用”是技術發展的永恒歸宿。

所以大家可以期待一下,我最近業余也在學習一些機器人高級控制和優化理論,未來可能會有很有意思 的項目作品分享的。

量子位:你是怎么平衡興趣愛好和工作的關系的?

稚暉君:很幸運的一點是,我的興趣愛好就是我的工作。

我認為的理想工作狀態就是:工作是源于自己的意愿, 每天做自己喜歡的事情而積累經驗,在適當的壓力下積極創新,收獲自身成長的同時順便收獲可觀的報 酬。簡單地說,就是當個人愛好、公司價值、與時代趨勢相統一的時候。我認為目前正在朝著這個方向努力,雖然還有很多東西要學習。

我給自己的信條是:十年飲冰,難涼熱血。

量子位:平時做的事情對你現在的工作有哪些啟發?

稚暉君:前面提到了 Problem-Based Learning,以解決問題為導向進行學習,未來是終身學習的時代,不存在大學畢業之后就不學習了。

人工智能也是一樣的,它是一種學習的過程,如果你去問有實際工程經驗的人工智能專家,他們大都會在談及算法之前問兩個基本問題:

第一、你要解決什么問題;第二、你有沒有與這個問題相應的可供學習的數據。

另外,知識是大體相通 的,在不同學科之間的遷移學習可以帶來事半功倍的效果,比如軟件設計里的高內聚低耦合模塊復用理念,也是可以應用到電路設計里面的;比如嵌入式開發的經驗在優化深度學習模型推理實現的過程中提供了意想不到的幫助。

傳送門

稚暉君的個人主頁:

http://www.pengzhihui.xyz

稚暉君的B站:

https://space.bilibili.com/20259914

相關文章

最新評論

买宝宝用品赚钱吗 天天股票网 大乐透走势图带连线图 炒股网上开户 排列了3开奖结果 助赢时时彩软件手机版 安徽11选五开奖走势图300期 股票分析师介绍 广东11选5最容易中奖 股票入门基础知识k线图 深圳风采走势图表 安徽快3开奖结果今天3徽快3基 内蒙古快三300期走势图 金牛通配资 河北快3彩票 十一选五傻瓜打法 云南快乐10分怎么玩法