PC时代创造了Windows操作系统,移动互联网时代创造了Android和iOS操作系统。现在物联网时代正在快速崛起,它会创造出怎样的操作系统?操作系统作为一个行业的底层基础设施,除了潜在的当前时代背景下,更具有国家层面的战略意义。只有拥有自主产权的优秀操作系统,才能避免受制于人。因此,我们非常关注物联网时代操作系统的进展和格局,本文将简要探讨以下问题:为什么需要物联网操作系统?物联网需要什么样的操作系统?缺点?物联网操作系统创业公司还有机会吗?如何体现未来的商业价值?为什么需要物联网操作系统?2012年前后物联网概念刚刚兴起的时候,整个行业都在关注两个问题:网络连接、前端计算能力。换句话说,“先将设备连接到互联网”。至于物联网终端设备需要运行什么样的软件,前端软件如何开发,前后端软件如何协同开发,甚至软件平台的安全性等问题,都是“后话””随着通信芯片成本的降低以及NB-IoT和4G甚至5G无线通信网络技术的发展,物联网解决了设备连接互联网的问题。随着ARM32位MCU的普及,前端设备的计算能力有了很大的提升,具备了运行更复杂应用的能力。老问题解决了,新问题接踵而至。网络数据量的激增和网络响应的延迟,使得迭代快、协议复杂的互联网服务难以对接。因此,边缘计算变得越来越重要。将计算分布到前端网关和数据采集终端,结合互联网服务,是当前物联网的趋势。发展阶段的总趋势。边缘计算大大增加了物联网终端软件的复杂度,而这个需求在几年前是不存在的。过去,物联网产品出厂时软件功能基本固定,上层软件应用开发与底层硬件紧密耦合,第三方开发者很难针对硬件开发应用。这导致物联网软件应用迭代缓慢,成本高,生态封闭。参照PC、互联网和移动互联网的技术发展史,软件行业的爆发需要相对标准化的底层运行环境作为支撑。对于PC,它是Windows、Linux和macOS;对于互联网,它是浏览器;对于移动互联网来说,就是iOS和Android。因此,物联网也需要有一个相对统一的操作系统,对软件开发者更友好,使软件开发过程与硬件开发分离。只需要基于操作系统,就可以快速开发上层应用。物联网需要什么样的操作系统?首先,Android在智能手机上如此成功,是否可以直接复制到物联网领域?答案是不。原因包括Android是专为手机设计的操作系统,需要计算资源过大,难以广泛兼容物联网设备的外设,存在安全问题。那么物联网需要什么样的操作系统底层运行环境呢?大致有以下需求:跨平台:消除硬件平台差异,软硬件开发解耦。成本低:可以在微型设备上运行,消耗资源少,降低硬件成本。简单易学:相关技术已有大量开发者和用户,无需重新学习。安全性强:拥有足够强大的安全机制,保证用户设备和数据的安全。前两者是硬件厂商的需求,后两者是软件行业的需求。物联网操作系统的任务其实就是为边缘计算软件提供底层运行环境来满足这些需求。到目前为止,物联网操作系统的核心流派和优缺点是什么?目前市面上的物联网操作系统基本上有3种核心流派。1.从传统的嵌入式RTOS发展而来。典型代表:FreeRTOS、RT-Thread、LiteOS、uCOS、MICO。优点:在物联网终端上得到广泛支持,硬件推广成本低。缺点:软件开发专业性极强,软硬件开发很难隔离,这使得专业的软件公司很难进入这个领域。这条路上玩家众多,尤其是硬件行业,RTOS依然是终端操作系统的主要选择。由于历史原因,传统RTOS市场大多是国外厂商,或者FreeRTOS等国外技术人员活跃的开源社区的产品。RT-Thread这几年在国内做得最好,目前的发展势头非常快。其官网信息显示,RT-Thread已应用于能源、车载、医疗、消费电子等行业,累计装机量超过2亿台。2.移植自其他领域的软件平台,如Linux、Java、Node.jsEmbedded、MicroPython。典型代表:Linaro、MicroEJ、卓盛互联网、Ruff。优点:软件资源丰富,开发者众多,软件开发速度快,成本低。缺点:难以适配物联网终端硬件,需要解决资源占用、外设接口扩展、省电设计等各种问题。考虑到Java在传统服务器行业的高市场占有率和庞大的Java开发者社区规模,基于Java的物联网操作系统解决方案,从传统行业和传统IT领域切入物联网方向的企业,如果他们能够在联网设备上开发Java应用程序,将大大释放自身的软件业务能力,降低B端客户采用物联网解决方案的门槛。在人工智能领域,Python在开发者资源方面拥有绝对领先地位。因此,人工智能领域的物联网设备支持Python是顺理成章的选择。但是目前还没有公司或社区项目提供相对成熟的基于Python的物联网操作系统产品。当互联网企业转向物联网领域时,JavaScript是自然而然的技术路线选择。在这条路线上,国内主要是Ruff。3、从互联网公司的云平台延伸而来。典型代表:AliOSThings、AndroidThings。优点:与互联网服务天然结合,方便接入互联网应用。缺点:基本上每个产品服务每个公司,很难做到平台中立。对于软件开发人员来说,功能是有限的。目前AndroidThings还是太大了,比嵌入式Linux更耗资源,也不再走Android的开源路线,基本变成了Google自己服务的SDK。对于国内厂商来说,跟风的门槛比安卓要高。物联网操作系统有创业机会吗?未来的商业价值将如何体现?以往操作系统等基础软件必须选择大公司的技术方案,因为技术开发和后续维护比开发本身更重要。公司可以得到客户的极大信任。但是,随着开源模式被广泛接受,基于开源开发模式和开放标准的技术更容易赢得客户的青睐,因为这种模式摆脱了客户对大公司的潜在依赖,任何公司可以提供持续的技术支持。这样一来,操作系统似乎是过去大公司必须要做的事情,但是小公司和创业公司也可以做,只要技术强。比如Linux这种完全由社区(甚至不是一家公司)开发的操作技术,虽然IBM也在玩,但也有像Redhat这样从无到有的公司。大家都知道操作系统有多重要,垄断有多大,但如何体现商业价值呢?各自领域的大玩家基本上都将物联网操作系统作为拓展自身业务或保持行业地位的工具。比如华为的LiteOS、三星的Node.js,都摆脱不了为自己的硬件服务的属性;AliOSThings或AndroidThings都无法摆脱对自身服务的依赖。但这实际上限制了操作系统本身的商业价值。操作系统作为基础软件平台,其中立性是其自身价值的最好体现。在操作系统商业模式更加开放,开源成为主流技术开发模式的今天,传统的软件商业价值实现方式,即授权和销售副本,已经不再适用。相比之下,快速扩大生态,然后从软件、云服务、广告等市场变现,可能是更良性的模式。展望未来,在行业特性的割裂下,物联网操作系统仍将有几条技术路线并行,每条路线上的漫长竞争才刚刚开始。
