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