|
|
Contiki是专为物联网领域而设计的开源操作系统,适用于联网嵌入式系统和无线传感器网
络。由瑞典计算机科学学院的Adam Dunkels团队开发。它有以下几个特点。
网络标准
contiki提供强大的低功耗网络通讯,支持标准IPv4和IPv6,连同最新的低功耗无线标准,
6lowpan,ROL,CoAP等等。配合ContikiMAC层和具备休眠功能的路由器,每个无线路由器
都可以由电池供电。
快速开发
Contiki应用全部是用标准C语言来编写,可移植性非常好。可以使用Cooja模拟器来
仿真Contiki网络。Instant Contiki提供一套完整的开发环境,典型的配置下,contiki只占
用2KBytes的RAM以及40KB的Flash存储器。下载地址:Get-Started-with-contiki
硬件平台
Contiki可以运行在多种低功耗无线设备上,从基于8051内核的单片机,MSP430到多
种ARM内核设备上,都可以运行。拥有一个活跃的开发社区,该社区由Thingsquare的Adam
Dunkels领导,社区成员有Atmel、Cisco、ETH、SAP等等。典型的Contiki配置只需要2K的RAM
和40K的ROM。代码可以免费的用于商业领域和非商业领域,发布源码采用的协议为contiki-
BSD-license
Contiki特点
1. 针对内存受限特点,开发了专用的内存块分配器memb,托管内存分配器mmem,和标
准malloc内存分配相类似。
2. 针对能量受限特点,Contiki设计为一个极低功耗的系统,凭借AA电池,可以长时间运行。
为了便于测量功耗,Contiki提供了检测系统功耗的机制,理解系统能量的消耗构成。
3. 全网络支持,支持标准IP协议,例如UDP、TCP和HTTP。除此之外,最新的低功耗标准,
像6lowpan、RPL和Coap也支持的。在Contiki中的IPv6协议栈由Cisco开发,通过IPv6认
证标志项目认证。contiki内部集成两种无线传感器网络协议栈:uIP和Rime。uIP是一
个小型的符合RFC规范的TCP/IP协议栈,使得contiki可以直接和Internet通讯,uIP包含
了IPv4和IPv6两种版本,可在编译时二选一。
4. 全网络支持,支持标准IP协议,例如UDP、TCP和HTTP。除此之外,最新的低功耗标准,
像6lowpan、RPL和Coap也支持的。在Contiki中的IPv6协议栈由Cisco开发,通过IPv6认
证标志项目认证。contiki内部集成两种无线传感器网络协议栈:uIP和Rime。uIP是一
个小型的符合RFC规范的TCP/IP协议栈,使得contiki可以直接和Internet通讯,uIP包含
了IPv4和IPv6两种版本,可在编译时二选一。
5. Rime是一个轻量级为低功耗无线传感器网络设计的协议栈,该协议栈提供了大量的通信
原语,能够实现从简单的一跳广播通信,到复杂的可靠多跳数据传输等通信功能。
6. 基于事件驱动(Event-driven)内核,多个任务共享同一个栈(stack),支持动态模块加载机
制,提供protothreads机制,在这种机制下,每个事件处理可以独立等待事件的发生,而
不会阻碍其他事件。提供轻量级的flash文件系统,称为Coffee。提供一个可选的基于文本
的shell命令行接口。
7. Contiki无线传感器网络仿真工具,能够对协议在电脑上进行仿真,仿真通过了下载到节点
上世纪运行。
8. 得益于Contiki的MAC射频占比循环机制,在网络中作为消息中转的路由器也可以采用
电池供电,这和ZigBee网络中的路由器能量供应不同。在Contiki网络中,称这种路由器
为sleepy路由器。
9. Contiki采用BSD授权协议,用户可以用于科研和商用,并且可以任意修改代码,无需任何
专利以及版权费用。
|
|