一開始學zigbee,真的是沒有頭緒,研讀了許多文件與論壇的教學之後,總算出了點皮毛來了。在台灣,真的找不到一個像樣的教學論壇,就連代理zigbee的廠商也很少,技術support的部份,就更不用說了。反而大陸的相關應用比較多,難道…這真的是非主流的規格嗎?辜且不論主流與否,反正就當是多學一項工具,我就是要用zigbee來達到目的,那就一點一滴的累積經驗吧!
首先,我認為必需要先讓硬體對我們示出”好感”,有個”好感”之後才能學的下去。就像學c也要先來”hello world”一樣的意思。
所以我初期設定了幾個條件:
第一:讓開發板上的LED 1亮起來。表示我能控制它了^^(卓越感)。
第二:點對點的2.4G RF無線控制LED亮。表示通訊正常^^(爽度100%)
第三:建立組網功能。(未來再說~)
先介紹一下開發環境與使用工具:
作業系統:Windows 7 32bit
開發程式:IAR Assembler for 8051 8.10.1 (8.10.1.40194)
硬體架構:TI SmartRF05 EB 1.8.1 + CC2530F256 EM 1.3.1
IAR Embedded Workbench IDE
Zigbee開發套件所附的組件
實作一:讓開發板上的LED 1亮起來。
開啟iar程式,並且設定好相關參數。
Step….
1. 開啟Iar Embedded Workbench程式
2. 選擇Project à Create New Project…
3. 用預設的空白專案就好。
4. 建造一個新的資料夾,方便之後管理,我取的是test
5. 在左方的文件上按右鍵àOptions…我們要做一些設定。
6. 選擇我們使用的ic型號:我用的是CC2530F256(注意路徑!!!)
7. 第一項:General Options的部份,照著下圖做設定。
8. Linker的設定,注意Override default是不是你的ic型號。
9. Debugger的部份,選擇Driver為Texas Instruments.
10. 接下來要新增一個.c的文件。
11. 將此文後面的程式碼copy貼上。
12. 進行存檔test.c。
13. 在左邊欄位的文字上按右鍵,加入剛剛編好的.c檔
14. 左鍵點擊上方三角型的小圖示。
15. 選擇你要執行的裝置。(開發板電源需打開)
16. 注意滑鼠游標位置。點下去表示全速執行此程式。
執行到這裡,你應該看到你的開發板上的LED在閃礫了吧!沒錯,你可以控制此板子了,不過,這只單純是mcu硬體的控制而已,完全無關zigbee無線的架構,但藉由此實驗,即可稍微解除對zigbee這套開發板的陌生感了。
//*****以下為Test.c程式內容:******
#define uint unsigned int
#define uchar unsigned char
//定義控制燈的端口
#define RLED P1_0 //定義LED1為P10口控制
#define YLED P1_1 //定義LED2為P11口控制
#define OLED P1_2 //define LED3為P12
//函數聲明
void Delay(uint); //延時函數
void Initial(void); //初始化P0口
/****************************
//延時
*****************************/
void Delay(uint n)
{
uint tt;
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
}
/****************************
//初始化程序
*****************************/
void Initial(void)
{
P1DIR |= 0x07; //P10、P11定義為輸出+P12
RLED = 1;
YLED = 1; //LED
OLED = 1;
}
/***************************
//主函數
***************************/
void main(void)
{
Initial(); //調用初始化函數
RLED = 0; //LED1
YLED = 0; //LED2
OLED = 0;
while(1)
{
YLED = !YLED;
Delay(10000);
RLED = !RLED;
Delay(10000);
OLED = !RLED;
//RLED = !RLED;
Delay(10000);
YLED = !OLED;
Delay(10000);
}
}
5 意見:
很棒的介紹 可惜的是圖太小@@"
請問,目前有台灣有哪一家公司,已經在做 zigbee結合LED E27 燈泡? 像philip的hue, http://www.meethue.com/en-US
去年還在做這的時候,還沒有看到有人在做,因為zigbee太貴了,但現在我不知道,我想應該還是沒有人用吧。而且燈的控制也用不到太複匝的設計。一般2.4G RF就能達成了。當初會用zigbee,是因為要做"連網"的設計,需要很多的演算法,才會考慮zigbee。若只是單純控制個LED燈的話,建議不需要用到zigbee。
請問大大有再幫人外包程式嗎?
http://140.124.61.160/TIM/FileUpload/20656/WSN%E8%BB%9F%E9%AB%94%E8%A6%8F%E6%A0%BC.docx
weng-fong@hotmail.com 莊先生
請問大大有建議的開發板套件嗎?小弟不管是在台灣的露天和對岸的淘寶,看到太多的套件,不知道哪一種比較適合新手入門?
張貼留言