每日最新頭條.有趣資訊

誰能成為物聯網時代的“作業系統”?

PC時代造就了Windows作業系統,移動互聯網時代造就了Android和iOS作業系統,如今物聯網時代正迅速崛起,又將造就什麽作業系統呢?

作業系統作為一個產業的底層基礎設施,除了潛在的巨大商業價值,在當下時代背景中,更是具備了國家層面的戰略意義,擁有自主產權的優秀作業系統,才能避免受製於人。

因而,我們非常關注物聯網時代的作業系統進展和格局,將在本文簡單探討以下問題:

為什麽需要物聯網作業系統?

物聯網需要怎樣的作業系統?

發展至今,物聯網作業系統的核心流派和優劣勢?

物聯網作業系統是否有創業公司機會?未來的商業價值如何體現?

本文由36氪聯合卓晟互聯CTO慕睿濤共同完成,卓晟互聯是國內一家物聯網作業系統研發商,

36氪曾做過詳細報導

。慕睿濤是原SUN中國的第一位JavaME虛擬機開發工程師,原甲骨文Java與嵌入式系統事業部資深顧問。

以下是正文:

為什麽需要物聯網作業系統?

在2012年左右物聯網的概念剛剛興起時,整個產業聚焦在2個問題上:網絡連接,前端算力。換句話說,就是“先把設備連上網再說”。至於物聯網終端設備需要跑什麽樣的軟體,如何開發前端軟體,前後端軟體如何協同開發,甚至軟體平台的安全性這樣的問題,全都“以後再說”。

隨著通訊芯片成本的降低、NB-IoT和4G甚至5G無線通訊網絡技術的發展,物聯網已經解決了設備連接互聯網的問題。而隨著ARM32位MCU的普及,前端設備的計算能力有了很大提升,具備了運行更複雜應用的能力。

舊的問題解決了,新的問題也相繼出現。

網絡數據量激增,網絡響應延遲,難以與迭代快、協議複雜的互聯網服務打通 ··· 於是邊緣計算越發重要,將計算分布到前端的網關和數據采集終端,和互聯網服務結合,是物聯網當前發展階段的大勢所趨。

邊緣計算使得物聯網終端軟體複雜度大幅提升,而這個需求在幾年前還都是不存在的。過去物聯網產品的軟體功能在出廠時就基本固定了,上層軟體應用開發和底層硬體緊密耦合,很難由第三方開發者為硬體開發應用。這導致物聯網軟體應用迭代慢、成本高,生態閉塞。

參考PC、互聯網以及移動互聯網的技術發展歷程,軟體行業的爆發需要相對較為標準化的底層運行環境作為支撐。於PC就是Windows、Linux、macOS,於互聯網就是瀏覽器,於移動互聯網就是iOS和Android。

所以,物聯網也需要具備一套對軟體開發者更友好的、相對統一的作業系統,使軟體開發過程從硬體開發中脫離出來。只需要基於作業系統,即可快速開發上層應用。

物聯網需要怎樣的作業系統?

首先,既然Android在智能手機上這麽成功,那是否可以直接複製到物聯網領域呢?答案是否定的,原因包括Android是專為手機設計的作業系統,運行所需計算資源過大、難以兼容物聯網設備廣泛外設、存在安全問題等。

那麽物聯網需要什麽樣的作業系統底層運行環境呢?大致有這樣幾個方面的需求:

跨平台:消弭硬體平台差異,使軟硬體開發解耦合。

低成本:能在微小設備運行,資源耗用小,降低硬體成本。

易學習:相關技術有大量的存量開發者用戶,不需要重新學習。

強安全:擁有足夠強的安全機制,保障用戶設備和數據的安全。

前兩個是硬體廠商的需求,後兩個是軟體行業的需求。

物聯網作業系統的任務,其實就是為邊緣計算軟體提供滿足這些需求的底層運行環境。

發展至今,物聯網作業系統的核心流派和優劣勢?

目前,市面上的物聯網作業系統基本形成了三大核心流派。

1、由傳統的嵌入式RTOS發展而來。典型代表:FreeRTOS、RT-Thread、LiteOS、uCOS、MICO。

優點:在物聯網終端上已經廣泛支持,硬體推廣成本低。

缺點:軟體開發專業度極高,軟硬體開發難以隔離,對專業軟體公司進入這個領域造成困難。

這條路上有著眾多玩家,尤其是在硬體行業裡,RTOS仍舊是終端作業系統的主要選擇。由於歷史原因,傳統RTOS市場裡大多是國外廠家,或是FreeRTOS這樣的國外技術人員活躍的開源社區產品。

國內這幾年做得最好的是RT-Thread,目前發展勢頭非常快。其官網信息顯示,RT-Thread已應用於能源、車載、醫療、消費電子等多個行業,累積裝機量超過2億台。

2、由其他領域的軟體平台移植而來,如Linux、Java、Node.js Embedded、MicroPython。典型代表:Linaro,MicroEJ,卓晟互聯,Ruff。

優點:軟體資源豐富,開發者眾多,軟體開發快成本低。

缺點:適配物聯網終端硬體有難度,需要解決資源佔用、外設接口擴展、節電設計的多方面問題。

考慮到Java在傳統伺服器行業的超高市場佔有率,以及Java開發者的龐大社區規模,基於Java的物聯網作業系統方案,從傳統行業和傳統IT領域切入物聯網方向的公司,如果能夠在物聯網設備上開發Java應用,將會極大釋放自身軟體業務能力,降低B端客戶采納物聯網方案的門檻。

人工智能領域裡,Python在開發者資源方面有著絕對的領先地位。所以人工智能領域的物聯網設備,支持Python是很自然的選擇。不過目前還沒有出現提供比較成熟的、基於Python的物聯網作業系統產品的公司或社區項目。

互聯網公司轉到物聯網領域的時候,JavaScript是一條天然的技術路線選擇。這條路線上,國內主要是Ruff。

3、由互聯網公司的雲平台延伸而來。典型代表:AliOS Things、Android Things。

優點:天生與互聯網服務相結合,方便對接互聯網應用。

缺點:基本上是各家產品對各家服務,難以做到平台中立,對軟體開發者來說功能性受到了限制。

目前來看,Android Things還是太大了,比嵌入式Linux更耗資源,且不再走Android的開源路線,基本成為了Google自家服務的SDK。對於國內廠商來說,跟隨門檻比Android更高一些。

物聯網作業系統是否有創業公司機會?未來的商業價值如何體現?

過去,作業系統這樣的基礎軟體肯定要選擇大公司的技術方案,因為技術發展、後續維護等工作比開發本身更重要,只有大公司才能擁有客戶的巨大信任。

但是隨著開源模式被廣泛接受,基於開源開發模式、標準開放的技術反而更能贏得客戶的青睞,因為這樣的模式擺脫了客戶對大公司的潛在依賴,任何公司都可以提供持續的技術支持。

這樣一來,作業系統這種以前看起來好像一定是要大公司來乾的事,小公司、創業公司也可以來做,只要技術過硬。比如Linux,這項完全由社區(甚至不是一家公司)發展起來的操作技術,雖然IBM也在玩,但是也有Redhat這樣的公司從無到有一路發展壯大起來。

大家都知道作業系統有多重要,多壟斷,但是如何體現到商業價值呢?

在各自領域的大玩家,基本都把物聯網作業系統看做拓展自身業務,或是保住自身在行業中的地位的工具。比如華為的LiteOS,三星的Node.js,無法擺脫為自家硬體服務的屬性;AliOS Things或是Android Things,無法擺脫對自家服務的依賴。

但是這樣其實限制住了作業系統本身的商業價值,作業系統作為軟體基礎平台,其中立性才是自身價值的最大體現。

在作業系統的商業模式更加開放,且以開源為主流技術開發模式的今天,傳統的軟體商業價值變現方式,即授權、賣copy這樣的模式,已經不適用了。相比之下,先快速做大生態,然後從軟體、雲服務、廣告等市場變現,或許是更良性的模式。

展望未來,在行業特點區隔下,物聯網作業系統將依然是幾種技術路線並行,而在每條路線上的漫長競賽,還都剛剛開始。

——————

我是36氪記者陳紹元,關注物聯網、AI、科技,交流或尋求報導(不收費)加微信:963757163,請注明公司、職位、姓名。

獲得更多的PTT最新消息
按讚加入粉絲團