物聯網(IoT)的新鮮感過了之後,該市場的現實是一群快速投入其中的投資者、市場行銷人員以及設計工程師…

不過被設計來支援難以捉摸的物聯網市場之底層技術與生態系統仍然太不成熟,讓大多數企業以及投資人無法回收利潤;事實上,坊間傳聞顯示,想要在物聯網領域創業的人,開始面臨來自投資社群的直覺懷疑。簡而言之,物聯網的後座力開始顯現。

在這樣的背景下,一家總部在倫敦的4歲新創公司Resin.io,日前宣佈該公司獲得了來自DFJ、GE Ventures、Ericsson與Aspect Ventures等大企業、總額擔保為900萬美元的資金。Resin.io可提供的技術反映了目前很少被討論、但正威脅物聯網建立者與設計者的挑戰

要讓嵌入式裝置連結到網際網路是微不足道的小事,不過一旦那些裝置被部署,就會有更不容易解決的問題浮現──也就是如何管理並遠端監測那些數以百萬計的已佈署物聯網裝置。

想知道更多物聯網&嵌入式系統關鍵技術?快來免費參加Tech Taipei研討會!

物聯網裝置需要能無線下載(over-the-air)的韌體以及軟體更新,而且:「還需要能快速並安全完成;」Resin.io總經理Bryan Hale接受EE Times編輯採訪時表示,裝置的安全漏洞必須要在幾個小時而非幾星期內被修補,在客戶無論何時何地需要的時候提供新功能,此外還要能針對大規模數量連網裝置提供一致性與可靠性。

Hale表示,Resin.io的任務就是讓遠端裝置上的程式碼容易佈署、更新與維護;該公司基本上是採用Linux軟體容器(container)以及其他開放性技術,來簡化開發工程師們建立、佈署以及管理物聯網軟體的工作。

大廠開始關注物聯網裝置軟體更新問題

Resin.io創辦人暨執行長Alexandros Marinos認為,來自GE Ventures、Ericsson等大企業的資金,反映了目前工業物聯網市場缺少的東西,而該公司的技術正可以填補這些空缺。

20160629 IoTupdate NT04P1 「要推動工業物聯網,需要具備在遠端環境佈署並管理軟體的能力;」General Electric 旗下投資部門GE Ventures總監Sam Cates在一份聲明中表示:「Resin.io扮演了獨特的角色,能為工業物聯網帶來速度與安全性。」

Ericsson副總裁暨技術與軟體解決方案部門主管Diomedes Kastanis則認為,傳統的無線下載(over-the-air,OTA)軟體更新方式,因為數以億計的連網裝置負擔的任務越來越複雜,明顯已經不夠用:「我們很高興能支持Resin.io,協助讓整個產業界能擁有隨時隨地安全佈署新軟體容器的必要能力。」

Hale表示,綜觀今日的物聯網市場:「已經有很多DIY形式的物聯網裝置,它們不會更新韌體或軟體,而我們看到了很多可怕的情景。」

工業物聯網市場無法承擔忽略連網裝置弱點的風險;例如在一個小型工廠,製造商需要處理大量資料以及因應日常營運中的各種不可預測狀況,他們可以在需要的時候,盡快為物聯網裝置進行必要的程式更新嗎?畢竟,能即時監控廠房狀況是讓連網工廠智慧化的關鍵。

「智慧垃圾桶」提供的寶貴經驗

同樣的考量適用於像是數位看板、銷售終端系統以及互動性查詢機(interactive kiosk)等裝置;事實上,Resin.io還知道一些關於英國倫敦為了2012年奧運推出的「智慧垃圾桶(smart trash bins)」的事情。

smarttrashbins


曾經出現在倫敦街頭的智慧垃圾桶

這種垃圾桶每一面都嵌入了LCD顯示器,並有Wi-Fi功能;其原始構想是讓那些螢幕能持續顯示不同的資訊,從天氣預報到股票價格,不過因為隱私權顧慮(一旦任何附近的手機或是其他裝置開啟Wi-Fi,垃圾桶就會記錄其MAC位址),這種智慧垃圾桶最終被束之高閣。

雖然智慧垃圾桶陣亡,但催生了Resin.io這家公司──他們原本是個由具備博士學歷的菁英組成之團隊,因為智慧垃圾桶這個專案而親身體驗到更新或改變嵌入式系統中的軟體有多困難;特別是智慧垃圾桶這樣一個嵌入式系統,沒有明顯的使用者介面,處理性能也很有限。

20160629 IoTupdate NT04P2

嘗試修復智慧垃圾桶軟體的博士工程師
(來源: Resin.io)

簡化嵌入式裝置應用程式開發/維護程序

Resin.io的團隊發現,撰寫物聯網應用程式並非簡單任務;Marinos表示:「跟撰寫網路應用程式不一樣。」物聯網採用的是記憶體容量與處理性能都很有限的嵌入式裝置,可能是內建特製的微處理器或微控制器,而且各種物聯網裝置的CPU架構迥異。

物聯網應用程式開發者必須一直擔心,如何讓物聯網硬體裝置在運作同時,又能保持應用程式更新;若這牽涉到工業物聯網,程序包括設定作業系統、建立安全性區域網路、配置一些紀錄並檢視登入的方法,以及提供一些為裝置現場安裝新版程式的方法…等等。

20160629 IoTupdate NT04P3

Resin.io 在嵌入式應用程式維護所扮演的角色
(來源: Resin.io)

但Resin.io想:「為何不把雲端的直觀感受帶到嵌入式世界呢?」而這家公司已透過來自網路與嵌入式兩個世界的最佳實踐找到答案。

Resin.io將Linux軟體容器延展到新處理器架構,包括i386、ARMv6與ARMv7;Linux軟體容器是一種作業系統層級的虛擬化方法,用以在使用單一Linux核心(kernel)的控制主機上,執行多個隔離的Linux系統。

該公司採用的是一種名為Git的分散式修改版系統,能推進更新、執行裝置與整合測試;在此期間,該系統能維持與Docker──即一種能自動化佈署軟體容器內應用程式的開放性專案──的相容性。

Marinos解釋:「我們將網路開發與佈署流程帶到硬體領域;」採用Git與Docker等工具,Resin.io賦予軟體開發者無縫更新所有嵌入式Linux裝置的能力。在此同時,Resin.io能處理交叉編譯(cross-compilation)、裝置監測、VPN以及日誌集中(log collection),因此應用程式開發者能專注於產品,不用顧慮基礎建設。

編譯:Judith Cheng

(參考原文: How Do You Update 1 Billion IoT Devices?,by Junko Yoshida)