創客/物聯網/穿戴式助長 開放硬體風潮再起
近年來,大眾越來越常聽到開放硬體(Open Hardware)、開放原始碼硬體(Open Source Hardware),它的淵源為何?為何現在盛行?對未來的意義又是什麼?本文將在以下對此說明。
蘋果首先開放硬體 IBM仿效避壟斷
打從1976年、1977年,蘋果電腦的設計者沃茲尼克(Stephen Gary Wozniak)便開放蘋果電腦的擴充槽電路設計給大眾,只要有人覺得蘋果電腦的功能不足,即可自行設計功能電路板,將電路板插入擴充槽內,就能賦予該電腦新功能。
在此之前,即便電腦有擴充板卡的機制設計,也通常不公諸於世,而是業者專屬自用,在客戶要求提升電腦的規格、功能時,再透過電腦的原供應商提供新板卡,由原廠專人為其加裝。
擴充槽電路設計的開放,僅是整體電腦系統的一部分開放。到了1981年IBM推出個人電腦,由於IBM在當時已是傳統電腦市場,意即大型主機(Mainframe)的寡占業者,若在新興的個人電腦市場也獲得大市占率,則IBM遭受反托拉斯(Anti-Trust)制裁的可能性將增高。
因此IBM開放PC的整體電路設計,言下之意任何人都能了解IBM PC的硬體設計,該公司並未用不公平的競爭手段,在個人電腦市場上與人競爭。但實際上,IBM僅開放電路設計,PC的開機程式、基礎韌體(BIOS)並未開放,該公司認為一般人不易破解、了解IBM PC的韌體程式,在市場上依然有競爭優勢,如圖1所示。
![]() |
| 圖1 1981年IBM PC Model 5150型的硬體設計電路公開,但BIOS晶片內的韌體程式不公開。 圖片來源:technologyuk.net
|
不料鳳凰科技(Phoenix)公司透過摸索,自行開發撰寫出功能幾乎能全然相容IBM官方韌體的BIOS,揭露IBM PC的所有設計秘密,因而開啟眾多業者投入開發、生產IBM相容的個人電腦,並比IBM原廠便宜,IBM PC初期擁有高市占率,但之後節節敗退,市場上的主流銷售為IBM相容PC,而非IBM原廠PC。
2005年Arduino誕生 Open Source逐漸發跡
上述僅表示開放硬體很早即有例子,但之後多數的電腦發展仍採封閉為多,包含蘋果的麥金塔電腦、昇陽的工作站電腦等。
近年來盛行的開放硬體,主要發展於2005年冬,一名義大利設計學校的老師Massimo Banzi與一名西班牙客座學者兼晶片工程師David Cuartielles討論,如何讓設計系學生在沒有電子工程背景下而完成電子聲光設計作品?
最初曾考慮用BASIC Stamp,是Parallex公司以Microchip公司的微控制器晶片為基礎,追加一層轉譯程式的開發,使一般大眾只要會撰寫簡單入門的培基(BASIC)程式語言就能操控微控制器晶片,毋須學習難開發、難維護的組合語言,如圖2所示。
![]() |
| 圖2 1992年Parallex公司BASIC Stamp 2部位簡介 圖片來源:維基百科
|
但BASIC Stamp是轉譯層,屬於Parallex的專屬設計,沒有開放,也因此BASIC Stamp雖然好用但不便宜,討論之後決議採行相同概念自行開發,兩人外加一名學生David Mellis的投入,三人完成了名為Arduino的電路板與轉譯程式、開發工具。
Arduino是以Atmel公司的AVR架構微控制器為基礎所發展成,設計系學生只要學會類似C、C++語言的程式語法,便能輕鬆操弄AVR微控制器,完成自己想要電子聲光設計作品。
有鑑於BASIC Stamp的封閉昂貴,Massimo Banzi等決議開放Arduino的電路設計、程式設計,因此許多廠商開發銷售與Arduino相仿的控制電路板,並可使用Arduino工具進行開發。
值得一提的是,Arduino的相關程式是以常見的通用公共授權(GPL)、LGPL等方式開放授權,其中微控制器的函式庫以LGPL方式授權,而在Java環境下執行的開發程式則用GPL授權。
但電路設計的開放,不太適合用軟體授權方式,因此改用著作權的「創用CC(Creative Commons)」授權,引用六種授權(圖3)中的CC-BY-SA(Share-Alike)授權法,意指Arduino的電路設計能沿用、延伸開發,這些開發可以純個人用或商業化販售,但新開發必須註明「Arduino」字樣(BY),並再以相同方式對外授權(SA)。
![]() |
| 圖3 CC的六種創作分享、授權方式,Arduino採第二項的BY、SA。 圖片來源:維基百科
|
由於任何仿造品須在印刷電路板上標註「Arduino」字樣,等於幫忙推廣Arduino這個註冊商標,這使部分想商業化銷售的業者觀望、卻步。之後,有人開發出Freeduino,完全相容Arduino但不侵犯Arduino,引用Freeduino並無搭載任何名稱的限制,因此許多業者是以Freeduino設計來開發、銷售Arduino相容品,如圖4與圖5所示。
![]() |
| 圖4 1.16版的Freeduino實體線路布局圖
資料來源:freeduino.org |
![]() |
| 圖5 1.14版的Freeduino等效電路圖 資料來源:freeduino.org |
但是,也因為Arduino盛名日傳,若電路板取了一個與Arduino毫無聯想性的詞,反而不利銷售,因此會出現許多相近、容易聯想的產品詞,如FayaLab的Fayaduino、DCcEle的DCcduino等,幾乎都會夾帶duino字樣以利銷售。
昇陽開放OpenSPARC 僅揭露等效電路
昇陽開放OpenSPARC 僅揭露等效電路
與Arduino相近時間的,還有一個開放硬體,是昇陽電腦的OpenSPARC,SPARC(Scalable Processor ARChitecture)架構微處理器原本一直是昇陽電腦的專屬設計,不過該設計有授權給富士通,但之後SPARC處理器的銷售量少,量價均攤效益低,在價格效能比方面,越來越無法與英特爾(Intel)的x86架構處理器比拼,因此在2005年12月提出OpenSPARC,開放SPARC架構的電路設計,期望以開放方式吸引更多開發者、業者採行SPARC架構,使SPARC晶片用量增加,軟體生態擴增,不過此一開放的提振成效至今有限。
在這裡要提的是,電路開發其實分兩個層次,一個是等效(同等效果)的電路開放(一般為.sch檔,sch=schematic),另一個是實際布線的電路開放(一般為.brd檔,brd=board),Arduino屬於兩種層次皆開放,但OpenSPARC屬於第一種層次的開放。
事實上,微處理器的邏輯電路設計,也是以程式語言(譬如VHDL、Verilog等)方式撰寫開發而成,開放等效的電路,意即揭露一堆程式碼。加上前述的Arduino轉譯程式、開發程式等,因此也就有Open Source Hardware一詞,開放的硬體經常伴隨開發原始程式碼、來源程式碼、原碼、源碼(Source Code)。
而OpenSPARC之所以未開放第二層(實體線路布局、布線),主要在「實用性不高」,因為不同的晶圓廠、不同的製程,都採行不同的實體線路布局設計,只要換不同晶圓廠生產,比方像聯電換台積電,或期望改用更先進製程生產,例如32奈米精進到22奈米,則原有揭露的布局就不適用,且揭露晶片實體電路布局,也過於商業機密。而開放數位邏輯晶片設計的第一層,也被稱為開放暫存器轉化層(Register-Transfer Level, RTL),業界也俗稱為Soft IP,第二層則為Hard IP。
樹莓派加入戰局 主打簡單/小體積
雖然Arduino於2005年即推出,但真正逐漸成熱,約自2008年、2009年開始,而到了2012年,英國教師感嘆選擇電腦科學系的學生程度越來越低,且原有的教學用電腦系統過於老舊,因而決心自己開發一套學習用的電腦系統,要夠簡單、便宜,因而有了樹莓派(Raspberry Pi, RPi)。
樹莓派也開放其電路設計,並交由一些電子零件代理商、配銷商代為生產銷售,如Element 14/Premier Farnell、RS Components等。事實上,其他業者也可以仿造RPi開放的電路圖自行生產銷售,但由於RPi起頭設計便考慮簡單、成本和小體積,因此不容易有其他業者提出更精巧便宜的方案,僅部分業者提出與RPi相近概念的高規化方案,如BananaPi、Odroid等,且不全然相容。
RPi以MMC、SD等記憶卡為其硬碟,所以作業系統不設限,可以是Linux,也能夠是Android,而2015年4月微軟(Microsoft)也宣布Windows 10 IoT Core將支援RPi 2 Model B。
創客/3D列印/物聯網 點燃下波開放硬體熱潮
開放、便宜只是起步條件。筆者觀察,進一步炒熱開放硬體的尚有三點,一是創客(Maker)文化出現,許多人喜歡做工藝自娛,這些工藝加上電子興趣嗜好者,開始有各種新的創意應用與作品,而其中用的電子硬體即是Arduino或RPi,也有其他開放硬體,如MirrowBoard、BeagleBoard等,但名氣尚不及Arduino、RPi。
創客的熱潮,從2009年Wired總編Chris Anderson的宣告而到來,再加上3D列印風潮,如RepRap開放專案設計出的3D印表機(圖6),其電子控制系統為Arduino,而列印出的東西,可以做為創客作品的機構件,因而旋即向上發展。
![]() |
| 圖6 2012年曾進行調查:您曾用過哪款3D列印機?結果以RepRap專案的機種最多。 圖片來源:reprap.org |
再加上英特爾、台積電等國際半導體大廠紛紛宣布穿戴式、物聯網時代的來臨,物聯網的真正大宗普及應用尚未被發掘,大廠認為目前為數眾多的創客中,將有少數人的創意作品會成為物聯網、穿戴式的殺手應用,而紛紛擁抱Maker,而Maker愛用Arduino,英特爾也就擁抱Arduino,推出Arduino相容的伽利略(Galileo)、愛迪生(Edison)等微型電子控制系統,甚至為穿戴式推出居禮(Curie)等。
英特爾於2013年8月開始擁抱Arduino,2014年6月聯發科亦推出相容Arduino的LinkIt ONE,2015年4月三星也推出ARTIK系列將相容Arduino,加上前面談到微軟Windows 10將支援RPi,其實也包含Windows Phone支援Arduino,透過藍牙通訊,Arduino能取用Windows Phone上的各類感測器,或者反過來,Windows Phone上的App可以操控Arduino。
不僅如此,開放軟硬體陣營間也同樣合作,Mozilla基金會的Firefox OS也推出WebAPI來支援Arduino,並以藍牙通訊與Arduino溝通聯繫。
以上所述,大體多是開放硬體的美言,但也有一些不好的發展,例如宣稱相容但並非全然相容,只是借搭順風車,或是2014年底Arduino官方發展鬧分家等。但整體而言,開放硬體的潮流仍持續增溫,再加上無人機(Unmanned Aerial Vehicle, UAV)應用的提出,開放硬體亦可能有著墨之處,風潮短期內不易停歇,並可能有更多可期待的新發展,值得拭目以待。





