為物聯(lián)網(wǎng)更新軟件應(yīng)該這樣干
要讓嵌入式裝置連結(jié)到網(wǎng)際網(wǎng)路是微不足道的小事,不過一旦那些裝置被部署,就會(huì)有更不容易解決的問題浮現(xiàn)…
物聯(lián)網(wǎng)(IoT)的新鮮感過了之后,該市場(chǎng)的現(xiàn)實(shí)是一群快速投入其中的投資者、市場(chǎng)行銷人員以及設(shè)計(jì)工程師…
不過被設(shè)計(jì)來支援難以捉摸的物聯(lián)網(wǎng)市場(chǎng)之底層技術(shù)與生態(tài)系統(tǒng)仍然太不成熟,讓大多數(shù)企業(yè)以及投資人無法回收利潤(rùn);事實(shí)上,坊間傳聞顯示,想要在物聯(lián)網(wǎng)領(lǐng)域創(chuàng)業(yè)的人,開始面臨來自投資社群的直覺懷疑。簡(jiǎn)而言之,物聯(lián)網(wǎng)的后座力開始顯現(xiàn)。
在這樣的背景下,一家總部在倫敦的4歲新創(chuàng)公司Resin.io,日前宣布該公司獲得了來自DFJ、GE Ventures、Ericsson與Aspect Ventures等大企業(yè)、總額擔(dān)保為900萬美元的資金。Resin.io可提供的技術(shù)反映了目前很少被討論、但正威脅物聯(lián)網(wǎng)建立者與設(shè)計(jì)者的挑戰(zhàn)
要讓嵌入式裝置連結(jié)到網(wǎng)際網(wǎng)路是微不足道的小事,不過一旦那些裝置被部署,就會(huì)有更不容易解決的問題浮現(xiàn)──也就是如何管理并遠(yuǎn)端監(jiān)測(cè)那些數(shù)以百萬計(jì)的已布署物聯(lián)網(wǎng)裝置。
想知道更多物聯(lián)網(wǎng)&嵌入式系統(tǒng)關(guān)鍵技術(shù)?快來免費(fèi)參加Tech Taipei研討會(huì)!
物聯(lián)網(wǎng)裝置需要能無線下載(over-the-air)的韌體以及軟體更新,而且:“還需要能快速并安全完成;”Resin.io總經(jīng)理Bryan Hale接受EE TImes編輯采訪時(shí)表示,裝置的安全漏洞必須要在幾個(gè)小時(shí)而非幾星期內(nèi)被修補(bǔ),在客戶無論何時(shí)何地需要的時(shí)候提供新功能,此外還要能針對(duì)大規(guī)模數(shù)量連網(wǎng)裝置提供一致性與可靠性。
Hale表示,Resin.io的任務(wù)就是讓遠(yuǎn)端裝置上的程式碼容易布署、更新與維護(hù);該公司基本上是采用Linux軟體容器(container)以及其他開放性技術(shù),來簡(jiǎn)化開發(fā)工程師們建立、布署以及管理物聯(lián)網(wǎng)軟體的工作。
大廠開始關(guān)注物聯(lián)網(wǎng)裝置軟體更新問題
Resin.io創(chuàng)辦人暨執(zhí)行長(zhǎng)Alexandros Marinos認(rèn)為,來自GE Ventures、Ericsson等大企業(yè)的資金,反映了目前工業(yè)物聯(lián)網(wǎng)市場(chǎng)缺少的東西,而該公司的技術(shù)正可以填補(bǔ)這些空缺。
“要推動(dòng)工業(yè)物聯(lián)網(wǎng),需要具備在遠(yuǎn)端環(huán)境布署并管理軟體的能力;”General Electric 旗下投資部門GE Ventures總監(jiān)Sam Cates在一份聲明中表示:“Resin.io扮演了獨(dú)特的角色,能為工業(yè)物聯(lián)網(wǎng)帶來速度與安全性。”
Ericsson副總裁暨技術(shù)與軟體解決方案部門主管Diomedes Kastanis則認(rèn)為,傳統(tǒng)的無線下載(over-the-air,OTA)軟體更新方式,因?yàn)閿?shù)以億計(jì)的連網(wǎng)裝置負(fù)擔(dān)的任務(wù)越來越復(fù)雜,明顯已經(jīng)不夠用:“我們很高興能支持Resin.io,協(xié)助讓整個(gè)產(chǎn)業(yè)界能擁有隨時(shí)隨地安全布署新軟體容器的必要能力。”
Hale表示,綜觀今日的物聯(lián)網(wǎng)市場(chǎng):“已經(jīng)有很多DIY形式的物聯(lián)網(wǎng)裝置,它們不會(huì)更新韌體或軟體,而我們看到了很多可怕的情景。”
工業(yè)物聯(lián)網(wǎng)市場(chǎng)無法承擔(dān)忽略連網(wǎng)裝置弱點(diǎn)的風(fēng)險(xiǎn);例如在一個(gè)小型工廠,制造商需要處理大量資料以及因應(yīng)日常營(yíng)運(yùn)中的各種不可預(yù)測(cè)狀況,他們可以在需要的時(shí)候,盡快為物聯(lián)網(wǎng)裝置進(jìn)行必要的程式更新嗎?畢竟,能即時(shí)監(jiān)控廠房狀況是讓連網(wǎng)工廠智慧化的關(guān)鍵。
“智慧垃圾桶”提供的寶貴經(jīng)驗(yàn)
同樣的考量適用于像是數(shù)位看板、銷售終端系統(tǒng)以及互動(dòng)性查詢機(jī)(interacTIve kiosk)等裝置;事實(shí)上,Resin.io還知道一些關(guān)于英國(guó)倫敦為了2012年奧運(yùn)推出的“智慧垃圾桶(smart trash bins)”的事情。
曾經(jīng)出現(xiàn)在倫敦街頭的智慧垃圾桶
這種垃圾桶每一面都嵌入了LCD顯示器,并有Wi-Fi功能;其原始構(gòu)想是讓那些螢?zāi)荒艹掷m(xù)顯示不同的資訊,從天氣預(yù)報(bào)到股票價(jià)格,不過因?yàn)殡[私權(quán)顧慮(一旦任何附近的手機(jī)或是其他裝置開啟Wi-Fi,垃圾桶就會(huì)記錄其MAC位址),這種智慧垃圾桶最終被束之高閣。
雖然智慧垃圾桶陣亡,但催生了Resin.io這家公司──他們?cè)臼莻€(gè)由具備博士學(xué)歷的菁英組成之團(tuán)隊(duì),因?yàn)橹腔劾斑@個(gè)專案而親身體驗(yàn)到更新或改變嵌入式系統(tǒng)中的軟體有多困難;特別是智慧垃圾桶這樣一個(gè)嵌入式系統(tǒng),沒有明顯的使用者介面,處理性能也很有限。
嘗試修復(fù)智慧垃圾桶軟體的博士工程師
?。▉碓矗?Resin.io)
簡(jiǎn)化嵌入式裝置應(yīng)用程式開發(fā)/維護(hù)程序
Resin.io的團(tuán)隊(duì)發(fā)現(xiàn),撰寫物聯(lián)網(wǎng)應(yīng)用程式并非簡(jiǎn)單任務(wù);Marinos表示:“跟撰寫網(wǎng)路應(yīng)用程式不一樣。”物聯(lián)網(wǎng)采用的是記憶體容量與處理性能都很有限的嵌入式裝置,可能是內(nèi)建特制的微處理器或微控制器,而且各種物聯(lián)網(wǎng)裝置的CPU架構(gòu)迥異。
物聯(lián)網(wǎng)應(yīng)用程式開發(fā)者必須一直擔(dān)心,如何讓物聯(lián)網(wǎng)硬體裝置在運(yùn)作同時(shí),又能保持應(yīng)用程式更新;若這牽涉到工業(yè)物聯(lián)網(wǎng),程序包括設(shè)定作業(yè)系統(tǒng)、建立安全性區(qū)域網(wǎng)路、配置一些紀(jì)錄并檢視登入的方法,以及提供一些為裝置現(xiàn)場(chǎng)安裝新版程式的方法…等等。
Resin.io 在嵌入式應(yīng)用程式維護(hù)所扮演的角色
?。▉碓矗?Resin.io)
但Resin.io想:“為何不把云端的直觀感受帶到嵌入式世界呢?”而這家公司已透過來自網(wǎng)路與嵌入式兩個(gè)世界的最佳實(shí)踐找到答案。
Resin.io將Linux軟體容器延展到新處理器架構(gòu),包括i386、ARMv6與ARMv7;Linux軟體容器是一種作業(yè)系統(tǒng)層級(jí)的虛擬化方法,用以在使用單一Linux核心(kernel)的控制主機(jī)上,執(zhí)行多個(gè)隔離的Linux系統(tǒng)。
該公司采用的是一種名為Git的分散式修改版系統(tǒng),能推進(jìn)更新、執(zhí)行裝置與整合測(cè)試;在此期間,該系統(tǒng)能維持與Docker──即一種能自動(dòng)化布署軟體容器內(nèi)應(yīng)用程式的開放性專案──的相容性。
Marinos解釋:“我們將網(wǎng)路開發(fā)與布署流程帶到硬體領(lǐng)域;”采用Git與Docker等工具,Resin.io賦予軟體開發(fā)者無縫更新所有嵌入式Linux裝置的能力。在此同時(shí),Resin.io能處理交叉編譯(cross-compilaTIon)、裝置監(jiān)測(cè)、VPN以及日志集中(log collecTIon),因此應(yīng)用程式開發(fā)者能專注于產(chǎn)品,不用顧慮基礎(chǔ)建設(shè)。