嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

在CC2650 SensorTag 上的Contiki 操作系统

这篇文章翻译的是Andrew Back 的Contiki on the CC2650 SensorTag

title

在新的TI  SensorTag上的开源物联网操作系统

TI的第二代SensorTag 功能齐全,拥有超过10个传感器,在其核心有一个 CC2650 2.4GHz的多标准无线 微控制单元,使其成为一个原型物联网应用的强大平台。还有就是 当为SensorTag开发固件时,有许多的选择。在此文章中,我们将介绍Contiki,适用于网络内存受限系统的开源操作系统。

低功耗,支持多任务处理和6LoWPAN

title

Cooja Contiki 41节点的网络模拟。资料来源:wikimedia.org,CC BY-SA 3.0。

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 示例

title

资料来源: ti.com , CC BY-SA 3.0 。

TI提供了三个与CC2650 SensorTag使用 的 Conkiti例子,这表明它的基本功能,网状网络和非常低的功耗模式。

该cc26xx -demo展示了最基本的Contiki操作,传感器和按钮被读取,并且数据被输出到串行端口,并且蓝牙低功耗(BLE )的信标被启动,并且可以被接载,例如 合适的手机。 其它适当配置的节点,也可以通过IPv6被搜索到。

title

资料来源: ti.com , CC BY-SA 3.0 。

为了使用cc26xx –web-demo,有必要建立一个边缘路由器,并伴有一个提供的示例配置。它使用BeagleBone Black和USB连接的sub-1GHz或2.4GHz的射频接口。 SensorTag网状节点提供了一个网络服务器,可以用来示例显示传感器读数并且配置一个MQTT客户端。这个客户端能够发布信息到一个MQTT本地代理商,或者是,例如IBM Bluemix 云服务器。它也提供一个CoAP服务器来设置和获取资源,以及基于网络的UART和再次的一个蓝牙低功耗信标。

title

在Firefox浏览器用Copper add-on 来查看COAP资源

资料来源: ti.com, CC BY-SA 3.0 。

最后一个例子,very-sleepy-demo,在正常模式开始,在预定的一段时间 内,SensorTag是可以访问的,并且可以通过CoAP进行配置。随后它切换到睡眠模式,并变得基本上无法访问,只有执行网络维护任务时才从睡眠模式中恢复过来。

来源和工具链

Contiki的代码可以在GitHub上找到,并且包括cc26xx的例子

要建立应用程序需要用一个GCC ARM嵌入式工具链来,通过包装库然后在一些Linux distros中可以找到,而其他的系统, 可能需要从一个压缩包安装或者大概从来源那里被建立。无论使用哪种,后者将可能需要同时设置你的路径,从而使可执行文件在项目文件编写被调用时, 可以被找到。

或者,可以使用Instant Contiki。这是一个Ubuntu 的虚拟机并伴有所有需要预先安装的软件,并且那个只需要VMWare 播放器来使用。

建立和闪光

title

随着资料来源下载完毕,一个工具链会安装在你的路径,建立例子是琐碎的并且只是运行的事情而已!这些之后可以通过 Debug DevPack和SmartRF Flash Programmer 2.0 ( Windows)或CCS Uniflash (Windows / Linux )上传到SensorTag。

结论

Contiki 提供了一个用于构建可扩展的物联网应用而功能丰富的平台。并且TI已明确地把相当多的精力投入到支持它在新的SensorTag 上的运作 。此外,我们很高兴地看到,这种支持已经启动了并且进入到了主要的Contiki发展资源库,而不只是停留在TI特定版本的其他地方。

Andrew Back

首图: 6LoWPAN的网格 资料来源: ti.com , CC BY-SA 3.0