感應器技術、嵌入式計算技術與無線通訊技術的快速發展,推動了無線感應器網路的發展。無線感應器網路是由許多廉價微型感應器節點組成,透過無線通訊方式形成一種多重跳轉自我組織的網路系統。它能夠透過協作即時監測、感知和採集網路分佈區域內的各種環境或監測物件的資訊,並對這些資訊進行處理。作為一種全新的資訊獲得和資訊處理方式,無線感應器網路是目前國際上備受關心的、知識高度整合的一個新興研究重點,在國民經濟建設和國防軍事上具有很高的應用價值。早在1999 年,美國《商業週刊》雜誌就將無線感應器網路列為21 世紀最具影響力的四大新興技術之一。
感應器節點將資訊採集、資料處理和無線通訊等多種功能整合在一起,是一個微型的嵌入式系統。微處理器的發展要求軟體系統對日益豐富的硬體資源提供有效、合理的管理;感應器網路的應用多樣化決定了感應器節點需要採集並處理多種資訊。為了有效地管理硬體資源和執行工作,並進步應用程式的開發效率,美國加州大學柏克萊分校的研究團隊為無線感應器網路量身訂制了TinyOS 作業系統。這是一個開放原始程式碼的嵌入式作業系統,能夠突破感應器節點硬體資源少的限制。目前在世界範圍內,有超過500 個研究小組或者公司在使用這個微型的作業系統。為了方便討論和吸收各方面的意見,現已成立了TinyOS 聯盟,由眾多研究小組共同開發和維護該作業系統。
TinyOS 作業系統是無線感應器網路中最為流行的作業系統,目前已經成為該領域事實上的標準平台。然而,目前中國關於TinyOS 作業系統的中文資料並不多,且較為分散,這給大專院校、科學研究機構和相關企業的研究人員帶來了諸多不便。筆者在研究無線感應器網路技術的同時,成立了TinyOS 作業系統研發討論群組。透過深入學習TinyOS 聯盟提供的外文資料,並結合中國愛好者的學習筆記,現將累積的理論研究和實作經驗整理成本書的內容,奉獻給對TinyOS 作業系統感興趣的讀者,希望本書能對讀者了解和學習該作業系統有一定的幫助。
本書旨在為初、中級讀者服務,由“入門”起步,偏重“進步”。為了便於學習,本書在撰寫過程中以理論加實際為主軸,提供豐富的實例,以圖文結合的方式闡述問題,文字通俗易懂。全書內容較為完整,涉及面廣,且有一定深度。首先介紹了TinyOS 系統的起源和系統架構,接著重點闡述了最基本的程式設計操作和核心知識,然後詳細描述並示範了平台移植、模擬工具、網路通訊協定以及高級應用開發的相關技術,最後詳細剖析了3 個基於TinyOS 系統的應用實例。對於每個知識點的講解,本書都從必備的基礎知識和基本操作開始,使讀者能夠快速便捷地掌握程式設計方法;同時著重系統核心的剖析,對具有一定TinyOS 作業系統基礎的開發人員,也有很高的參考價值。
本書適合於從事無線感應器網路系統開發的研究人員閱讀,也可作為大專院校相關專業和課程的教學參考書。
本書要求讀者具有一定的C 語言程式設計基礎,且了解微處理器方面的基礎知識,若具有一定的作業系統理論基礎就更好。如無特殊說明,本書提供的操作實例都是基於Crossbow 公司的micaz 硬體節點,執行環境為Windows 機器上的Cygwin平台,作業系統的版本為TinyOS 2.x。
如果這本書能夠把TinyOS 作業系統方面的研究成果展示出來,能夠把我們近年來的理論與實作的體驗表現出來,能夠對推動無線感應器網路作業系統的發展有一點幫助,那麼對所有曾為這本書付出過努力的人來說,將是最大的回報。