为什么IoT需要专门的OS 解码超轻量的华为LiteOS (为什么iot设备连接获取位置信息)
IoT设备真的需要OS吗?这是个问题。
物联网(IoT)作为拥有千亿级设备连接量的庞大市场,已经远超PC和移动手机市场体量。国内巨头在物联网平台已然较量了多个回合,而在此过程中,操作系统也被视为关键一环,经历了移动互联网时代,厂商开始对操作系统更加敏感,谁不想拥有Android或iOS在移动手机中的地位?
物联网终端设备开发遇到瓶颈
物联网经过这些年的发展,在终端设备开发中显现出诸多问题。
总体来看,现在的物联网设备还不够智能,而这正是华为决定开发操作系统的原因。华为LiteOS运营总监林旅强告诉雷锋网编辑,现在的物联网终端设备通常都是不智能的,因此也被称作哑终端。智能化后的设备不仅可以实现数据上传云平台,还要能够实现信息的改变、命令下发、动作执行,这也是华为操作系统要实现的功能。
从自用到开源:华为的布局思考
大部分开发者对华为LiteOS的认知是从2015年华为宣布开源LiteOS,或是在2017年提出“云——管——端”战略开始的,而其实,据雷锋网了解,早在2012年,华为就开始做终端设备OS,也是现在LiteOS的雏形。
研发之初,华为的终端设备OS主要应用在自家消费类产品中;可穿戴市场兴起后,华为又在2014年推广到自家手环、手表等可穿戴设备。随着物联网设备体量逐渐成长,种类也开始繁盛,华为看到了这一市场机遇,开始进入物联网领域,也就有了现在的LiteOS。据华为内部对LPWA领域设备出货量统计数据显示,截止2018年,搭载华为LiteOS的NB-IoT产品出货量超过2000万。
在2015年华为网络大会上,LiteOS正式宣布开源。林旅强笑称,华为此前都是自己吃自己的狗粮。LiteOS操作系统是华为完全自研的,并非通过Linux或其他系统二次开发的。
为什么要开源?
华为LiteOS自主知识产权指什么?
IoT OS联网关键:端云组件和增强组件
单独从内核来看,任何操作系统的内核都大同小异。物联网操作系统内核的本身有一个特点,即轻量级,华为LiteOS可以做到KB等级。另外,作为物联网开源操作系统,厂商可以直接将华为LiteOS操作系统拿来做定制解决方案。
物联网最为关键的就是互联互通,由于物联网生态系统中,每个组织内部有众多节点,这需要有完整的系统架构作为支撑。而现在市面上一些物联网终端系统仍然存在无法联网的问题,这样的嵌入式系统自然无法称作物联网系统,这主要由于端云组件不够完善。
从嵌入式系统到物联网系统主要区别在于端云集成的能力。相对于嵌入式系统,物联网系统支持多种协议,同时也增加了远程升级的能力。华为LiteOS支持诸如LwM2M、MQTT、DTLS等协议,也支持远程升级。
华为LiteOS在增强组件方面加入了差分升级。所谓差分升级,即只把需要升级的部分进行升级,而不必进行全部升级,其优点是占用更少的通道资源,这一点其实也借鉴了现在手机操作系统的更新/升级功能。华为LiteOS可以在只占用很少“管”端资源的情况下,对设备需要的功能进行升级。
华为作为国内通讯巨头企业,与包括三大运营商在内的众多平台都有合作,因而其LiteOS系统拥有多平台互动能力也就很容易理解了。当然,就华为自己的定位来看,LiteOS主要还是连接自家的OceanConnect平台的,但同时也可以将LiteOS与三大运营商的云平台连接。
另外,开发者经常使用IDE(Integrated Development Environment ,集成开发环境)进行开发,但目前市面上物联网领域的IDE往往昂贵,免费的体验则欠佳。根据林旅强透露,华为看到开发者的诉求,开发了LiteOS IDE,并将于今年10月的华为全连接大会中亮相。
着力
针对LPWA终端设备开发而言,基于华为LiteOS有三种开发方案:
以上三类设备开发方案需要进行单独开发的部分依次减少。其中最典型的是基于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,从而在功耗、成本、设计尺寸上都得到了进一步改善。
共享单车应用实例
共享单车作为LiteOS成熟应用方案之一,其工作原理如下图所示。
华为的NB-IoT应用方案主要在共享单车车锁上。当你打开车锁时,手机APP开始计费;关闭车锁时,手机APP会结束计费。其中,关锁过程中,车锁利用NB-IoT模块发信号到OceanConnet平台,OceanConnet平台接收到信号就会告知单车的云平台,单车云平台再将信号发送到你的手机APP,从而完成关锁计费。
这样的一套流程早期的版本用的GPRS模块,非常耗电,需要1-2个月换一次电池;NB-IoT/LiteOS方案解决了这一问题,现在共享单车车锁平均可以连续工作26个月。另外,在开发时间上也有很大的提升,过去要一个月,现在用两周就能完成开发工作。
IoT OS是否必须
虽然现在各大IoTOS设备接入量屡屡爆表,但是仍然会有人质疑物联网硬件是否真的需要OS,对此,雷锋网编辑也与林总进行了交流。
采用华为LiteOS系统和用其他系统接入OceanConnect平台是否有区别?对于IoT设备,操作系统是否是必须?
林旅强: IoT走向智能化的浪潮中,操作系统是关键角色。目前某些解决方案当中的终端设备和功能要求并不特别复杂,接入物联网平台的方式也有若干种,未必一定使用OS才能做到端云连接。不过,LiteOS除了在端云互联方面降低开发人员的工时和复杂性外,在今天提到的OpenCPU方案节省MCU、远端固件软件差分升级、Device PnP和DTLS+等增强组件功能,都是使用LiteOS的优势。并且,IoT装置发展的趋势一定是朝向智能,未来物联网的发展在通信速度和带宽的提升以及电池技术的突破,我们都更可以确定物联网OS所起到的关键作用。
IoT设备操作系统是否会与手机安卓系统在功能和发展上有所不同?
林旅强: IoT设备操作系统与安卓有不同之处,基于安卓系统开发APP的人很多,但是物联网操作系统架构与安卓不同,目前也还没有开发APP的成熟条件。如果参照移动手机的发展史,从技术发展来看,IoT设备甚至还没走到诺基亚的塞班系统时代,而是处在早期功能机阶段。我们现在要解决的问题包括连接、各种协议栈,先在行业上让大部分人能够使用,在物联网产业发展的过程中,丰富能力和生态,吸引更多开发者进入,直到像现在开发安卓系统那么容易。面向未来的畅想我们很期待,距离还有多远,可能还是见仁见智。
风口再起 | 巨头掀 IoT 平台大战,亿级平台将不断涌现
我们应该用什么姿势,看待华为的Liteos?
华为麒麟980发布:7nm双核NPU加持,性能“超级恐怖”