物聯網終端設備開發遇到瓶頸linux
物聯網通過這些年的發展,在終端設備開發中顯現出諸多問題。
一、終端設備須要低成本、低功耗。因爲多爲小型便攜產品,於是電池壽命和硬件成本就成了關鍵問題,下降芯片成本、提高電池續航能力成爲當下發展瓶頸;
二、鏈接方式要求多樣化。前代鏈接方式因爲功耗和成本還是問題,在即將到來的5G時代,設備亟需支持更多鏈接方式;
三、雲端安全成爲痛點。隨着數據量的增大,部分或所有數據上傳到雲端進行處理已經是必然趨勢,隨着數據泄露事件頻發,社會關注度也愈來愈高,安全性成了不可忽視的問題。編程
整體來看,如今的物聯網設備還不夠智能,而這正是華爲決定開發操做系統的緣由。華爲LiteOS運營總監林旅強告訴雷鋒網(公衆號:雷鋒網)編輯,如今的物聯網終端設備一般都是不智能的,所以也被稱做啞終端。智能化後的設備不只能夠實現數據上傳雲平臺,還要可以實現信息的改變、命令下發、動做執行,這也是華爲操做系統要實現的功能。安全
從自用到開源:華爲的佈局思考網絡
大部分開發者對華爲LiteOS的認知是從2015年華爲宣佈開源LiteOS,或是在2017年提出「雲——管——端」戰略開始的,而其實,據雷鋒網瞭解,早在2012年,華爲就開始作終端設備OS,也是如今LiteOS的雛形。架構
研發之初,華爲的終端設備OS主要應用在自家消費類產品中;可穿戴市場興起後,華爲又在2014年推廣到自家手環、手錶等可穿戴設備。隨着物聯網設備體量逐漸成長,種類也開始繁盛,華爲看到了這一市場機遇,開始進入物聯網領域,也就有了如今的LiteOS。據華爲內部對LPWA領域設備出貨量統計數據顯示,截止2018年,搭載華爲LiteOS的NB-IoT產品出貨量超過2000萬。佈局
在2015年華爲網絡大會上,LiteOS正式宣佈開源。林旅強笑稱,華爲此前都是本身吃本身的狗糧。LiteOS操做系統是華爲徹底自研的,並不是經過Linux或其餘系統二次開發的。操作系統
爲何要開源?
開源就是爲了創建產業標準,咱們不但願規定誰能用或誰不能用,這樣沒法將產業作大,咱們但願可以將物聯網產業橫向拓展。設計
華爲LiteOS自主知識產權指什麼?
即便開源,也會受到不少限制,例如Android系統。華爲LiteOS 99%以上的代碼是由華爲帶頭作的(其中也有合做夥伴的身影),以BSD的方式開源,不會有國外知識產權的問題,是自有知識產權。3d
IoT OS聯網關鍵:端雲組件和加強組件blog
單獨從內核來看,任何操做系統的內核都大同小異。物聯網操做系統內核的自己有一個特色,即輕量級,華爲LiteOS能夠作到KB等級。另外,做爲物聯網開源操做系統,廠商能夠直接將華爲LiteOS操做系統拿來作定製解決方案。
物聯網最爲關鍵的就是互聯互通,因爲物聯網生態系統中,每一個組織內部有衆多節點,這須要有完整的系統架構做爲支撐。而如今市面上一些物聯網終端系統仍然存在沒法聯網的問題,這樣的嵌入式系統天然沒法稱做物聯網系統,這主要因爲端雲組件不夠完善。
從嵌入式系統到物聯網系統主要區別在於端雲集成的能力。相對於嵌入式系統,物聯網系統支持多種協議,同時也增長了遠程升級的能力。華爲LiteOS支持諸如LwM2M、MQTT、DTLS等協議,也支持遠程升級。
華爲LiteOS在加強組件方面加入了差分升級。所謂差分升級,即只把須要升級的部分進行升級,而沒必要進行所有升級,其優勢是佔用更少的通道資源,這一點其實也借鑑瞭如今手機操做系統的更新/升級功能。華爲LiteOS能夠在只佔用不多「管」端資源的狀況下,對設備須要的功能進行升級。
華爲做爲國內通信巨頭企業,與包括三大運營商在內的衆多平臺都有合做,於是其LiteOS系統擁有多平臺互動能力也就很容易理解了。固然,就華爲本身的定位來看,LiteOS主要仍是鏈接自家的OceanConnect平臺的,但同時也能夠將LiteOS與三大運營商的雲平臺鏈接。
事實上,「雲管端」能夠自由搭配,可是咱們默認推薦華爲整套方案,這也是最方便的事情。
另外,開發者常用IDE(Integrated Development Environment ,集成開發環境)進行開發,但目前市面上物聯網領域的IDE每每昂貴,免費的體驗則欠佳。根據林旅強透露,華爲看到開發者的訴求,開發了LiteOS IDE,並將於今年10月的華爲全鏈接大會中亮相。
着力重點:Open CPU
針對LPWA終端設備開發而言,基於華爲LiteOS有三種開發方案:
一、基於MCU的設備開發
二、集成到NB-IoT SoC方案開發
三、面向運營商雲平臺提供SDK供模塊廠商快速對接
以上三類設備開發方案須要進行單獨開發的部分依次減小。其中最典型的是基於MCU的設備開發,這類方案須要用到內核、AT Adapter, 以及LiteOS的SDK所有組件;若是用Hi2115芯片(NB-IoT SoC)作設備開發的話,能夠直接用Open CPU方案簡化開發過程;而華爲面向三大運營商產品提供各家SDK,能夠實現與一些模組廠商快速對接。
華爲在2016年9月推出首款NB-IoT芯片,並於2017年6月大規模發貨,以後又推出了Boudica 150,相較而言,Boudica 150開放了A核(Application)部分(以前並未開放),開發者能夠直接在其上作應用編程。因爲以前沒有開放這一部分,開發者須要另外加入一塊MCU,於是Boudica 150能夠節省一個MCU,從而在功耗、成本、設計尺寸上都獲得了進一步改善。
Open CPU是華爲今年的着力重點。Open CPU就設備側來看,與基於MCU的方案比較,能夠省1-2美圓;從端雲集成方案角度看,相對於用AT命令來對接,節省更多時間;相對於前一版本Boudica 120節電30%;同時對接的IoT平臺種類也有增長。
共享單車應用實例
共享單車做爲LiteOS成熟應用方案之一,其工做原理以下圖所示。
華爲的NB-IoT應用方案主要在共享單車車鎖上。當你打開車鎖時,手機APP開始計費;關閉車鎖時,手機APP會結束計費。其中,關鎖過程當中,車鎖利用NB-IoT模塊發信號到OceanConnet平臺,OceanConnet平臺接收到信號就會告知單車的雲平臺,單車雲平臺再將信號發送到你的手機APP,從而完成關鎖計費。
這樣的一套流程早期的版本用的GPRS模塊,很是耗電,須要1-2個月換一次電池;NB-IoT/LiteOS方案解決了這一問題,如今共享單車車鎖平都可以連續工做26個月。另外,在開發時間上也有很大的提高,過去要一個月,如今用兩週就能完成開發工做。
IoT OS是否必須
雖然如今各大IoT OS設備接入量屢屢爆表,可是仍然會有人質疑物聯網硬件是否真的須要OS,對此,雷鋒網編輯也與林總進行了交流。
採用華爲LiteOS系統和用其餘系統接入OceanConnect平臺是否有區別?對於IoT設備,操做系統是不是必須?
林旅強:IoT走向智能化的浪潮中,操做系統是關鍵角色。目前某些解決方案當中的終端設備和功能要求並不特別複雜,接入物聯網平臺的方式也有若干種,未必必定使用OS才能作到端雲鏈接。不過,LiteOS除了在端雲互聯方面下降開發人員的工時和複雜性外,在今天提到的OpenCPU方案節省MCU、遠端固件軟件差分升級、Device PnP和DTLS+等加強組件功能,都是使用LiteOS的優點。而且,IoT裝置發展的趨勢必定是朝向智能,將來物聯網的發展在通訊速度和帶寬的提高以及電池技術的突破,咱們都更能夠肯定物聯網OS所起到的關鍵做用。
IoT設備操做系統是否會與手機安卓系統在功能和發展上有所不一樣?
林旅強:IoT設備操做系統與安卓有不一樣之處,基於安卓系統開發APP的人不少,可是物聯網操做系統架構與安卓不一樣,目前也尚未開發APP的成熟條件。若是參照移動手機的發展史,從技術發展來看,IoT設備甚至還沒走到諾基亞的塞班系統時代,而是處在早期功能機階段。咱們如今要解決的問題包括鏈接、各類協議棧,先在行業上讓大部分人可以使用,在物聯網產業發展的過程當中,豐富能力和生態,吸引更多開發者進入,直到像如今開發安卓系統那麼容易。面向將來的暢想咱們很期待,距離還有多遠,可能仍是見仁見智。