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