物联网的操作系统——TinyOS--华夏物联网

亚洲男人的天堂在线播放,久久99精品久久久久久清纯,日本乱人伦片中文三区,亚洲精品中文字幕乱码三区,777亚洲熟妇自拍无码区

物聯網的操作系統——TinyOS

技術研究
華夏物聯網編輯
2010-08-15
[ 導讀 ] 在物聯網的世界里,一個智能終端節點的存儲空間往往不足100KB,那么如何在這么小的空間里高效穩定的運行多進程多任務的程序呢?TinyOS的誕生為我們提供了一個完美的解決方案。

 

  TinyOS的介紹

  TinyOS是一款開源的嵌入式操作系統,它基于一種組件(Component-Based)的架構方式,使得能夠快速實現各種應用。它的首先出現是做為UCBerkeley和IntelResearch合作實驗室的杰作,用來嵌入智能微塵當中,之后慢慢演變成一個國際合作項目,即現在的TinyOS聯盟。它設計之初的目的是制作一個專屬嵌入式無線傳感器網絡(WSN,wirelesssensornetwork)的操作系統。但事實上,由于良好的可擴展性和足夠小的代碼尺寸,TinyOS在物聯網的應用領域中也占有非常重要的地位;

  TinyOS作為一個專業性非常強的操作系統,主要存在如下幾個特點:

  1.擁有專屬的編程語言

  TinyOS應用程序都是用NesC編寫,其中NesC是標準C的擴展,在語法上和標準C沒有區別,它的應用背景是傳感器網絡這樣的嵌入式系統,這類系統的特點是內存有限,且存在任務和中斷兩類操作,它的編譯器一般都是放在TinyOS的源碼工具路徑下。

  2.開放源代碼

  所有源碼都免費公開,可以訪問官方網站www.tinyos.net去下載相應的源代碼,由全世界的TinyOS的愛好者共同維護,目前最新的版本是2.1.1。

  3.基于組件的軟件工程建構

  TinyOS提供一系列可重用的組件,一個應用程序可以通過連接配置文件(AWiringSpecification)將各種組件連接起來,以完成它所需要的功能。

  4.通過Task和Events來管理并發進程

  Tasks:一般用在對于時間要求不是很高的應用中,且tasks之間是平等的,即在執行時是按順序先后來得,而不能互相占先執行,一般為了減少tasks的運行時間,要求每一個task都很短小,能夠使系統的負擔較輕;支持網絡協議的替換。

  Events:一般用在對于時間的要求很嚴格的應用中,而且它可以占先優于tasks和其他events執行,它可以被一個操作的完成或是來自外部環境的事件觸發,在TinyOS中一般由硬件中斷處理來驅動事件。

  5.支持網絡協議組件的替換

  除了默認的協議之外,還提供其他協議供用戶替換,并且支持客戶自定義協議,這對于通信協議分析,非常適用于通信協議的研究工作。

  6.代碼短小精悍

  TinyOS的程序采用的是模塊化設計,所以它的程序核心往往都很小,一般來說核心代碼和數據大概在400Bytes左右;能夠突破傳感器存儲資源少的限制,這能夠讓TinyOS很有效的運行在無線傳感器網絡上并去執行相應的管理工作等。

  如何安裝TinyOS的開發環境

  若要進行TinyOS的開發研究,先得安裝好TinyOS的開發環境,[FS:PAGE]由于NesC的編譯器ncc只能運行在Unix環境下,TinyOS開發環境有三種安裝方式:

  一、獨立啟動的Linux

  官方提供rpm包和deb包,一般建議使用Ubuntu9.04或是RHEL5

  二、Windows+Cygwin

  Cygwin是一個軟件集合,支持用于各種版本的MicrosoftWindows上,運行UNIX類系統,ncc可以運行在Cygwin上,使用這種方式的人最多

  三、VMware+Xubuntu

  在TinyOS.net上可以下載到一個包含完整TinyOS開發環境的Xubuntu虛擬機鏡像文件,只要在PC上安裝好VMwareplayer即可使用,這個方式最快捷,但是由于是虛擬機的方式,所以編譯速度比較慢

  不論是哪種方式安裝的流程基本都是一樣的:

  1.安裝JDK1.6,用于WSN基站或是WSN網關與PC機的交互

  2.安裝Cygwin,僅當第二種安裝方式才需要安裝

  3.安裝平臺交叉編譯器,用于將C代碼交叉編譯成很終端設備可以運行的二進制文件,一般來說有AVR、MSP430、8051、ARM這幾種類型

  4.NesC編譯工具,TinyOS都是基于NesC語言寫的,所以需要NesC編譯工具將其編譯成C代碼,編譯后的C代碼就可以交給平臺交叉編譯工具了

  5.TinyOS源碼樹,所有的TinyOS源代碼都在這里,可以通過Git或CVS方式進行版本管理,目前最新的版本是2.1.1

  6.安裝Graphvizvisualization工具,TinyOS開發環境包含nesdoc工具,該工具可以自動生成可視化的模塊關系圖表,幫助開發人員觀看源代碼,而該工具依賴于Graphvizvisualization工具

  7.設置環境變量,主要是將各個工具的路徑添加到Shell環境變量中去

  TinyOS的開發過程


  如圖所示,TinyOS的編譯+下載的過程可以分成如下階段:

  1.使用NesC編寫程序源代碼,源代碼的后綴為*.nc,可以用各種支持C高亮的編寫器,這里筆者推薦Notepad++;

  2.將*.nc的源代碼通過NesC編譯器ncc編譯成標準C文件,這里要注意的是:ncc編譯器只能將*.nc文件編譯成C代碼,并不能直接生成二進制代碼,所以在安裝開發環境時,必須根據自己的開發平臺選擇對應的交叉編譯工具;

  3.使用與硬件平臺相關的C交叉編譯工具將標準C文件編譯成可執行的二進制文件,筆者用的硬件平臺是CC2430芯片,它的核心CPU是8051,那么就可以使用各種8051的C編譯器,例如Keil或是IAR

  4.通過編寫器將二進制可執行文件下載到硬件平臺上,筆者用的是CC2430芯片,對應的編程器是SmartRF04FlashProgrammer

  TinyOS的調試是比較麻煩的,因為調試工具都不支持NesC語法,只能先調試NesC編[FS:PAGE]譯生成的C文件,然后根據C代碼中的注釋語句反查NesC源碼;

  TinyOS開發平臺介紹

  國內目前可以買到的TinyOS開發平臺主要有兩種,一種是Crossbow公司WSN開發套件,一種億道電子的XSBase-WSN開發套件;

  1.Crossbow本身就是TinyOS聯盟的成員之一,其所有產品都在TinyOS源碼的Platform目錄下可以找到,可以算得上是TinyOS技術商用化的代表;在國內有一家代理,開發平臺的做工非常不錯,產品覆蓋面也比較廣,主要的缺點就是產品太貴,而且中文的資料較少。

  2.億道電子的WSN套件真是筆者目前正在使用的開發平臺,它使用是較先進CC2430芯片,同時支持TinyOS和Z-stack兩種開發方式,并且包含大量的中文教材和使用手冊,硬件移植的也非常穩定,所有的TinyOS測試用例都能正常運行,而且還帶了大量的中文教材、使用手冊和實驗用例,所以筆者個人認為作為WSN的驗證開發平臺性價比更高。其中值得一提的是,該產品搭建了一整套的解決方案框架,實現了異構網絡之間的互聯互通,可以在任何一地通過GPRS手機上網,訪問節點上的物理數據,開發者可以迅速的在這個框架下做二次開發。

  TinyOS開發案例

  目前有多個采用TinyOS的研究項目,如UCLA(加州大學洛杉磯分校)的ShahinFarshchi在進行一項以TinyOS為基礎的無線神經界面研究。這樣的系統在100Hz/頻道的采樣頻率下可傳感、放大、傳輸神經信號,系統小巧、成本低、重量輕、功率小。系統要求一個接收器接收、解調、顯示傳輸的神經信號。在每秒8bit的采樣率下,系統的速度可達5600。該速度可保證8個EEG頻道、或1個速度為每秒5.6K采樣頻道的可靠傳輸。研究者目前的奮斗目標是提高該基于TinyOS的傳感網絡的數據傳輸速度,設計與被測對象連接的前端神經放大電路。

  //www.ee.ucla.edu/~judylab/research/projects/Shahin/index.htm

  路易斯安娜州立大學和位于BatonRouge的南方大學的Nian-FengTzeng博士正在研究應用于石油/氣體開發和管理的UcoMS(UbiquitousComputingandMonitoringSystem,泛計算和監控系統)。該系統適用于傳感網絡、無線通信和網格計算,主要功能包括幫助鉆孔、操作數據記錄和處理、在線平臺信息發布和顯示、設備監控/入侵檢測、地震處理、復雜表面設備和管道的管理。也可使用UCoMS監控、維護淘汰的平臺。

  //www.ucoms.org

  另外,Freescale正在其Zigbee開發板上測試TinyOS和TinyDB。

  波士頓大學的WeiLi將其用于傳感網絡的控制和優化:

  //people.bu.edu/wli

[FS:PAGE]

  BrilliantTechnology將其用于無線傳感網絡進行結構健康監測:

  //www.tBrilliant.com

【聲明】物流產品網轉載本文目的在于傳遞信息,并不代表贊同其觀點或對真實性負責,物流產品網倡導尊重與保護知識產權。如發現文章存在版權問題,煩請聯系小編電話:010-82387008,我們將及時進行處理。

相關文章

快速成功地連接物聯網產品的5個技巧

對于物聯網設備制造商來說,蜂窩物聯網是實現互聯網連接的最可靠和最容易獲得的方式之一。根據ABIResearch的數據,到2026年,全球蜂窩物聯網設備總數將達到57億。蜂窩物聯網的采用正在增長,因為它易于部署和擴展。您只需要一...

08月30日 11:32千家網

江西:到2023年底物聯網產業規模突破2000億元

5月19日,記者從江西省工信廳獲悉,為深入實施數字經濟做優做強“一號發展工程”,加快江西物聯網新型基礎設施建設,江西省工信廳、省委網信辦、省科技廳等9部門聯合出臺《江西省加快推進物聯網新型基礎設施建設實施方案》(以下簡稱《方案...

05月19日 15:55大江快報

物聯網加速融入生活場景,智能家居設備能做什么?

智能設備和物聯網已經進入現代家庭生活的幾乎所有方面。從您的安全系統到冰箱,“智能”電器已成為新常態。但它們真的能讓你的家變得更好嗎?或者所有這些智能家電只是另一種時尚,從長遠來看,您最終會后悔花額外的錢?讓我們來看看在家里裝滿...

06月01日 20:48千家網

京東方:物聯網創新業務打開更多增長空間

  從北京大興國際機場,到莫斯科城鐵列車,再到紐約商超門店,如今,物聯網創新解決方案已覆蓋全球眾多地區、涉及生活的方方面面,帶給人們全新的體驗。而這一改變的背后,正是京東方在物聯網領域取得的豐碩成果。夯實全球半導體顯示霸主地位...

05月28日 10:00人民政協報

5G如何改善物聯網部署的6個示例

隨著數字化轉型如火如荼地進行,連接的設備數量正在快速增長。IDC數據預測,到2025年,每分鐘連接的物聯網設備將達到152,200臺。雖然這將轉化為更多的數據,從而有更多的途徑來提高效率,但對于這種數據交換來說,一個強大的網絡...

03月22日 15:21千家網