简单描述物联网系统开发过程(一种小众的轻量级物联网开源操作系统)

简单描述物联网系统开发过程(一种小众的轻量级物联网开源操作系统)(1)

Contiki-OS是什么

Contiki是一个小型、开源、极易移植的多任务操作系统。它专门设计以适用于一系列的内存受限的网络系统,包括从8位电脑到微型控制器的嵌入系统。Contiki只需几千字节的代码和几百字节的内存就能提供多任务环境和内建TCP/IP支持。作为基础的内核以及大部分的核心功能是瑞典计算机科学研究所的网络内嵌系统小组的Adam Dunkels开发的。

Contiki 是一个开源操作系统,适用于BSD-3-Clause协议,即可任意修改和发布,无需任何版权费。

经过十多年的发展,Contiki 已经开始走向商业化应用,不少消费类科技公司开始和 Contiki 合作,如智能灯泡LiFX,还有 Nest 的竞争者Tado。Dunkels 认为物联网这块市场很大,方向太多,在工业界和建筑物的自动化控制等领域都有很大的应用前景。

为了支持 Contiki 快速发展的商业应用,Dunkels 已经离开了他在大学的研究工作成立了 Thingsquare,一家致力于为 Contiki 设备提供云服务后台支持的初创公司。目的是为了方便开发者将他们的硬件设备和智能手机和网络连接起来。

Contiki-OS特点

1.事件驱动(Event-driven)的多任务内核

Contiki基于事件驱动模型,即多个任务共享同一个栈(stack),而不是每个任务分别占用独立的栈(如uCOS、FreeRTOS、Linux等)。Contiki每个任务只占用几个字节的RAM,可以大大节省RAM空间,更适合节点资源十分受限的无线传感器网络应用。

2.低功耗无线传感器网络协议栈

Contiki提供完整的IP网络和低功耗无线网络协议栈。对于IP协议栈,支持IPv4和IPv6两个版本,IPv6还包括6Lowpan帧头压缩适配器,ROLLRPL无线网络组网路由协议、CoRE/CoAP应用层协议,还包括一些简化的Web工具,包括Telnet、http和web服务等。Contiki还实现了无线传感器网络领域知名的MAC和路由层协议,其中MAC层包括X-MAC、CX-MAC、ContikiMAC、CSMA-CA、LPP等,路由层包括AODV、RPL等。

3.集成无线传感器网络仿真工具

Contiki提供了Cooja无线传感器网络仿真工具,允许多种协议在电脑上进行仿真,仿真通过后才下载到节点上进行实际测试,有利于发现问题,减少调试工作量。除此之外,Contiki还提供MSPsim仿真工具,能够对MSP430微处理器进行指令级模拟和仿真。仿真工具对于科研、算法和协议验证、工程实施规划、网络优化等很有帮助。

4.集成Shell命令行调试工具

无线传感器网络中节点数量多,节点的运行维护是一个难题,contiki可以通过多种交互方式,如Web浏览器,基于文本的命令行接口,或者存储和显示传感器数据的专用程序等。基于文本的命令行接口是类似于Unix命令行的Shell工具,用户通过串口输入命令可以查看和配置传感器节点的信息、控制其运行状态,是部署、维护中实用而有效的工具。

5.基于Flash的小型文件系统:CoffeeFileSystem

Contiki实现了一个简单、小巧、易于使用的文件系统,称为CoffeeFileSystem(CFS),它是基于Flash的文件系统,用于在资源受限的的节点上存储数据和程序。CFS是综合考虑传感器网络数据采集、数据传输需求以及硬件资源受限的特点而设计的,因此在耗损平衡、坏块管理、掉电保护方面、垃圾回收、映射机制方等方面进行优化,具有使用的存储空间少、支持大规模存储的特点。CFS的编程方法与常用的C语言编程类似,提供open、read、write、close等函数,易于使用。

6.集成功耗分析工具

为了延长传感器网络的生命周期,控制和减少传感器节点的功耗至关重要,无线传感器网络领域提出的许多网络协议都围绕降低功耗而展开。为了评估网络协议以及算法能耗性能,需要测量出每个节点的能量消耗,由于节点数量多,使用仪器测试几乎不可行。Contiki提供了一种基于软件的能量分析工具,自动记录每个传感器节点的工作状态、时间,并计算出能量消耗,在不需要额外的硬件或仪器的情况下就能完成网络级别的能量分析。Contiki的能量分析机制既可用于评价传感器网络协议,也可用于估算传感器网络的生命周期。

7.开源免费

Contiki采用BSD授权协议,用户可以下载代码,进行科研和商业活动,且可以任意修改代码,无需任何专利以及版权费用,是彻底的开源软件。尽管是开源软件,但是contiki开发十分活跃,在持续不断地更新和改进之中。

Contiki 特性对比

Contiki是一个专门针对物联网或者无线传感器网络应用的操作系统和协议栈 ,在科研以及产业化方面得到广泛的应用。在该领域,还有一个知名的类似的系统- TinyOS,两者都实现了网络协议,两者的比较如下:

简单描述物联网系统开发过程(一种小众的轻量级物联网开源操作系统)(2)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页