物聯(lián)網(wǎng)大致可分為感知層、網(wǎng)絡(luò)層、設(shè)備管理層、應(yīng)用層等四個(gè)層次。其中最能體現(xiàn)物聯(lián)網(wǎng)特征的,就是物聯(lián)網(wǎng)的感知層。感知層由各種各樣的傳感器、協(xié)議轉(zhuǎn)換網(wǎng)關(guān)、通信網(wǎng)關(guān)、智能終端等終端設(shè)備組成。這些終端大部分都是具備計(jì)算能力的微型計(jì)算機(jī)。運(yùn)行在這些終端上最重要的系統(tǒng)軟件就是所謂的物聯(lián)網(wǎng)操作系統(tǒng)。對(duì)于物聯(lián)網(wǎng)發(fā)展而言,“碎片化”是主要的問(wèn)題,其中芯片、傳感器、通信協(xié)議、應(yīng)用場(chǎng)景千差萬(wàn)別。比如無(wú)線通信標(biāo)準(zhǔn),有Wi-Fi、BLE、ZigBee、NFC、Thread、NB-IoT、LoRa、Sigfox、Gprs、4G等。很明顯,技術(shù)方案不統(tǒng)一,體系結(jié)構(gòu)不一致,阻礙了物聯(lián)網(wǎng)的發(fā)展,也局限了物聯(lián)網(wǎng)的互聯(lián)互通。但從已有產(chǎn)品和宣傳信息來(lái)看,其基本的技術(shù)特征已初顯端倪。概括來(lái)講,物聯(lián)網(wǎng)操作系統(tǒng)應(yīng)具有以下技術(shù)特征:
1、跨硬件平臺(tái)
物聯(lián)網(wǎng)應(yīng)用最重要的是必須跨硬件平臺(tái)運(yùn)行,即編寫的物聯(lián)網(wǎng)應(yīng)用程序,能夠在多種不同的目標(biāo)硬件設(shè)備上運(yùn)行,而不用重新修改甚至編譯應(yīng)用程序。如果開(kāi)發(fā)語(yǔ)言不是跨硬件平臺(tái)的,只針對(duì)一種硬件平臺(tái)開(kāi)發(fā),當(dāng)面對(duì)硬件配置各不相同和物聯(lián)網(wǎng)設(shè)備的千差萬(wàn)別時(shí),就需要針對(duì)不同的CPU類型,不同的硬件配置,分別進(jìn)行開(kāi)發(fā)和部署,這顯然是無(wú)法滿足物聯(lián)網(wǎng)硬件碎片化特征的需要。由于物聯(lián)網(wǎng)設(shè)備硬件配置千差萬(wàn)別,硬件與軟件不匹配則導(dǎo)致的錯(cuò)誤會(huì)大大增加。而采用跨硬件平臺(tái)開(kāi)發(fā)語(yǔ)言的好處,就是可以限制錯(cuò)誤范圍,不會(huì)因?yàn)閼?yīng)用程序?qū)用娴腻e(cuò)誤,而導(dǎo)致整個(gè)系統(tǒng)崩潰。安卓系統(tǒng)就是采用去跨硬件平臺(tái)的構(gòu)架,才能夠在不同硬件配置的手機(jī)上運(yùn)行相同的應(yīng)用程序,大大降低了應(yīng)用程序的開(kāi)發(fā)工作量。
2、面向?qū)ο髾C(jī)制
所謂的面向?qū)ο螅褪窃?a target="_blank">編程的時(shí)候盡可能去模擬真實(shí)的現(xiàn)實(shí)世界,按照現(xiàn)實(shí)世界中的邏輯去處理問(wèn)題,分析問(wèn)題,更容易解決大型的復(fù)雜的業(yè)務(wù)邏輯。在物聯(lián)網(wǎng)領(lǐng)域,面向?qū)ο缶幊谭椒ǎ梢宰?a target="_blank">程序員以更接近現(xiàn)實(shí)世界的方式來(lái)理解應(yīng)用場(chǎng)景,建立程序開(kāi)發(fā)模型,把每個(gè)物體都可以抽象為程序開(kāi)發(fā)領(lǐng)域的一個(gè)對(duì)象,通過(guò)不同對(duì)象之間的消息交互,可以快速完成復(fù)雜的應(yīng)用系統(tǒng)開(kāi)發(fā),同時(shí)也可以簡(jiǎn)化開(kāi)發(fā)維護(hù)過(guò)程,降低開(kāi)發(fā)成本,加快開(kāi)發(fā)速度。相比傳統(tǒng)的模塊化編程,面向?qū)ο缶幊谈m合物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā),也更具有價(jià)值。
3、高效的開(kāi)發(fā)方式
C和C++都更接近底層設(shè)計(jì),當(dāng)你在需要對(duì)硬件進(jìn)行非常精細(xì)的監(jiān)測(cè)和控制時(shí),他們都是很好的選擇,但這也意味著所寫出的代碼移植性比較差。而Java是一種面向?qū)ο蟮拈_(kāi)發(fā)語(yǔ)言,擁有非常好的移植性,編譯器中幾乎不存在任何硬件依賴性。為了實(shí)現(xiàn)對(duì)特定硬件部分的精準(zhǔn)控制,Java需要借助硬件所支持的庫(kù)并從中調(diào)用通用代碼。從經(jīng)濟(jì)角度上看,Java是一門非常強(qiáng)大的語(yǔ)言,對(duì)Java代碼的一次投入可以在多個(gè)不同的平臺(tái)收獲果實(shí)。Java同時(shí)也是當(dāng)前人氣最高的主流編程語(yǔ)言之一,被應(yīng)用于成千上萬(wàn)計(jì)算機(jī)科學(xué)與電子工程技術(shù)項(xiàng)目當(dāng)中。因此懂得Java的人才可以從市場(chǎng)上輕松找到。
4、開(kāi)發(fā)組件豐富
物聯(lián)網(wǎng)操作系統(tǒng)因?yàn)槭菍?duì)物應(yīng)用場(chǎng)景的感知和控制,感知的方式千差萬(wàn)別,應(yīng)用場(chǎng)景各不相同,同時(shí)哪怕最簡(jiǎn)單的物聯(lián)網(wǎng)設(shè)備也要具無(wú)線和有線的聯(lián)網(wǎng)功能,網(wǎng)絡(luò)通信協(xié)議的多樣性,云端接入的復(fù)雜性,都要求物聯(lián)網(wǎng)操作系統(tǒng)具備豐富組件支持,把常用的傳感器和聯(lián)網(wǎng)協(xié)議和云接入方案,全部按照組件的形式開(kāi)放出來(lái),使用者不需要關(guān)心太多的物理層功能,專心進(jìn)行業(yè)務(wù)邏輯處理,加快物聯(lián)網(wǎng)產(chǎn)品上市速度。
5、占用極低的硬件資源
物聯(lián)網(wǎng)是一個(gè)數(shù)以千億計(jì)設(shè)備總量的市場(chǎng),他的特點(diǎn)就是品種多,數(shù)量多,對(duì)硬件成本要求苛刻,這就要求物聯(lián)網(wǎng)操作系統(tǒng)運(yùn)行的硬件平臺(tái)不能太高,要平衡開(kāi)發(fā)效率和硬件成本的關(guān)系。
物聯(lián)網(wǎng)碎片化特點(diǎn)必將導(dǎo)致物聯(lián)網(wǎng)操作系統(tǒng)的多樣性。短時(shí)間內(nèi),很難形成像智能手機(jī)中Android和ios兩家獨(dú)占市場(chǎng)的局面,以下簡(jiǎn)單介紹幾款物聯(lián)網(wǎng)操作系統(tǒng)。
1. AliOS Things
面向IoT領(lǐng)域的輕量級(jí)物聯(lián)網(wǎng)嵌入式操作系統(tǒng),搭建云端一體化IoT基礎(chǔ)設(shè)備。基于Linux平臺(tái),提供MCU虛擬化環(huán)境,開(kāi)發(fā)者直接在Linux平臺(tái)上開(kāi)發(fā)硬件無(wú)關(guān)的IoT應(yīng)用和軟件庫(kù),使用GDB/Valgrind/SystemTap等PC平臺(tái)工具診斷開(kāi)發(fā)問(wèn)題。
2. Andorid Things
作為 Andorid 系統(tǒng)的一個(gè)分支版本,類似于可穿戴和智能手表用的Andorid Wear。使用一種名為 Weave的通信協(xié)議,實(shí)現(xiàn)設(shè)備與云端相連,并且與谷歌助手等服務(wù)交互,面向所有Java開(kāi)發(fā)者。該操作系統(tǒng)能夠支持一系列物聯(lián)網(wǎng)設(shè)備的計(jì)算平臺(tái),其中包括英特爾Edison 平臺(tái),NXP公司的Pico平臺(tái),以及“黑莓派3”。
3. RUFF
采用JavaScript語(yǔ)言,專為硬件開(kāi)發(fā)而設(shè)計(jì),兼容多個(gè)平臺(tái)的運(yùn)行環(huán)境,不僅支持嵌入式Linux,還支持MCU單片機(jī)領(lǐng)域等。擁有大量的開(kāi)發(fā)API接口,也能在Rapsberry Pi等常見(jiàn)開(kāi)發(fā)板上運(yùn)行。
4. mbed OS
由ARM開(kāi)發(fā),專門為運(yùn)行ARM處理器的物聯(lián)網(wǎng)設(shè)備而設(shè)計(jì)。包含了C++應(yīng)用程序網(wǎng)絡(luò),公司也提供其他開(kāi)發(fā)工具和相關(guān)的設(shè)備服務(wù)器。默認(rèn)情況下,mbed OS是事件驅(qū)動(dòng)的單線程架構(gòu),而非多線程(實(shí)時(shí)操作系統(tǒng))環(huán)境。
5. 鈦極OS
該系統(tǒng)基于Java語(yǔ)言進(jìn)行嵌入式開(kāi)發(fā),將Java虛擬機(jī)移植到低資源MCU芯片中,由內(nèi)核掌管底層硬件資源,實(shí)現(xiàn)軟硬件分離,伸縮性非常強(qiáng),可以在編譯時(shí),裁剪掉不需要的模塊,來(lái)匹配低端硬件的需求。不僅可以更好的擴(kuò)大物聯(lián)網(wǎng)應(yīng)用程序的運(yùn)行范圍,而且能夠降低開(kāi)發(fā)效率和開(kāi)發(fā)難度,快速推動(dòng)物聯(lián)網(wǎng)生態(tài)圈發(fā)展。
從技術(shù)層面看,物聯(lián)網(wǎng)操作系統(tǒng)仍處在研發(fā)階段,至今尚無(wú)一個(gè)比較完善的可商業(yè)應(yīng)用的物聯(lián)網(wǎng)標(biāo)準(zhǔn)操作系統(tǒng),物聯(lián)網(wǎng)時(shí)代最大的問(wèn)題之一就在于溝通,不同設(shè)備之間不同標(biāo)準(zhǔn)的溝通、軟件與硬件的溝通。而采用Java來(lái)開(kāi)發(fā)智能硬件的鈦極OS實(shí)現(xiàn)了這種溝通的可行性,并保證了溝通的實(shí)效性和高效化。全球又有大量的Java開(kāi)發(fā)者,根據(jù)Oracle和ARM估計(jì),全球大約有45萬(wàn)的嵌入式軟件工程師,而IT業(yè)約有900萬(wàn)的Java開(kāi)發(fā)人員。這無(wú)疑是給物聯(lián)網(wǎng)行業(yè)帶來(lái)了巨大的增長(zhǎng)潛力。
-
物聯(lián)網(wǎng)操作系統(tǒng)
+關(guān)注
關(guān)注
3文章
114瀏覽量
13363
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論