你觉得这篇文章怎么样? 帮助我们为您提供更好的内容。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
你觉得这篇文章怎么样?
这篇文章翻译的是Andrew Back 的Contiki on the CC2650 SensorTag
在新的TI SensorTag上的开源物联网操作系统
TI的第二代SensorTag 功能齐全,拥有超过10个传感器,在其核心有一个 CC2650 2.4GHz的多标准无线 微控制单元,使其成为一个原型物联网应用的强大平台。还有就是 当为SensorTag开发固件时,有许多的选择。在此文章中,我们将介绍Contiki,适用于网络内存受限系统的开源操作系统。
低功耗,支持多任务处理和6LoWPAN
Contiki从一开始就是为那些受限于内存,电源,处理性能和通信带宽方面的设备而设计。具有来自Atmel的ARM和AVR设备,NXP 的LPC2103(ARM),Microchip的dsPIC和 PIC32的微处理器,Texas Instruments 的众多设备和CC2650的支持。
Contiki提供IPv4, IPv6还有Rime的支持, 一个分层组自定义轻量级网络协议,那个范围从匿名广播到网状网络路由,是专为低功耗无线网络而设计的。
IPv6协议栈主要是包括支持6LoWPAN,它扩展了IPv6对于低功耗和潜在有损害的IEEE802.15.4无线网络的特点和缩放。这是特别有趣的,因为它提供了用于创建设备网络的基础设施,这些设备网络是基于公开标准的,建立面向未来并通过网络地址转换用于IPv4的互通性。
Contiki 成功适应这一切,并伴有一个在约10千字节RAM 中的多任务内核。其它可选的特点包括抢先式多线程处理,网络服务器,窗口系统以及甚至网络浏览器(通过VNC使用远程显示)。
你也可以使用一个专门设计用于无线传感器网络的叫COOJA的模拟器,这实际上编译并为网络中的每个节点执行Contiki 系统。
CC26xx Contiki 示例
TI提供了三个与CC2650 SensorTag使用 的 Conkiti例子,这表明它的基本功能,网状网络和非常低的功耗模式。
该cc26xx -demo展示了最基本的Contiki操作,传感器和按钮被读取,并且数据被输出到串行端口,并且蓝牙低功耗(BLE )的信标被启动,并且可以被接载,例如 合适的手机。 其它适当配置的节点,也可以通过IPv6被搜索到。
资料来源: ti.com , CC BY-SA 3.0 。
为了使用cc26xx –web-demo,有必要建立一个边缘路由器,并伴有一个提供的示例配置。它使用BeagleBone Black和USB连接的sub-1GHz或2.4GHz的射频接口。 SensorTag网状节点提供了一个网络服务器,可以用来示例显示传感器读数并且配置一个MQTT客户端。这个客户端能够发布信息到一个MQTT本地代理商,或者是,例如IBM Bluemix 云服务器。它也提供一个CoAP服务器来设置和获取资源,以及基于网络的UART和再次的一个蓝牙低功耗信标。
资料来源: ti.com, CC BY-SA 3.0 。
最后一个例子,very-sleepy-demo,在正常模式开始,在预定的一段时间 内,SensorTag是可以访问的,并且可以通过CoAP进行配置。随后它切换到睡眠模式,并变得基本上无法访问,只有执行网络维护任务时才从睡眠模式中恢复过来。
来源和工具链
Contiki的代码可以在GitHub上找到,并且包括cc26xx的例子。
要建立应用程序需要用一个GCC ARM嵌入式工具链来,通过包装库然后在一些Linux distros中可以找到,而其他的系统, 可能需要从一个压缩包安装或者大概从来源那里被建立。无论使用哪种,后者将可能需要同时设置你的路径,从而使可执行文件在项目文件编写被调用时, 可以被找到。
或者,可以使用Instant Contiki。这是一个Ubuntu 的虚拟机并伴有所有需要预先安装的软件,并且那个只需要VMWare 播放器来使用。
建立和闪光
结论
Contiki 提供了一个用于构建可扩展的物联网应用而功能丰富的平台。并且TI已明确地把相当多的精力投入到支持它在新的SensorTag 上的运作 。此外,我们很高兴地看到,这种支持已经启动了并且进入到了主要的Contiki发展资源库,而不只是停留在TI特定版本的其他地方。
首图: 6LoWPAN的网格 资料来源: ti.com , CC BY-SA 3.0