导读 | 物联网(IoT)作为拥有千亿级设备连接量的庞大市场,已经远超PC和移动手机市场体量。国内巨头在物联网平台已然较量了多个回合,而在此过程中,操作系统也被视为关键一环,经历了移动互联网时代,厂商开始对操作系统更加敏感,谁不想拥有Android或iOS在移动手机中的地位? |
物联网终端设备开发遇到瓶颈
物联网经过这些年的发展,在终端设备开发中显现出诸多问题。
1、终端设备需要低成本、低功耗。由于多为小型便携产品,因而电池寿命和硬件成本就成了关键问题,降低芯片成本、提升电池续航能力成为当下发展瓶颈;
2、连接方式要求多样化。前代连接方式由于功耗和成本仍是问题,在即将到来的5G时代,设备亟需支持更多连接方式;
3、云端安全成为痛点。随着数据量的增大,部分或全部数据上传到云端进行处理已是必然趋势,随着数据泄露事件频发,社会关注度也越来越高,安全性成了不可忽视的问题。
总体来看,现在的物联网设备还不够智能,而这正是华为决定开发操作系统的原因。华为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的方式开源,不会有国外知识产权的问题,是自有知识产权。
IoT OS联网关键:端云组件和增强组件
单独从内核来看,任何操作系统的内核都大同小异。物联网操作系统内核的本身有一个特点,即轻量级,华为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有三种开发方案:
1、基于MCU的设备开发
2、集成到NB-IoT SoC方案开发
3、面向运营商云平台提供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设备甚至还没走到诺基亚的塞班系统时代,而是处在早期功能机阶段。我们现在要解决的问题包括连接、各种协议栈,先在行业上让大部分人能够使用,在物联网产业发展的过程中,丰富能力和生态,吸引更多开发者进入,直到像现在开发安卓系统那么容易。面向未来的畅想我们很期待,距离还有多远,可能还是见仁见智。
来源:oschina
链接:https://my.oschina.net/u/3586129/blog/2221765