Contiki学习入门之概览

摘要:
Contiki是专门为物联网设计的开源操作系统,适用于联网嵌入式系统和无线传感器网络。由瑞典计算机科学院的Adam Dunkels开发。它具有以下特点。1.网络标准Contiki提供强大的低功耗网络通信,支持标准IPv4和IPv6,以及最新的低功耗无线标准6lowpan、ROL、CoAP等。通过ContikiMAC层和具有休眠功能的路由器,每个无线路由器都可以由电池供电。2.快速发展

Contiki是专为物联网领域而设计的开源操作系统,适用于联网嵌入式系统和无线传感器网络。由瑞典计算机科学学院的Adam Dunkels团队开发。它有以下几个特点。

1. 网络标准

contiki提供强大的低功耗网络通讯,支持标准IPv4和IPv6,连同最新的低功耗无线标准,6lowpan,ROL,CoAP等等。配合ContikiMAC层和具备休眠功能的路由器,每个无线路由器都可以由电池供电。

2. 快速开发

Contiki应用全部是用标准C语言来编写,可移植性非常好。可以使用Cooja模拟器来仿真Contiki网络。Instant Contiki提供一套完整的开发环境,典型的配置下,contiki只占用2KBytes的RAM以及40KB的Flash存储器。下载地址:Get-Started-with-contiki

3. 硬件平台

    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两种版本,可在编译时二选一。

Rime是一个轻量级为低功耗无线传感器网络设计的协议栈,该协议栈提供了大量的通信原语,能够实现从简单的一跳广播通信,到复杂的可靠多跳数据传输等通信功能。

4. 基于事件驱动(Event-driven)内核,多个任务共享同一个栈(stack),支持动态模块加载机制,提供protothreads机制,在这种机制下,每个事件处理可以独立等待事件的发生,而不会阻碍其他事件。提供轻量级的flash文件系统,称为Coffee。提供一个可选的基于文本的shell命令行接口。

5. Contiki无线传感器网络仿真工具,能够对协议在电脑上进行仿真,仿真通过了下载到节点上世纪运行。

6. 得益于Contiki的MAC射频占比循环机制,在网络中作为消息中转的路由器也可以采用电池供电,这和ZigBee网络中的路由器能量供应不同。在Contiki网络中,称这种路由器为sleepy路由器。

7. Contiki采用BSD授权协议,用户可以用于科研和商用,并且可以任意修改代码,无需任何专利以及版权费用。

安装Contiki工具

1. 下载Instant Contiki和对于的VMWare Player工具。下载InstantContik2.7好几次,解压到最后的时候出错,我想就这,官方网址,总不可能下错吧。我下了三四次contiki2.7的压缩包,总是解压错误。今天,最后用IE下载,经过漫长的等待,终于成功了。

image

密码是:user

接下来就是一步一步来学习了。

参考资料:http://www.cmeee.com/forum/contiki-bbs/46-instantcontiki2-6-for-cc2530dk 这是一系列学习contiki的博客,很好很强大。

参考资料:

Contiki官方网站: www.contiki-os.org

Contiki Wiki:www.sics.se/contiki/wiki

Contiki 源代码文档:http://dak664.github.com/contiki-doxygen

Contiki代码下载:http://sourceforge.net/projects/contiki/files/Contiki/

Instant Contiki开发环境:http://sourceforge.net/projects/contiki/files/Instant%20Contiki

免责声明:文章转载自《Contiki学习入门之概览》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Huawei-R&S-网络工程师实验笔记20190607-STP生成树协议(基本配置、桥优先级、根桥选举、根端口、路径开销、边缘端口)centos部署单机spark大数据环境(一)--【安装mysql】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

酒店网络非常常见故障一例

环境介绍:1.拓扑如上图所示,包括无线网络、PoE交换机、有线接入层交换机】核心交换机、深信服AC、出口防火墙等;2.这个是酒店的客房网络,因为是一期网络,所以没说双冗余设计,正常;3.交换机都是华为产品,接入用27  57系列,核心用7706;4.每个楼层都一个VLAN设计。故障说明:     话说事情是介样子的,整个网络是我搭建起来的,所以很清晰网络环...

iframe+postMessage不同源页面通信

父页面 父页面运行在8080端口,通过iframe标签引用子页面,通过postMessage发送消息给iframe中的子页面。 <template> <div class="hello"> <iframe src="http://10.10.30.5:8081" height="100%"><...

Linux 路由 静态路由

Linux 路由 静态路由 目录 Linux 路由 静态路由 一、临时生效,使用命令route A、添加到主机的路由 B、添加到网络的路由 C、添加默认路由 D、删除路由 E、查看所有路由信息 二、临时生效,使用命令ip route A、添加路由,和route比较 B、改变路由,路由必须已存在 C、替换路由,路由不存在则添加 D、删除路由 E、...

vue+elementui搭建后台管理界面(5递归生成侧栏路由)

有一个菜单树,顶层菜单下面有多个子菜单,子菜单下还有子菜单。。。 这时候就要用递归处理 1 定义多级菜单 修改 src/router/index.js 的 / 路由 { path: '/', redirect: '/dashboard', name: 'Container', component: Container,...

CSMA-CA介绍

本文主要介绍通讯领域中CSMA相关机制,本文全部资料来自于网络。 网络通讯,必须依靠介质来传递数据,将数据调制到模拟信号上,再把此信号通过介质传递到远方。根据介质的不同,分为有线网络和无线网络。为了让世界上各种各样的网络设备生产商生产的设备互联互通,他们必须遵循一定的“通讯语言“,就像一个中国人和美国人在一起,假如他们生产的设备只能够说“本国语言”,那碰在...

VUE 使用中踩过的坑

vue如今可谓是一匹黑马,github star数已居第一位!前端开发对于vue的使用已经越来越多,它的优点就不做介绍了,本篇是我对vue使用过程中以及对一些社区朋友提问我的问题中做的一些总结,帮助大家踩坑。如果喜欢的话可以点波赞,或者关注一下,希望本文可以帮到大家! 1.路由变化页面数据不刷新问题 出现这种情况是因为依赖路由的params参数获取写在cr...