標籤:
ZigBee 和 Tinyos
關於ZigBee和TinyOS
ZigBee的基礎是IEEE 802.15.4。但IEEE僅處理低級MAC層和物理層協議,因此Zigbee聯盟擴充了IEEE,對其網路層協議和API進行了標準化,這就是Z‐STACK,Z‐STACK協議棧是TI公司研發,通過ZigBee聯盟認證的免費協議棧,協議內部包括了WSN(無線感應器網路)的OS的模型,協議棧具有國際化,標準化的特點,協議棧已提供十幾種應用情境,可以非常輕鬆的讓使用者開發出滿足國際標準的產品。
TinyOS是一個空白的嵌入式作業系統(從TinyOS的安裝過程就可以感知),理論上支援任何WSN(無線感應器網路)的OS架構,但到目前為止還沒有一個基於TinyOS作業系統的ZigBee協議棧通過ZigBee同盟認證,因此TinyOS的應用受到很大限制,並且就IC晶片而言,TinyOS被最多應用的是基於TI公司04年出的CC2430晶片上,對於最新的ZigBee晶片CC2530則偶見於某些高校的實驗項目中。而ZigBee聯盟則完全支援CC2530,即ZStack‐CC2530‐2.3.0‐1.4.0協議棧(免費)
ZigBee和Z‐STACK環境
理論知識
C51編程(C語言或者組合語言)
單片機介面
單片機調試、下載和燒寫過程
所需應用程式
ZStack‐CC2530‐2.3.0‐1.4.0:協議棧(免費)
IAR System 8051 8302:IAR EW8051編譯器(許可證)
SmartRF Flash Programmer 1.9.0:FLASH燒寫(免費)
SmartRF04EB模擬器驅動(win_64bit_x64、win_32bit_x86):模擬器驅動程式(安裝SmartRF Flash Programmer時需要)
ZigBee Sensor Monitor 1.2.0:節點監視(可選)
RemoTI‐CC2530DK‐1.1:TI的開發組件(可選)
Packet Sniffer 2.13.2:抓包軟體(可選)
Eclipse:編程工具(可選)
TinyOS環境(Windows OS)
理論知識
Linux環境及常用Linux命令
Linux下CC2430編譯和燒寫
C,nesC兩種程式設計語言
C++,JAVA有一定瞭解
1/4頁
開發過程
將Tinyos2.x 移植到CC2430(CC2530) 編譯環境的構建流程:在 windows 下建立 cygwin 平台,並構建 TinyOS的編譯環境,然後將基於 TinyOS 的應用程式編譯成hex檔案,通過模擬器下載到CC2430(CC2530)晶片運行。
所需軟體(注意軟體版本)
Java JDK 1.5:JAVA開發平台
cygwin‐files:windows平台下的Unix環境
TinyOS‐2.x嵌入式作業系統
MSP430 Tools:CC2430 IC晶片工具包(不同的晶片需要不同的晶片包)
TinyOS8051wg‐0.1pre4.tgz:TinyOS支援8051晶片包
NesC:nesc編程工具包
graphviz‐1.10:可視化圖形軟體包
Giveo:燒寫介面程式包
以下程式表明在Windows環境下調試、下載和燒寫
IAR System 8051 8302:IAR EW8051編譯器(許可證)
SmartRF Flash Programmer 1.9.0:FLASH燒寫(免費)
SmartRF04EB模擬器驅動(win_64bit_x64、win_32bit_x86):模擬器驅動程式(安裝SmartRF Flash Programmer時需要)。
安裝過程
1. 安裝Java JDK
安裝JAVA JDK。jdk‐1_5_0‐windows‐i586.exe,安裝完成後,添加或修改系統變數。 變數名:JAVA_HOME
變數值:
C:\Program Files\Java\jdk1.5.0 (JDK安裝的路徑)
變數名:CLASSPATH
變數值:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
編輯系統變數PATH,添加:
;%JAVA_HOME%\bin; ;%JAVA_HOME%\jre\bin;
測試,MS‐DOS下,執行:JAVAC,得到關於JAVA的使用協助;執行:JAVA –version,
2/4頁
得到當前JAVA版本。表明JAVA配置基本正常。
2. 安裝Cgywin
解壓cygwin‐files.zip到臨時目錄,執行目錄中的setup,是典型的windows應用程式的安裝,安裝過程中需要選擇安裝路徑、安裝檔案路徑、安裝策略、工具選擇和安裝內容等。安裝完成後,將在案頭建立Cygwin的捷徑,該捷徑指向運行安裝目錄下的cwgwin.bat檔案。運行該檔案,進入Unix平台。可以嘗試一些簡單的Linux命令:
help: 協助命令。例如 ls ‐‐help 。顯示ls命令使用說明。
pwd:當前路徑。
rpm –qa :查看已經安裝的程式,剛安裝的Cygwin是沒有安裝任何系統的。
rpm –ivh 檔案名稱:rpm檔案安裝。
rpm –ignoreos –force或者rpm ‐ivh ‐‐force ‐‐ignoreos:忽略錯誤,安裝rpm檔案‐‐ignoreos選項是用於忽略cygwin的版本號碼。
cd:切換目錄。cd /tmp 進入tmp檔案。
cp:檔案複製,cp ‐R Blink BlinkSingle
ls:顯示檔案。
whoami:顯示登陸Windows帳號
uname –a: 顯示版本資訊
echo $PATH: 顯示執行程式的搜尋路徑
ps ax: 顯示process list ,顯示目前有哪些process 執行
ctrl‐D或exit 或logout:結束bash 視窗
motelist 查詢當前裝置
3. 運行cygwin,進入Unix環境,安裝MSP430開發包
rpm包如下: base
python tools
binutils
gcc
libc msp430tools‐base‐0.1‐20050607.cygwin.i386.rpm msp430tools‐python‐tools‐1.0‐1.cygwin.noarch.rpm msp430tools‐binutils‐2.16‐20050607.cygwin.i386.rpm msp430tools‐gcc‐3.2.3‐20050607.cygwin.i386.rpm msp430tools‐libc‐20080808‐1.cygwin.i386.rpm
將上述包複製到/opt/msp340/下,運行:
3/4頁
rpm ‐ivh ‐‐ignoreos *.rpm
4. 安裝C51移植
解壓TinyOS8051wg‐0.1pre4.tgz
tar –xvzf TinyOS8051wg‐0.1pre4.tgz
在/opt下產生一個目錄:tinyos‐2.x‐contrib。
5. 安裝TinyOS‐2.x 工具
rpm包如下 Deputy
tinyos‐tools
noarch tinyos‐deputy‐1.1‐1.cygwin.i386.rpm tinyos‐tools‐1.3.0‐1.cygwin.i386.rpm tinyos‐2.1.0‐2.cygwin.noarch.rpm
將rpm下載到到/opt/tinyos‐2.x/檔案夾下,運行:
rpm ‐ivh ‐‐ignoreos *.rpm
6. 安裝NesC編譯工具
rmp包如下:
NesC nesc‐1.3.0a‐1.cygwin.i386.rpm
將rpm下載到到/opt/tinyos‐2.x/檔案夾下,運行:
rpm ‐ivh ‐‐ignoreos *.rpm
7. 安裝graphviz‐1.10可視化圖形軟體包
在Windows環境下安裝graphviz‐1.10,注意版本和使用預設的安裝路徑。
8. 測試
Cygwin Shell中
Tos‐check‐env
如果所有的軟體包都安裝正確,則顯示:
toscheck completed without error
當個別軟體包安裝不正確時,會提示該軟體包的相關出錯資訊,可根據需要糾正錯誤或忽略錯誤。
Zigbee Z‐STACK協議棧和TinyOS