Contiki 介紹及參考資料

注:文章轉(zhuǎn)自他處,未找到原創(chuàng)作者,有不妥之處請(qǐng)?jiān)瓌?chuàng)作者聯(lián)系筆者。

本文介紹了 Contiki 是什么献联、contiki 的特點(diǎn)、Contiki 事件驅(qū)動(dòng)(Event-driven) 編程模型厕吉、contiki 包含的無線網(wǎng)絡(luò)協(xié)議棧 6Lowpan/RPL/Coap酱固、仿真工具 Cooja/MSPsim、文件系統(tǒng) Coffee File system(CFS)头朱、shell 命令工具等,指出了 Contiki 的應(yīng)用領(lǐng)域运悲。最后給出了 Contiki 相關(guān)網(wǎng)站、教程和代碼等项钮。

Contiki操作系統(tǒng)介紹

Contiki 是一個(gè)開源的班眯、高度可移植的多任務(wù)操作系統(tǒng),適用于聯(lián)網(wǎng)嵌入式 系統(tǒng)和無線傳感器網(wǎng)絡(luò),由瑞典計(jì)算機(jī)科學(xué)學(xué)院(Swedish Institute of Computer Science)的 Adam Dunkels 和他的團(tuán)隊(duì)開發(fā)。Contiki 完全采用 C 語言開發(fā),可移 植性非常好,對(duì)硬件的要求極低,能夠運(yùn)行在各種類型的微處理器及電腦上,目 前已經(jīng)移植到 8051 單片機(jī)烁巫、MSP430署隘、AVR、ARM亚隙、PC 機(jī)等硬件平臺(tái)上磁餐。Contiki 適用于存儲(chǔ)器資源十分受限的嵌入式單片機(jī)系統(tǒng),典型的配置下 Contiki 只占用 約 2Kbytes 的 RAM 以及 40Kbytes 的 Flash 存儲(chǔ)器。Contiki 是開源的操作系統(tǒng), 適用于 BSD 協(xié)議,即可以任意修改和發(fā)布,無需任何版權(quán)費(fèi)用,因此已經(jīng)應(yīng)用 在許多項(xiàng)目中阿弃。

Contiki 操作系統(tǒng)是基于事件驅(qū)動(dòng)(Event-driven)內(nèi)核的操作系統(tǒng),在此內(nèi) 核上,應(yīng)用程序可以在運(yùn)行時(shí)動(dòng)態(tài)加載,非常靈活诊霹。在事件驅(qū)動(dòng)內(nèi)核基礎(chǔ)上, Contiki 實(shí)現(xiàn)了一種輕量級(jí)的名為 protothread 的線程模型,來實(shí)現(xiàn)線性的、類似 于線程的編程風(fēng)格渣淳。該模型類似于 Linux 和 windows 中線程的概念,多個(gè)線程共 享同一個(gè)任務(wù)棧,從而減少 RAM 占用脾还。Contiki 還提供一種可選的任務(wù)搶占機(jī)制、 基于事件和消息傳遞的進(jìn)程間通信機(jī)制入愧。Contiki 中還包括一個(gè)可選的 GUI 子系統(tǒng),可以提供對(duì)本地串口終端鄙漏、基于 VNC 的網(wǎng)絡(luò)化虛擬顯示或者 Telnet 的圖形 化支持嗤谚。

Contiki 系統(tǒng)內(nèi)部集成了兩種類型的無線傳感器網(wǎng)絡(luò)協(xié)議棧:uIP 和 Rime。 uIP 是一個(gè)小型的符合 RFC 規(guī)范的 TCP/IP 協(xié)議棧,使得 contiki 可以直接和 Internet 通信怔蚌。uIP 包含了 IPv4 和 IPv6 兩種協(xié)議棧版本,支持 TCP巩步、UDP、ICMP 等協(xié)議,但是編譯時(shí)只能二選一,不可以同時(shí)使用媚创。Rime 是一個(gè)輕量級(jí)為低功 耗無線傳感器網(wǎng)絡(luò)設(shè)計(jì)的協(xié)議棧,該協(xié)議棧提供了大量的通信原語,能夠?qū)崿F(xiàn)從 簡(jiǎn)單的一跳廣播通信,到復(fù)雜的可靠多跳數(shù)據(jù)傳輸?shù)韧ㄐ殴δ堋?/p>

Contiki操作系統(tǒng)特點(diǎn)

  • 事件驅(qū)動(dòng)(Event-driven)的多任務(wù)內(nèi)核

Contiki 基于事件驅(qū)動(dòng)模型,即多個(gè)任務(wù)共享同一個(gè)棧(stack),而不是每個(gè) 任務(wù)分別占用獨(dú)立的棧(如 uCOS渗钉、FreeRTOS彤恶、Linux 等)钞钙。Contiki 每個(gè)任務(wù)只 占用幾個(gè)字節(jié)的 RAM,可以大大節(jié)省 RAM 空間,更適合節(jié)點(diǎn)資源十分受限的 無線傳感器網(wǎng)絡(luò)應(yīng)用。

  • 低功耗無線傳感器網(wǎng)絡(luò)協(xié)議棧

Contiki 提供完整的 IP 網(wǎng)絡(luò)和低功耗無線網(wǎng)絡(luò)協(xié)議棧声离。對(duì)于 IP 協(xié)議棧,支 持 IPv4 和 IPv6 兩個(gè)版本,IPv6 還包括 6Lowpan 幀頭壓縮適配器,ROLL RPL 無線網(wǎng)絡(luò)組網(wǎng)路由協(xié)議芒炼、CoRE/CoAP 應(yīng)用層協(xié)議,還包括一些簡(jiǎn)化的 Web 工具, 包括 Telnet、http 和 web 服務(wù)等术徊。Contiki 還實(shí)現(xiàn)了無線傳感器網(wǎng)絡(luò)領(lǐng)域知名的 MAC 和路由層協(xié)議,其中 MAC 層包括 X-MAC本刽、CX-MAC、ContikiMAC赠涮、 CSMA-CA子寓、LPP 等,路由層包括 AODV、RPL 等笋除。

  • 集成無線傳感器網(wǎng)絡(luò)仿真工具

Contiki 提供了 Cooja 無線傳感器網(wǎng)絡(luò)仿真工具,能夠多對(duì)協(xié)議在電腦上進(jìn)行仿真,仿真通過后才下載到節(jié)點(diǎn)上進(jìn)行實(shí)際測(cè)試,有利于發(fā)現(xiàn)問題,減少調(diào)試工作量斜友。除此之外,Contiki 還提供 MSPsim 仿真工具,能夠?qū)?MSP430 微處理 器進(jìn)行指令級(jí)模擬和仿真。仿真工具對(duì)于科研垃它、算法和協(xié)議驗(yàn)證鲜屏、工程實(shí)施規(guī)劃、 網(wǎng)絡(luò)優(yōu)化等很有幫助国拇。

  • 集成 Shell 命令行調(diào)試工具

無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量多,節(jié)點(diǎn)的運(yùn)行維護(hù)是一個(gè)難題,contiki 可以通 過多種交互方式,如 Web 瀏覽器,基于文本的命令行接口,或者存儲(chǔ)和顯示傳 感器數(shù)據(jù)的專用程序等洛史。基于文本的命令行接口是類似于 Unix 命令行的 Shell 工具,用戶通過串口輸入命令可以查看和配置傳感器節(jié)點(diǎn)的信息酱吝、控制其運(yùn)行狀 態(tài),是部署也殖、維護(hù)中實(shí)用而有效的工具。

  • 基于Flash的小型文件系統(tǒng):CoffeeFileSystem

Contiki 實(shí)現(xiàn)了一個(gè)簡(jiǎn)單务热、小巧忆嗜、易于使用的文件系統(tǒng),稱為 Coffee File System (CFS),它是基于 Flash 的文件系統(tǒng),用于在資源受限的的節(jié)點(diǎn)上存儲(chǔ)數(shù)據(jù)和程 序。CFS 是充分傳感器網(wǎng)絡(luò)數(shù)據(jù)采集陕习、數(shù)據(jù)傳輸需求以及硬件資源受限的特點(diǎn)而 設(shè)計(jì)的,因此在耗損平衡霎褐、壞塊管理、掉電保護(hù)方面该镣、垃圾回收冻璃、映射機(jī)制方等 方面進(jìn)行優(yōu)化,具有使用的存儲(chǔ)空間少、支持大規(guī)模存儲(chǔ)的特點(diǎn)。CFS 的編程方 法與常用的 C 語言編程類似,提供 open省艳、read娘纷、write、close 等函數(shù),易于使用跋炕。

  • 集成功耗分析工具

為了延長(zhǎng)傳感器網(wǎng)絡(luò)的生命周期,控制和減少傳感器節(jié)點(diǎn)的功耗至關(guān)總重 要,無線傳感器網(wǎng)絡(luò)領(lǐng)域提出的許多網(wǎng)絡(luò)協(xié)議都圍繞降低功耗而展開赖晶。為了評(píng)估 網(wǎng)絡(luò)協(xié)議以及算法能耗性能,需要測(cè)量出每個(gè)節(jié)點(diǎn)的能量消耗,由于節(jié)點(diǎn)數(shù)量多, 使用儀器測(cè)試幾乎不可行。Contiki 提供了一種基于軟件的能量分析工具,自動(dòng) 記錄每個(gè)傳感器節(jié)點(diǎn)的工作狀態(tài)辐烂、時(shí)間,并計(jì)算出能量消耗,在不需要額外的硬 件或儀器的情況下就能完成網(wǎng)絡(luò)級(jí)別的能量分析遏插。Contiki 的能量分析機(jī)制既可 用于評(píng)價(jià)傳感器網(wǎng)絡(luò)協(xié)議,也可用于估算傳感器網(wǎng)絡(luò)的生命周期。

  • 開源免費(fèi)

Contiki 采用 BSD 授權(quán)協(xié)議,用戶可以下載代碼,用戶科研和商業(yè),且可以任意修改代碼,無需任何專利以及版權(quán)費(fèi)用,是徹底的開源軟件纠修。盡管是開源軟 件,但是 contiki 開發(fā)十分活躍,在持續(xù)不斷更新和改進(jìn)之中胳嘲。Contiki 的作者 Adam 是一個(gè)編程的天才,它發(fā)明了 LwIP、uIP扣草、Protothred了牛、contiki 等軟件,都在工 業(yè)界得到廣泛應(yīng)用,大家熟知的 LwIP 就是一個(gè)例子。Adam 還是 IPSO 組織的發(fā) 起人之一,未來將會(huì)不斷推進(jìn) 6Lowpan 的標(biāo)準(zhǔn)化及應(yīng)用辰妙。

總結(jié)

Contiki 完全 C 語言開發(fā)鹰祸、易于移植、支持大量的硬件平臺(tái)和開發(fā)工具密浑、事 件驅(qū)動(dòng)機(jī)制占用內(nèi)存小蛙婴、集成了多種無線傳感器網(wǎng)絡(luò)協(xié)議、無專利和版權(quán)費(fèi)肴掷、集 成仿真工具等特點(diǎn)和優(yōu)勢(shì),已經(jīng)成為無線傳感器網(wǎng)絡(luò)學(xué)術(shù)研究和產(chǎn)品開發(fā)的理想 平臺(tái),在歐洲已經(jīng)得到廣泛應(yīng)用,并逐漸得到其它地區(qū)開發(fā)人員的支持敬锐。隨著物 聯(lián)網(wǎng)、無線傳感器網(wǎng)絡(luò)的發(fā)展,IP 地址將耗盡,骨干網(wǎng)絡(luò)必將升級(jí)到 IPv6,因 此 6Lowpan 標(biāo)準(zhǔn)被越來越多的標(biāo)準(zhǔn)化組織所采納,研發(fā) 6lowpan 的人員將越來 越多,這將使得 contiki 很可能成為嵌入系統(tǒng)中的 Linux,在物聯(lián)網(wǎng)領(lǐng)域得到廣泛 應(yīng)用,發(fā)揮重要作用呆瞻。


參考資料

Contiki 官方網(wǎng)站
Contiki Wiki
Instant Contiki 開發(fā)環(huán)境
物聯(lián)網(wǎng)開發(fā)論壇
Contiki 源代碼文檔
Contiki 代碼下載
或者使用Git 工具下載 contiki 代碼:
git clone git://contiki.git.sourceforge.net/gitroot/contiki/contiki

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末台夺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子痴脾,更是在濱河造成了極大的恐慌颤介,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赞赖,死亡現(xiàn)場(chǎng)離奇詭異滚朵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)前域,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門辕近,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人匿垄,你說我怎么就攤上這事移宅」榉郏” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵漏峰,是天一觀的道長(zhǎng)糠悼。 經(jīng)常有香客問我,道長(zhǎng)浅乔,這世上最難降的妖魔是什么倔喂? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮靖苇,結(jié)果婚禮上席噩,老公的妹妹穿的比我還像新娘。我一直安慰自己顾复,他們只是感情好班挖,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著芯砸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪给梅。 梳的紋絲不亂的頭發(fā)上假丧,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音动羽,去河邊找鬼包帚。 笑死,一個(gè)胖子當(dāng)著我的面吹牛运吓,可吹牛的內(nèi)容都是我干的渴邦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼拘哨,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼谋梭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起倦青,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤瓮床,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后产镐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體隘庄,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年癣亚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丑掺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡述雾,死狀恐怖街州,靈堂內(nèi)的尸體忽然破棺而出蓬豁,到底是詐尸還是另有隱情,我是刑警寧澤菇肃,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布地粪,位于F島的核電站,受9級(jí)特大地震影響琐谤,放射性物質(zhì)發(fā)生泄漏蟆技。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一斗忌、第九天 我趴在偏房一處隱蔽的房頂上張望质礼。 院中可真熱鬧,春花似錦织阳、人聲如沸眶蕉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽造挽。三九已至,卻和暖如春弄痹,著一層夾襖步出監(jiān)牢的瞬間饭入,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工肛真, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谐丢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓蚓让,卻偏偏與公主長(zhǎng)得像乾忱,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子历极,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,262評(píng)論 25 707
  • 2017年無人駕駛還處于積極研發(fā)和普及期窄瘟,民用的測(cè)試和技術(shù)探索也主要在小型汽車方面,各大巨頭都將2020年作為一個(gè)...
    方弟閱讀 7,086評(píng)論 1 16
  • 出裝路線:怨靈系帶执解、吃樹寞肖、天鷹戒、草鞋衰腌、魂戒新蟆、動(dòng)力鞋、紫苑右蕊。(勛章琼稻、暗滅、大紫苑饶囚、蝴蝶帕翻、BKB鸠补、金箍棒) 核心裝:...
    baoerstudio閱讀 305評(píng)論 0 0
  • 高血脂可以引起心血管等多種疾病睬塌,很多患者經(jīng)常聽醫(yī)生說泉蝌,要少吃肉,減少脂肪攝入揩晴,可是我們也需要朋友聚會(huì)勋陪,我們也面臨饕...
    健康無界閱讀 241評(píng)論 0 0
  • 時(shí)常想起高中軍訓(xùn)的趣事 未滿16的我 總是聽很多小說里那纏綿而勇敢的愛情 同時(shí)也對(duì)自己可能會(huì)出現(xiàn)的懵懂而好奇 在我...
    丁酉年閱讀 182評(píng)論 0 0