在各种各样的场合,我们听到一位位站在当前互联网潮头的巨头们应许:『未来属于物联网』。万物互联、或者说物联网 Internet of Things,IoT 的时代貌似下一秒就要来到。可是转头打量当下业界,你会发现当前的物联网问题丛生。而其中最严重的莫过于两个:标准林立、诸多产品缺乏应用场景和用户认受度。
而这两个问题还是相关的,对立的标准加大了不同厂商设备间数据沟通的难度,繁琐的开发流程抑制了中小型创业公司进入物联网领域提供新产品创意的热情,最终还是损害了物流网设备的可用性。
实际上我们看到以 PC 为基础的桌面互联网,以智能手机为核心的移动互联网都经历过类似的从混乱到标准的早期年代。2007年之前(甚至之后两年)各种各样的智能手机搭载不同的操作系统,罕有应用和数据层面的互通,在这种荒蛮的环境下,缺乏足够资金和开发经验的创业公司根本无力进入硬件领域。直到 iPhone 发布,Google 牵头成立围绕 Android 的开放手持设备联盟,整个业界才开始走向秩序。现在全球每年发布2000余款移动设备,其中90%以上款型运行 Android 系统,多个市场也不断涌现手机创业公司。
Ok,先放下越发无聊的智能手机产业,我们回到对物联网的讨论。如何跨越当前的标准障碍?再创制一套统一前面所有标准的标准?那不过是又一个新标准而已。也许从系统入手会是个好选择。这就是为何当我看到 ARM 发布的物联网使用的操作系统 mbed OS 时显得有些激动:属于物联网的 Android 来了?
mbed OS 是什么?
ARM 是一家隐于幕后的公司,尽管全球95%的智能手机里都运行着使用 ARM 架构的处理器,但大家对它不够熟悉,我们更熟悉的是高通、苹果、三星……其实它们的处理器全部采用了来自 ARM 的架构。ARM 设计架构,将它授权给芯片厂商,芯片厂商据此设计、生产芯片出售给手机厂商使用。当然苹果、三星、华为既生产芯片又生产手机。
在嵌入式设备领域,也就是物联网领域,ARM 也在走这条路线。与手机架构的 A 系列相似,根据功耗和用途不同,ARM 向芯片公司提供了从 Cortex-M0+ 到 Cortex-M7 一系列架构。意法半导体之类的芯片厂商据此生产之后,销售给物联网设备企业。
而 mbed OS 就是给所有 Cortex-M 设备使用的免费操作系统(RTOS)。接受采访时 ARM 物联网业务副总裁 Michael Horne 证实 mbed OS 也可以给 Cortex-A 手机系列芯片使用,但 mbed OS 专注于物联网设备。物联网的特征是功耗更敏感、设备更小,设置没有屏幕,使用场景也千差万别。mbed OS 就是把其中通用的部分做好。搭建起连接硬件(hardware)和应用(applications)之间的中间层。
mbed OS 支持了目前几乎所有的主流通讯方式:3G,LTE,低电蓝牙(Bluetooth Smart),Wi-Fi以及6loWPAN,还有物联网常见的Sub-GHz、ZigBee 和 Thread 等协议。另外还有数据安全方面的加密等。除了免费 mbed OS,ARM 还提供了服务器 mbed server 以及系列工具 mbed tool,用于数据的搜集、传输和管理。
按照 ARM 的设想,以后物联网开发者无需『重复造轮子』,使用 ARM 架构的芯片、使用 mbed 免费系统,然后直接基于 SDK 开发应用层就可以。以此来加速开发和产品的进程。更进一步讲,如果越来越多的物联网设备使用 mbed OS,即使它们分属于不同的硬件厂商,它们之间的数据互通将不再成为问题。
可惜它还算不上物联网的 Android
ARM 全球营销副总裁 John Heinlein 在与媒体沟通的时候一再强调 ARM 推出 mbed 的几大优势以及 ARM 在物联网领域的发展愿景:ARM 的业务模式适用于处理一个广泛的合作关系,ARM 作为商业公司会比 Linux 基金会更坚决推进,ARM 的32位架构优于竞争对手。ARM 认为在2018年物联网芯片将发展成跟移动芯片一样级别的200亿美元市场,而他们希望切走更大块的市场份额。
但我依然只能对 mbed 抱持谨慎乐观态度。目前来看,它还当不起物联网 Android 的期望。
首先,mbed 仍处于初始阶段,目前仍是 beta 版本,明年下半年才会有正式版发布。
而且 mbed OS 并非唯一的选择,ARM 官方自己都表示其 Cortex-M 系列架构芯片仍将继续支持多种开发环境,使用 ARM 架构的芯片厂商出品的芯片,也会支持多种环境,mbed OS 还只是其中之一。
还有 ARM 在物联网领域并没有移动领域那样的统治地位。大部分物联网设备不使用 Cortex-M 架构,又怎么会使用 mbed OS 呢?当然如果 mbed OS 未来足够成熟可用,也可能吸引更多企业来使用 ARM 架构的处理器。
在 mbed 的阵营里,我们看到了多家芯片厂商,以及中国的中科创达这样的系统方案商。却没看到足够分量的生产面向普通消费者的设备/家电厂商。mbed 能否普及,更多还是要看有多少终端设备生厂商接纳它。而 ARM 离它们的距离还是有些远,高通跟他们更近。苹果、三星、Google、GE 这样的巨头们都想搞自己的一套。
更关键的问题是,物联网真的能够统一么?与PC、手机不同,物联网的设备和使用场景将会高度碎片化。即使比较清晰的三块:智慧城市、智能家居和个人可穿戴,对硬件和系统的要求都有很大区别。横跨这么多种需求,要么系统只覆盖其中通用的部分,越发地『底层化』失去存在感;要么根据不同的场景分化。
当然也没必要苛责,毕竟 mbed OS 是一个2015年下半年才会有正式版的系统。物联网行业整合正在加速,无法预料未来的具体进展。至少有一点可以确定,IoT 的浪潮比移动互联网更复杂、也更波澜壮阔。