为什么选择Zephyr操作系统开发物联网产品?HereO、CommSolid和Grush有话说
万物联网时代,物联网设备以百花齐放的态势涌向市场,让众多用户体验到互联所带来的智能体验。物联网设备也以开发成本低、开发周期短吸引了一波创业者的目光,从而造就了当前物联网市场百家争鸣的热闹格局。除了硬件设计,摆在创业者面前最直接的问题就是:如何为自己的物联网设备选择一款合适的操作系统?
操作系统对于物联网设备而言,与互联网中的Windows同等重要。然而,为了满足物联网应用的碎片化需求,市面上出现了多种物联网操作系统,这也让设备制造商陷入了选择迷茫,今天我们就带来三家物联网产品设计公司使用Zephyr操作系统的经验,帮助设计者深入了解Zephyr操作系统的优势。
HereO:采用Zephyr OS 控制多个调制解调设备
如今移动互联网用户经常用到的一项功能就是位置分享,而目前大部分位置信息都是由手机提供的,但随着物联网变得越来越容易访问,应用范围越来越广,更多新兴的消费产品能够提供室内和室外位置信息,无论是作为主要服务,还是整个产品的一部分。HereO的团队目标是开发一个软件堆栈,它能够在一个UART端口上运行多个通信设备。
除了技术,开发一款产品最初需要什么?HereO公司规划的产品是儿童手表,手表需要支持3个UART设备:
GPS:生成室外位置读取;
调制解调器:用于传输数据和支持蜂窝三角测量;
WiFi:支持室内位置读取;
硬件架构设计
该项目的处理器是英特尔Curie,一个Quark X86处理器,相当于一个ARC处理器。Curie模块有两个UART端口,一个内部连接到BLE nRF51822,另一个是调试端口。HereO把Curie调试端口、蜂窝调制解调器、WiFi调制解调器和GPS连接到每个UART扩展端口,扩展器由CurieGPIO控制。
该系统还采用了内部BLE、陀螺仪和加速度计(用于卡路里测量),外部温度和气压传感器(用于更精确的定位算法和正常状态测量)以及基于I2C的显示器(用于支持手表大部分不相关联的功能,比如显示时间)。
使用Zephyr 操作系统优缺点兼而有之
Zephyr操作系统协助HereO实现产品的过程中可谓优缺点兼而有之:
优点是,该项目就能够采用低性能处理器(如:能运行于低端的ARM设备、ARC等)设置一个非常强大的应用程序;应用程序占用空间小,可运行于Curie提供的384KB flash,80kB SRAM上,并且还有一定的空间支持更多功能;可移植性,这是最重要的优势。解决方案是“跨硬件平台”的,HereO已经开始在NXP的平台上进行测试,移植非常简单,所需的工作量很少。
缺点是,用户使用Zephyr 操作系统面临相当大的挑战,一是,入门水平高,为了很好地了解它,需要研究这款操作系统;二是,这是一个年轻的项目,因此网上几乎没有实例,而且做很多事情还没有“明确”的方法;三是,对于Linux构建系统(Kconfig、Makefile、defconfig等)需要有很好的了解。
为什么选择Zephyr项目?
HereO已经选择Zephyr操作系统作为其大部分项目的主要操作系统,这是因为它能够基于低成本处理器创建具有连接性、传感、数据传输协议和极端模块化的物联网设备。迄今为止,这些功能主要通过采用Linux和功能更强大(而且更贵)的处理器才能实现,Zephyr项目确实开放了很多新的和已有的机会。
CommSolid:连接更丰富的设备
CommSolid是一家提供领先的超低功耗物联网解决方案的蜂窝IP公司。CommSolid的CSN130基带IP解决方案专为3GPP窄带物联网标准(Cat-NB、NB-IoT)而设计,由硬件(RTL)和软件堆栈组成。嵌入到用户的系统级芯片(SoC)中,可以将传感器和执行器直接连接到互联网,从而实现物流、健康、智慧城市和检测等智能应用程序。超低功耗消费使CSN130 IP适用于长时间采用电池供电的设备。CSN130基于灵活的架构,与经过验证的技术相结合,现在可用于授权和片上系统集成。
为什么选择Zephyr 操作系统?
CommSolid的CSN130 NB-IoT基带IP解决方案采用了Cadence认证的Tensilica Fusion F1内核技术,能够将包括蜂窝协议堆栈和物理层的完整的调制解调器整合到单一内核中,这需要高性能、低功耗的实时操作系统RTOS。CommSolid评估了各种实时操作系统,主要标准是性能和稳定性,以实现可靠的NB-IoT通信。另外,还需要执行中间件堆栈和客户应用程序的简单机制,所有这些问题都是Zephyr 项目可以解决的。
Zephyr的内核调度器能够和蜂窝网络实现高精度的同步。针对IoT设备,电源效率至关重要,Zephyr操作系统已经准备好支持这一需求,从而实现超低功耗和超长的电池寿命。驱动API和子系统增加了解决方案的可扩展性。这使得从占用非常小的空间的瘦调制解调器的功能,直到应用程序运行在顶端的云连接设备都可以实现。
采用Zephyr 实时操作系统的CommSolid CSN130 NB-IoT基带IP解决方案已经在CommSoild的NB-IoT参考平台上进行了演示,针对语音激活的数据传输的实时语音识别在单核CPU上运行在NB-IoT之上。
Grush:为儿童打造一款刷牙游戏
Grush是先进的蓝牙运动传感牙刷开创者,加上互动和指导性的手机游戏。Grush指导小孩刷牙,并且让父母跟踪结果。
Grush采用了一个技术领先的运动传感牙刷,兼做游戏控制棒的双重作用。牙刷通过蓝牙以无线通信的方式向Grush游戏传输数据—一款交互式手机游戏,通过刷牙流程指导儿童。Grush也采用了一项云服务,它存储刷牙信息,以使父母通过仪表盘APP监控小孩的刷牙动作,允许他们根据小孩的表现进行奖励。
为什么选择Zephyr 操作系统?
Zephyr项目使Grush很容易为联网牙刷游戏体验构建先进的Grush游戏算法。Grush需要一款操作系统,能够准确地收集传感器数据、处理复杂的算法、与双处理器通信,并且能与智能手机通信,同时确保应用程序可以使用尽可能多的内存。
Zephyr操作系统是一个完美的解决方案。Zephyr操作系统是“足够小巧且开箱即用”,并且不需要额外的工程。作为一款开源、小且可扩展的实时操作系统,Zephyr占用空间小,允许Grush开发者最大化Grush游戏算法的能效。Zephyr操作系统的多线程功能使Grush可以同时收集传感器数据,运行算法,与智能手机可靠地通信,实现无缝刷牙体验。
从以上三个实例可以看出,Zephyr操作系统在物联网设备中发挥了其占用空间小、高度灵活、高可靠的优势,未来会被更多物联网设备供应商广泛采用。
关于 Zephyr
Zephyr 项目是一款小型且可扩展的操作系统,尤其适用于资源受限的硬件系统,可支持多种架构;该系统高度开源,对于开发人员社区完全开放,开发人员可根据需要对该系统进行二次开发,以支持最新硬件、工具和设备驱动程序;该系统高度模块化平台,可轻松集成任何架构的第三方库和嵌入式设备。