Zigbee也是IEEE 802标准之下的无线通信协议,是专对于物联网制订的一套协议。与Wi-Fi的星状网结构(Star)不同,Zigbee支持网状网结构(Mesh),也就是说,各个设备之间可以相互连通,无需一个中央路由进行协调处理。而且Zigbee功耗极低,户外有效通信距离可达1.5公里以上……很显然,Zigbee绝对适合我们前面提到的车与车相互连通的案例。不过需要指出的是,Zigbee发展到目前已经历两代标准,而一代与二代是相互不兼容的。
除了Zigbee,类似的通信标准还有Z-Wave(贝尔金Wemo系列新产品),以及谷歌Nest的Thread——小编是偏心,这里没有单独介绍这两个协议,但显然也是有原因的——虽然Z-Wave已经被贝尔金这样的大厂广泛支持,但是贝尔金并没有表示只支持Z-Wave,基于ZigBee的产品也是有的,这只能说明在当前情况下,物联网市场还存在太多的不确定性,因此设备商也不敢妄下结论。至于谷歌的Thread,更好的消息是上个月公司宣布与Zigbee标准组织达成合作,今后两个标准将相互兼容。于是,Thread的问题已不再是问题了。
结合下周谷歌I/O大会以及Android生态来考虑,Thread Zigbee是目前最有可能胜出的物联网通信标准组合。而这样一个时间段能与谷歌一较高下的,恐怕只有苹果HomeKit规范了。严格来说,HomeKit只是苹果“智能家居”产品生态的开发平台,不过里面肯定会对具体的通信协议有严格的规范(也就是具体会支持哪些标准)。如果说苹果也选择了Zigbee,而不是Z-Wave,那么后者基本就等于被判死刑。但如果苹果因为谷歌,而故意扶持Z-Wave,那么“标准之争”则还要延续下去。
当然,有一点是能确定的,那就是Wi-Fi虽然不会是物联网设备的通用通信标准,但绝对是会被谷歌和苹果双双支持的技术。所以在此前提下,我们未来肯定会看见“Wi-Fi Zigbee/Z-Wave路由器”这种产品,毕竟Zigbee或者Z-Wave只是实现设备间的互联,要与互联网连接,要实现通过云来控制,最后必然还会回到路由器上来。
前面说华为LiteOS有可能只是针对单片机芯片提供了最基本的功能,这里我们应该给“最基本”作一个定义。
对于有电子、电脑工程学背景的网友,理解单片机芯片并不难;而对于没有此类背景的一般网友,小编建议可以将其理解为“由程序控制的电流开关组合”。啥意思呢?举例说,单片机芯片(也叫微控芯片)上通常会有一些针脚,有的针脚是给处理器供电的,而剩下的大多数都是通用输入输出接口(GPIO)——按照小编的建议,能够理解为一个又一个的电源开关。处理器用0和1来控制这些开关,打开开关时,针脚输出电流开始供电——如果这个针脚背后接的是灯泡(当然不可能直接为灯泡,电流没那么大,但我们在此简化理解),那么芯片就通过该针脚控制了电灯的开关。LiteOS在这里扮演什么角色呢?它负责告诉芯片哪个针脚背后接的是灯泡,然后作一个逻辑判断,即何时要开灯,何时要关灯——这便是所谓的“最基本”的功能,大部分物联网设备也就只需要控制那么几个电路,因此10KB差不多是足够了(没有加入各种通信协议的前提下)。
拿当前最流行的单片机开发板Arduino为例,其中Uno R3系列使用的是ATmega328微控芯片,该芯片自带闪存容量仅为32KB,即为该芯片写的程序不能超过这个体积。但是我们一起看看,基于Arduino开发的机器人、3D打印机项目有多少?32KB足以实现极为强大的功能。
LiteOS必然不会是以ATmega328芯片为主要开发对象的系统,毕竟华为有自己的芯,并且是基于ARM指令集。ARM的Cortex-M系列内核就是针对物联网市场提供的单片机解决方案。在该市场上,竞争对手还挺多,小编大致给罗列一下: