開源硬件簡(jiǎn)介
開源硬件指與自由及開放原始碼軟件相同方式設(shè)計(jì)的計(jì)算機(jī)和電子硬件。開源硬件開始考慮對(duì)軟件以外的領(lǐng)域開源,是開源文化的一部分。其中,Arduino的誕生可謂開源硬件發(fā)展史上的一個(gè)新的里程碑。
說(shuō)到開源硬件,大家不一定很了解,但是說(shuō)到創(chuàng)客大家最近一年應(yīng)該耳聞了很多。開源硬件這個(gè)東西,在現(xiàn)在,幾乎是和創(chuàng)客綁定在一起的。
幾乎所有的開源硬件社區(qū)都是由創(chuàng)客組成。開源硬件幾乎可以算是創(chuàng)客的工具箱,給創(chuàng)客提供了大量的方便。
開源硬件是像開源軟件學(xué)習(xí)的。把原理圖開源初衷就是給大家一個(gè)模板,使得更多的東西能被復(fù)用,就好像編程里的對(duì)象,做好一個(gè)類,一個(gè)庫(kù),大家只需要修修補(bǔ)補(bǔ)就行,不用再付出重復(fù)的勞動(dòng)。
開源硬件,以Arduino為例,帶來(lái)的是什么呢?
1.接口的標(biāo)準(zhǔn)化。
Arduino定義了很多標(biāo)準(zhǔn)的接口。如Arduino UNO,Arduino Mega,Arduino Nano,以及xbee接口。在Arduino中包括SPI接口以及I2C接口的位置都是標(biāo)準(zhǔn)化的。這些標(biāo)準(zhǔn)化帶來(lái)的好處就是,對(duì)于Arduino兼容模塊的設(shè)計(jì)者來(lái)說(shuō),只要設(shè)計(jì)兼容這些接口的硬件。那么客戶拿到手的模塊使用會(huì)非常簡(jiǎn)單。擴(kuò)展板直接插上就可以用,模塊看清楚數(shù)字口或者模擬口就行,I2C,SPI設(shè)備接的位置都一樣。非常方便使用。
2、使用流程的標(biāo)準(zhǔn)化。
對(duì)于開源硬件來(lái)說(shuō),接口的標(biāo)準(zhǔn)化使得使用流也可以標(biāo)準(zhǔn)化。選擇一個(gè)Arduino模塊的流呈一般是想一個(gè)功能(idea)-》百度(或論壇)查詢使用傳感器》淘寶開源硬件店詢問合適模塊-》查看模塊使用方式- 》購(gòu)買》收到模塊后下載程序庫(kù)文件- 》打開庫(kù)里的demo例程燒錄程序》插上模塊運(yùn)行-》修改程序?yàn)樽?己所用。
3.教育的標(biāo)準(zhǔn)化
流程的標(biāo)準(zhǔn)化使得硬件的入門門檻被大幅度的降低。包括出現(xiàn)的一些圖開化編程軟件sketch等使得門檻被進(jìn)一步降低門檻低,東西又標(biāo)準(zhǔn)化,那么低齡教學(xué),便成為可能。那么門檻到底有多低呢?小學(xué)生也可以學(xué)。目前由于創(chuàng)客風(fēng)流行,很 多中小學(xué)老師也加入創(chuàng)客行列,使得創(chuàng)客的工具Arduino也可以被中小學(xué)生認(rèn)識(shí)。目前使用Arduino教學(xué)的中小學(xué)主要還是集中在上海及周邊地區(qū),但根據(jù)老師的反饋,確實(shí)效果不錯(cuò)。開源硬件是一個(gè)橋梁,他連接了硬件和軟件,讓硬件工程師,在不了解庫(kù)的具體實(shí)現(xiàn)的情況下能使用很多人編寫的庫(kù)。再也不用過多的糾結(jié)于各種不同 的通信協(xié)議,各種驅(qū)動(dòng)的編寫。如果創(chuàng)客能夠改變世界,那開源硬件一定是他背后的那個(gè)默默付出的她。
開源硬件優(yōu)勢(shì)
1. 開源硬件降低了硬件領(lǐng)域的門檻,更多的人可以參與
開源硬件提供大量經(jīng)過大家驗(yàn)證和持續(xù)改進(jìn)的模塊,可以讓設(shè)計(jì)硬件像做加法、搭積木那樣簡(jiǎn)單,讓更多地人更容易的參與進(jìn)來(lái)。這里面,模塊化、標(biāo)準(zhǔn)化和接口化非常的重要,這個(gè)Arduino就做的很好,所以非常多的藝術(shù)家、設(shè)計(jì)師參與進(jìn)來(lái),帶來(lái)了非常多的創(chuàng)意。
有了很多人的參與,就可能有人像Mark Zuckerberg利用開源軟件建立facebook那樣,利用開源硬件設(shè)計(jì)出非常優(yōu)秀的產(chǎn)品。
2. 開源硬件可以促進(jìn)硬件模塊化、標(biāo)準(zhǔn)化和接口化,提高硬件開發(fā)的速度和效率
3. 開源硬件可以降低硬件的BOM成本
優(yōu)秀的開源硬件設(shè)計(jì)會(huì)被更多的采用,其中采用的物料、IC會(huì)被大量的使用。長(zhǎng)遠(yuǎn)來(lái)說(shuō),降低的ROM成本是可觀的。
硬件工程相對(duì)于軟件工程而言,有著以下幾個(gè)本質(zhì)的區(qū)別
1. 模塊化,標(biāo)準(zhǔn)化,以及修改的便捷性
軟件產(chǎn)品都有著定義完整,并且可以隨時(shí)調(diào)整的輸入輸出。一旦一個(gè)軟件模塊編寫運(yùn)行測(cè)試通過,那么這個(gè)模塊就可以被視作黑盒子,被另外一個(gè)完整定義的模塊調(diào)用運(yùn)行。只要軟件之間的接口不變,那么各個(gè)模塊之間的邏輯就不會(huì)發(fā)生變化,這就使得軟件的開發(fā)人員之間可以僅僅通過定義好的接口來(lái)互相合作,而無(wú)論這些開發(fā)人員身處何處。
而在硬件領(lǐng)域,工程師們就沒有那么幸運(yùn)了。首先,這個(gè)世界上不存在只要知道接口就可以加入設(shè)計(jì)使用的硬件。硬件的選型是一件很麻煩的事情,即使工作很多年的硬件設(shè)計(jì)師,在選用從未使用過的硬件設(shè)備時(shí),也很有可能在接口電壓或是時(shí)鐘頻率的匹配這種“小事情”上栽跟頭——隨便哪里冒出來(lái)的一個(gè)接觸電阻和寄生電容就可能把整個(gè)電路給弄砸了。硬件設(shè)計(jì)師們沒有強(qiáng)大的IDE,沒有美好的編譯器和解釋器,所有硬件工程師都在第一堂EDA設(shè)計(jì)課上被告知:軟件仿真是不可靠的,只能作為參考。硬件設(shè)計(jì)唯一能依靠的就是扎實(shí)的理論基礎(chǔ)和反復(fù)的實(shí)驗(yàn)檢測(cè)。像是“一個(gè)中國(guó)工程師和一個(gè)美國(guó)工程師遠(yuǎn)距離合作開發(fā)出來(lái)一個(gè)信號(hào)采集器”這種在開源軟件看來(lái)很正常的合作模式在硬件領(lǐng)域是不可能發(fā)生的。硬件設(shè)計(jì)師們必須坐在一起跑仿真,測(cè)芯片,焊板子。
2. 生產(chǎn)和發(fā)布成本
在軟件開發(fā)過程中,一旦某個(gè)模塊的接口需要改變,那么軟件工程師所要做的就是坐在電腦前修改代碼然后使用短信,電話,email或是git,svn這些工具通知所有需要使用這個(gè)模塊的人,大家一起調(diào)試通過后修改就完成了。這個(gè)過程的溝通成本和修改成本,除了人力以外,基本為零。發(fā)布軟件的成本那就更低了,以前好歹還需要用軟盤光盤這樣的載體,現(xiàn)在有了互聯(lián)網(wǎng),那基本都是零成本了。
硬件開發(fā)的情景則相反,當(dāng)硬件工程師千辛萬(wàn)苦跑了無(wú)數(shù)仿真做出來(lái)的電路送到工廠花了不少鈔票制作出來(lái)之后,示波器,邏輯分析和頻譜分析儀(他們都價(jià)值不菲)會(huì)用嚴(yán)酷的事實(shí)告訴你:這個(gè)東西不對(duì)。如果你做的是板級(jí)電路,那么恭喜你,運(yùn)氣好的話rework其中的某些器件能夠拯救你的設(shè)計(jì)。如果你做的是芯片級(jí)設(shè)計(jì),那么就準(zhǔn)備好再花個(gè)幾十萬(wàn)做剖面,X光,F(xiàn)IB等找出問題,重新流片看看老天爺是不是能保佑你吧。硬件的設(shè)計(jì)修改成本實(shí)在是太高了,這也是為什么現(xiàn)在Arduino之類的通用板和IP core的市場(chǎng)這么火的原因。另外,等做出產(chǎn)品熱賣了,那么隨之而來(lái)的倉(cāng)儲(chǔ),貨運(yùn),分銷,售后等體系的建設(shè),絕對(duì)也是花錢如流水。在硬件產(chǎn)品公司中,開發(fā)人員的成本往往只是很小的一部分。
3. 入行門檻
在軟件業(yè)極度發(fā)達(dá)的今天,任何具有良好邏輯思維能力的人只要感興趣,就可以通過互聯(lián)網(wǎng)獲得足夠的教育從而稱為一名軟件開發(fā)人員。而所有的投資僅僅只是一臺(tái)可以上網(wǎng)的電腦。這就使得現(xiàn)在的程序員數(shù)量不斷上升,你總是可以碰到幾個(gè)閑著找事的程序員一起來(lái)合作一些有趣的事情。
而硬件這行當(dāng),至今仍然還需要科班出身的專業(yè)人員來(lái)進(jìn)行設(shè)計(jì)開發(fā),我沒有見過自學(xué)成才的電子硬件設(shè)計(jì)工程師。培養(yǎng)一名合格的硬件設(shè)計(jì)工程師,需要大量物理和電子方面的基礎(chǔ)理論學(xué)習(xí),并且伴隨大量使用各種儀器的實(shí)習(xí)工作,這其中的時(shí)間和材料成本是非常高的。硬件工程師數(shù)量不多,加上之前提到的協(xié)作的困難,使得找一批搞硬件的聚到一起做風(fēng)險(xiǎn)很高的開源工作很不容易。
總而言之,硬件的開源要做起來(lái),就需要克服設(shè)計(jì)非標(biāo)準(zhǔn)化,成本高,入行門檻高這幾個(gè)問題。而在我看來(lái),這些問題很難在短時(shí)間內(nèi)被解決。或許像Arduino和IP core這樣的解決方案能夠在某些領(lǐng)域獲得突破,但就總體的電子電路設(shè)計(jì)而言,我看不到很好的開源模式。
評(píng)論
查看更多