Android系統(tǒng)是植基於Linux之上,賦予X視窗的功能。自從Google購併Android後,Android平板、手機(jī)、手錶、電子書、無人機(jī)、機(jī)器人等各式電子產(chǎn)品紛紛上市,並不斷衍生和推陳換新。
無庸置疑的,目前Android幾乎已經(jīng)成為iOS最大的競爭對手。不過,Android的功能雖然強(qiáng)大,但它需要較大的儲存空間之缺點,確實讓一般開發(fā)商卻步。再者,在Android中,想安裝Google Map、Gmail等應(yīng)用軟體,還必須通過Google的GMS認(rèn)證。因此,在中國大陸Android的山寨機(jī)雖然很多,但都沒有Google Map、Gmail等方便好用的軟體。
2012年2月,大概Android開始流行時,Raspberry Pi 1(第一代樹莓機(jī))就已經(jīng)上市了。四年後,也就是今年2月,Raspberry Pi 3也正式上市。
令人驚豔的Raspberry
在沒有Android和Raspberry的年代裡,開發(fā)商最頭痛的問題就是找不到一套既好用又能和Linux kernel無縫結(jié)合的視窗系統(tǒng)。雖然在那個年代,網(wǎng)際網(wǎng)路上有一些開源程式碼可以支援X視窗的功能,例如:MIcrowindows、MiniGUI、Qt等,可是還是需要自行下載完成建置與Linux整合,步驟很複雜,一遇到問題也沒人可支援。而且它們?nèi)鄙僦薪檐涹w(Middleware),例如:多媒體播放器。於是業(yè)界尋找「X聖杯」的計畫就悄悄開始了。最後終於誕生了Android和Raspberry,前者被大企業(yè)採用,後者則是被中小企業(yè)擁護(hù)。
Raspberry Pi 3使用Broadcom的BCM2837,這顆系統(tǒng)級單晶片(SoC)內(nèi)部有四核心ARM CPU和雙核心的圖形處理器(GPU),Raspberry官網(wǎng)建議安裝的作業(yè)系統(tǒng)是Raspbian Jessie,源自Debian 8.5。
Raspberry之所以受人歡迎,除價格便宜外,另一個主要原因就是對初學(xué)者而言,Raspbian的入門門檻比Android低。它的原始程式碼和開發(fā)工具都可以從網(wǎng)際網(wǎng)路下載到Raspberry的電路板上,而且Raspbian的建置與安裝幾乎是「一鍵完成」。
由於Linux kernel和X視窗是一體成形地整合在Raspbian中,不像Android還得按照傳統(tǒng)的跨平臺建置(Cross-Compile)方法,所以使用Raspbian非常省時省事。也因為Raspberry Raspbian目前只支援Broadcom的BCM2837,想移植到其它SoC就必須靠自己了。

圖一 : 人工智慧的出現(xiàn),將來語音辨識很可能會取代部份鍵盤與滑鼠的功能。(Source:commercialtenantresource.com) |
|
不過,對大多數(shù)的中小企業(yè)而言,Raspberry Pi 3是一個有支援面板,可以上網(wǎng),能播放影片、音樂,開發(fā)與製造成本都很節(jié)省的嵌入式平臺,可以滿足大多數(shù)的應(yīng)用需求。若無特殊需求,並不需要更換BCM2837或Raspbian。
Raspberry Pi 3有一個令人驚豔的應(yīng)用就是Amazon公司的Alexa Voice Services(AVS),如附圖一。也就是說,可以從Amazon官網(wǎng)下載AVS軟體並安裝到Raspberry Pi 3中,這過程幾乎也是「一鍵完成」,最後透過外接的USB麥克風(fēng)就可以詢問Alexa任何問題,或者點播串流音樂。
Alexa就是Amazon cloud的人工智慧,將來語音辨識很可能會取代部份鍵盤與滑鼠的功能,想像一下用自己的聲音詢問Alexa任何在wiki百科全書上面的問題吧!
雲(yún)端服務(wù)與互聯(lián)網(wǎng)
不過,上述的AVS應(yīng)用主要是創(chuàng)客玩家的動手做(DIY)工作。而開發(fā)商的重點工作不是Raspberry,而是要建構(gòu)自己的服務(wù)網(wǎng),並透過一臺伺服器與Amazon Cloud連接。這臺伺服器在網(wǎng)際網(wǎng)路上,必須要能辨識用戶的Custom Skill裝置、AVS裝置。簡單地說,Custom Skill是被動式裝置,例如:喇叭。
AVS裝置就是主動與被動式都具備的裝置,例如:樹莓機(jī),麥克風(fēng)和喇叭都具備。AVS經(jīng)營商利用這臺伺服器去服務(wù)下游用戶的Custom Skill裝置、AVS裝置。其實,這也是一種互聯(lián)網(wǎng)的應(yīng)用。因為這臺伺服器不只可以播放語音,也可以將聲音轉(zhuǎn)換成控制指令,從遠(yuǎn)端去控制房屋內(nèi)的冷氣、電燈等。

圖二 : Amazon公司的Alexa Voice Services(AVS) |
|
使用Raspberry Pi 3就可以實作Custom Skill裝置、AVS裝置。當(dāng)然,Amazon公司最看重的不是Custom Skill裝置、AVS裝置所能創(chuàng)造的營收,而是希望能持續(xù)蒐集到全世界消費者的大數(shù)據(jù),分析這些數(shù)據(jù),得到廣大消費者的使用習(xí)性。
目前使用Raspberry來實現(xiàn)互聯(lián)網(wǎng)的節(jié)點裝置已經(jīng)沒有技術(shù)問題了。但是,對網(wǎng)路資訊安全的擔(dān)心仍然是互聯(lián)網(wǎng)無法普及的主因。這有待使用了區(qū)塊鏈(Blockchain)或類似的新技術(shù)能夠有效防堵網(wǎng)路惡意攻擊的新版網(wǎng)際網(wǎng)路的建立。
跨平臺的理想
除等待新版網(wǎng)際網(wǎng)路的建立之外,互聯(lián)網(wǎng)的開發(fā)商現(xiàn)在能做的當(dāng)然不是等待,縮短產(chǎn)品開發(fā)的時程是必須持續(xù)追求的目標(biāo)。臺灣有一家公司,三年多以前就試圖將Android移植到自已設(shè)計的i.MX6板子上面,至今仍在除錯中。可見得當(dāng)SoC功能越來越強(qiáng)大,作業(yè)系統(tǒng)也會變得越來越複雜難解,所花費的時間成本也越來越高。因此,催生了Yocto這樣的組織。
Yocto是Intel、Broadcom、TI、Freescale、AMD這些國際大廠一起集資成立的計畫性組織。其宗旨就是要完成一套軟體工具,可以支援所有的嵌入式軟硬體平臺。
這似乎是遙不可及的夢想,不過,目前在Yocto官網(wǎng)上可以下載Intel、TI、Freescale….等這些大廠的SoC的開發(fā)板支援套件(Board Support Package,BSP)。
不過,與傳統(tǒng)的做法一樣,開發(fā)者還是要使用Cross-Compile方式先在PC上面建置Yocto的映像檔(Image File),再下載到目標(biāo)板(Target Board)的開機(jī)裝置中。對於Yocto有支援的Linux作業(yè)系統(tǒng)而言,按照這樣的方法去實作並不難。例如,可以使用Yocto輕易地將Ubuntu移植到Freescale i.MX6上面。
因為這部份,Yocto已經(jīng)被驗證過的,可是還有很多部份Yocto還沒有完成。例如,臺灣有一家公司想使用Yocto將Arch Linux移植到Freescale i.MX6上面,但遇到許多技術(shù)問題,至今仍然無解。雖然,國外已經(jīng)有公司成功地將這些問題解決了。
使用Yocto產(chǎn)生的Linux系統(tǒng)大小不會像Android那麼龐大,而且經(jīng)過組態(tài)設(shè)定可以客製化,讓Linux系統(tǒng)具備所必需的特定功能,移除掉不需要的功能。因此,可以大幅縮短開發(fā)的時程。不過,若又要包含X視窗,問題又回到前面所提到的尋找「X聖杯」的問題上頭。
因為不同的Linux系統(tǒng)對各家的圖形處理器、視訊處理器都有各自不一樣的繪圖、視訊演算法程式庫,這些程式庫可以提供給上層應(yīng)用程式或軟體使用。如果不瞭解這些程式庫的原理和用途,而且Yocto也尚未將它們成功移植,就自行將它們移植安裝的話,想必是困難重重的。
不可輕忽晶片與韌體技術(shù)
目前手機(jī)遊戲Pokemon Go很流行,新創(chuàng)的雲(yún)端應(yīng)用軟體公司如雨後春筍般紛紛出現(xiàn),市場上瀰漫著一股氛圍,似乎認(rèn)為開發(fā)應(yīng)用軟體才有獲利可言,甚至進(jìn)而輕視晶片、硬體、系統(tǒng)韌體的價值。殊不知上述的所有應(yīng)用之基礎(chǔ)都是植基於晶片、硬體、系統(tǒng)韌體。
過去有許多流行的應(yīng)用軟體、遊戲軟體,有許多現(xiàn)在都不見了,可是晶片、硬體、系統(tǒng)韌體的技術(shù)現(xiàn)在還存在著,甚至衍生出更新版本。
臺灣有一家開發(fā)Android機(jī)上盒的公司,使用中國大陸設(shè)計的工板,但該公司並無系統(tǒng)韌體工程師,雖然該廠商軟體工程師設(shè)計的UI/UX很漂亮、很好操作,可是系統(tǒng)常常會當(dāng)機(jī)。由於中國的原設(shè)計公司不願意派人來支援,於是這問題就擱著待解。
雖然這幾年來,因為中國大陸經(jīng)濟(jì)崛起和外銷市場的低迷不振,造成電子業(yè)營收普遍的下滑,但展望未來,為了迎接新的商機(jī),我們不應(yīng)該讓晶片、硬體、系統(tǒng)韌體技術(shù)在這一代產(chǎn)生斷層,應(yīng)該持續(xù)培育新的晶片、硬體、系統(tǒng)韌體的工程人才。
(作者曾任半導(dǎo)體產(chǎn)業(yè)產(chǎn)品開發(fā)部經(jīng)理、軟體設(shè)計經(jīng)理等要職)