安卓工控機(jī):這個時代的軟硬件基礎(chǔ)
“工控機(jī)”簡介
對傳統(tǒng)物聯(lián)網(wǎng)領(lǐng)域以外的伙伴而言,“工控機(jī)”是個陌生的概念。工控機(jī)就是在工業(yè)或商業(yè)場景的計算終端,典型的應(yīng)用包括:ATM機(jī)/檢票閘機(jī)/售貨機(jī)等自助設(shè)備、高速收費、視頻安監(jiān)、自來水/污水/電/煤氣等各種市政管網(wǎng)的檢測網(wǎng)絡(luò)、智能樓宇、工廠自動化產(chǎn)線等等。 工控機(jī)一般形如:
從Win+Intel切換到ARM+Android的原因
時間回到2012年上半年,友寶當(dāng)時用的是工控界標(biāo)配的“Window嵌入式版本 + 工業(yè)版Intel處理器”(其實現(xiàn)在好像也是如此)。而彼時“ARM + Android”的市場是怎樣的呢?2011年Q4真正穩(wěn)定順暢的Android4.0版發(fā)布,2011年初發(fā)布的Android3.0開始支持平板電腦,2011年安卓手機(jī)在整體出貨量占比第一次超過10%。 可以看到,“ARM + Android”剛剛進(jìn)入技術(shù)成熟期,為什么著急應(yīng)用呢? - 當(dāng)時友寶工控的軟硬件技術(shù)負(fù)債嚴(yán)重:硬件版本很多、Windows鏡像五花八門,出問題后經(jīng)常對bug的定位不清、耗時過長。 - Windows的穩(wěn)定性是天然劣勢:Windows也可以穩(wěn)定,但需要更長的應(yīng)用軟件測試周期、需要懂Windows底層的高手,這顯然是高成本的。 - Windows天然的高成本:每套Window幾百元的license費,再加上它對硬件性能的高需求,推高了成本。 于是,需要一個契機(jī)來解決這些問題,工控機(jī)的徹底重新技術(shù)選型就成為了這個契機(jī)。 事實上,如果沒有“歷史問題”,我會選“ARM + Linux”的方案。這樣原有跑Windows的設(shè)備也可以切換到Linux,從而形成“Intel + Linux”/“ARM + Linux”的底層結(jié)構(gòu),上層應(yīng)用軟件就可以實現(xiàn)統(tǒng)一版本了。 這個“歷史問題”是:友寶最初就是使用Linux,后來一撥人來到后切換到的Windows,如果我一個“新人”來到友寶,再改回Linux的話,會在當(dāng)時團(tuán)隊中造成“政治問題”。 切換的歷程
安卓工控機(jī)的導(dǎo)入真的是一個超級大工程,時間跨度超過一年,涉及公司上上下下的所有團(tuán)隊,如果細(xì)細(xì)回顧,幾乎要把那一兩年的工作通通翻出來講一遍了。只揀印象最深刻的幾個點記錄一下吧。
合作伙伴的緣分當(dāng)決定要做這個切換的時候,很幸運的是很快就遇到兩個與友寶合作至今的合作伙伴,大家一起走過了很長的路,邁過了很多的坎。
公司上下的支持公司從上至下的信任是這么長周期、高復(fù)雜度項目成功的關(guān)鍵。而項目每一步可靠的交付,是信任得以延續(xù)的關(guān)鍵。
一體化方案還是獨立通訊模塊是采用高通、MTK這樣的一體化方案,還是瑞星微、freescale這樣需要獨立通訊模塊的方案?這個問題糾結(jié)了幾年。但幾年后的結(jié)論是:只要成熟合作伙伴高質(zhì)量質(zhì)控的方案都是可行的,在成本上和可靠性上區(qū)別都不大。
不同方案間的選擇高通、MTK、瑞星微、Intel等不同的芯片方案,手機(jī)方案、平板電腦方案、電視機(jī)頂盒方案等不同的基礎(chǔ)方案,幾年下來的經(jīng)驗是:Intel+Android是不靠譜的,其他的基本都可選。其實靠譜的供應(yīng)商合作伙伴要比這幾個方案之間細(xì)微差別更重要,所以選擇成熟而堅定地供應(yīng)商,選擇成熟而廣泛應(yīng)用的方案即可。
試商用測試標(biāo)準(zhǔn)“試商用測試”是友寶在引入新的工控供應(yīng)商或新一款工控機(jī)時候必做的重要測試,到目前還是業(yè)內(nèi)最嚴(yán)格的,這個過程是工控機(jī)穩(wěn)定性的最好保證。而事實上,這個測試應(yīng)該做的更嚴(yán)格一些。
支持體系 圍繞一款硬件所構(gòu)建的測試、質(zhì)控、培訓(xùn)、固定資產(chǎn)管理、維修售后流程等整個體系,成本是遠(yuǎn)超過導(dǎo)入一款新硬件的過程的而。這樣的體系建立又是必須的,否則正常工作都無法展開,更不要說質(zhì)量管理了。 收益和不足之處
收益 1. 硬件成本節(jié)?。?0萬臺 × 2000元/臺 = 2億人民幣 2. 軟件迭代加速:這對一個互聯(lián)網(wǎng)屬性的公司而言,高速迭代的意義更勝于成本節(jié)省 3. 招聘難度降低:安卓工程師要遠(yuǎn)比嵌入式Windows高手容易招聘4. 推動行業(yè)進(jìn)步:為行業(yè)引領(lǐng)技術(shù)方向,承擔(dān)了龍頭企業(yè)的責(zé)任
不足之處 1. 如果無歷史因素,應(yīng)該選擇“ARM + Linux”的遷移路徑:避免長時間維護(hù)Windows和Android兩個版本售貨機(jī)端軟件的尷尬。 2. 供應(yīng)鏈上應(yīng)該更堅決:更少的供應(yīng)商、更少的硬件版本、更嚴(yán)格的測試、每個版本更長的供應(yīng)周期。更多的硬件版本永遠(yuǎn)是痛苦的。