Contiki学习入门之概览
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下载,经过漫长的等待,终于成功了。
密码是: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学习入门之概览的更多相关文章
- 每天成长一点---WEB前端学习入门笔记
WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...
- C# BackgroundWorker组件学习入门介绍
C# BackgroundWorker组件学习入门介绍 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能 ...
- 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV
这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...
- 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇
始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...
- UML学习入门就这一篇文章
1.1 UML基础知识扫盲 UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言. 你可能会问:这明明是一种图形,为什 ...
- 简单的玩玩etimer <contiki学习笔记之九 补充>
这幅图片是对前面 <<contiki学习笔记之九>> 的一个补充说明. 简单的玩玩etimer <contiki学习笔记之九> 或许,自己正在掀开contiki ...
- 简单的玩玩etimer <contiki学习笔记之九>
好吧,我承认etimer有点小复杂,主要是它似乎和contiki的process搅在一起,到处都在call_process.那就先搜搜contiki下的etimer的example看看,然后再试着写一 ...
- Stanford Parser学习入门(2)-命令行运行
在Stanford parser目录中已经定义了一部分命令行工具以及图形界面,本文将介绍如何在windows使用这些工具进行语法分析,Linux下也有shell可以使用. 关于如何搭建环境请参考上一篇 ...
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
随机推荐
- 动态SQL使用小结
1.什么是动态SQL? 静态 SQL:静态 SQL 语句一般用于嵌入式 SQL 应用中,在程序运行前,SQL 语句必须是确定的,例如 SQL 语句中涉及的列名和表名必须是存在的.静态 SQL 语句的编 ...
- sql优化-隐形转换危害
level 整形字段 a:select * form t_user where level =2; b:select * form t_user where level ='2'; b里面的隐形字段 ...
- Linux 内核动态函数调用可视化工具
要求: python .7以上 https://www.python.org/ftp/python/ EG:wget --no-check-certificate https://www.python ...
- 贪心算法(2)-Kruskal最小生成树
什么是最小生成树? 生成树是相对图来说的,一个图的生成树是一个树并把图的所有顶点连接在一起.一个图可以有许多不同的生成树.一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n ...
- Helpers\GeoCode
Helpers\GeoCode This function connects to google maps and retrieves the lat/lon of the address provi ...
- Qt增加webp格式支持
Webp 是一种图片文件格式,能在相同质量的情况下比 PNG 文件尺寸小巧. Chrome 应用商店图片已全部转换为 WebP 格式 YY(基于Qt开发)也已经把图片格式换成webp了 http:// ...
- 基于PHP的对接电子面单接口平台案例
电子面单接口目前有三种对接方式,快递电子面单接口.菜鸟电子面单接口和快递鸟电子面单接口.这三种接口各有特点. 一.电子面单接口定义 1. 快递电子面单接口:快递公司自己开发的电子面单服务, 商家使用必 ...
- 实用JS大全
****************************************************************(一)常用元素,对象,事件,技巧 事件源对象 event.srcElem ...
- cocos2d-x, protobuf, no config.h, #error "No suitable threading library available."
在用cocos2d-x3.2 + protobuf编译Android项目的时候,protobuf出现了两个问题: 1. 首先是config.h找不到,查阅自后说是通过命令或工具生成的,里面的内容根据不 ...
- 乐在其中设计模式(C#) - 单例模式(Singleton Pattern)【转】
介绍 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 示例 保证一个类仅有一个实例. Singleton using System; using System.Collections.Gene ...