大部分教程通常都是已Zigbee原理開始講解和學(xué)習(xí),各種概念讓初學(xué)者難以理解。本教程從一個(gè)小白的角度出發(fā),入門無需任何Zigbee底層原理知識,只需要基本的MCU研發(fā)經(jīng)驗(yàn)就可以掌握,讓您快速實(shí)現(xiàn)zigbee組網(wǎng)和節(jié)點(diǎn)之間通信。
本教程采用泰凌微TLSR8258芯片,芯片資料鏈接TLSR825x Series - Telink wiki
硬件準(zhǔn)備
泰凌微TLSR8258模組一個(gè),并引出IO口4個(gè)(VCC,GND,SWD,PD7), PD7用于調(diào)試口打印輸出到PC。使用的模組為SNB信邦智能科技有限公司的模組(SNB是專業(yè)智能家居研發(fā)者,擁有10多年無線通信研發(fā)經(jīng)驗(yàn))
硬件連接只需要4根線,VCC,GND,SWD,PD7
開發(fā)環(huán)境搭建
下載SDK
TLSR825x Series - Telink wiki
下載開發(fā)工具
eclipse(這個(gè)eclipse非常難以使用的老古董代碼編輯器,入門后可以自行改成vscode等工具,通過make命令行來編譯)
IDE for TLSR8 Chips - Telink wiki
導(dǎo)入DEMO工程
下載SDK后,解壓到一個(gè)空白目錄中
編譯程序
Zigbee組網(wǎng)通信最小組成需要2個(gè)節(jié)點(diǎn)。一個(gè)協(xié)調(diào)器(sampleGW)加一個(gè)節(jié)點(diǎn)(sampleLight)
編譯協(xié)調(diào)器CO程序
編譯路由節(jié)點(diǎn)Light
編譯結(jié)果確認(rèn)
燒寫程序到芯片
如果在donwnload之前點(diǎn)擊erase按鈕為清除所有數(shù)據(jù)
您需要燒寫2個(gè)模塊
一個(gè)sampleGW_8258.bin 作為協(xié)調(diào)器
一個(gè)sampleLight_8258.bin 作為節(jié)點(diǎn)
至此,您已經(jīng)接近成功!下面通過修改sample例子少量的代碼來實(shí)現(xiàn)組網(wǎng)通信,并輸出結(jié)果到PC串口上
修改代碼
- sampleGW上電就打開網(wǎng)絡(luò)180秒,讓Light節(jié)點(diǎn)與GW節(jié)點(diǎn)組成相同的網(wǎng)絡(luò),Zigbee組網(wǎng)特性,如果不打開網(wǎng)絡(luò)無法組成網(wǎng)絡(luò)
- sampleGW協(xié)調(diào)器1秒1次廣播消息到light節(jié)點(diǎn)
- 修改使用PD7作為調(diào)試打印(printf)輸出,把調(diào)試信息輸出到PC上
sampleGW代碼修改
sampleGateway.c
增加一個(gè)函數(shù)enable_join
int enable_flg=0;
s32 enable_join(void *arg){
if(enable_flg==1){
//控制周期執(zhí)行只執(zhí)行1次
return 0;
}
enable_flg =1;
if(zb_isDeviceJoinedNwk()){
printf("Enable join\n");
u8 duration = zb_getMacAssocPermit() ? 0 : 180;
zb_nlmePermitJoiningRequest(duration);
}
return 0;
}
增加一行到user_init函數(shù)(入口函數(shù))
TL_ZB_TIMER_SCHEDULE(enable_join, NULL, 3000);
開啟調(diào)試打印
編譯后重新燒寫到協(xié)調(diào)器模塊
修改sampleLight節(jié)點(diǎn)代碼
重新編譯,燒寫到light節(jié)點(diǎn), 重新上電sampleGW節(jié)點(diǎn),正常情況下2個(gè)模塊會(huì)組成同一個(gè)網(wǎng)絡(luò)
啟動(dòng)PC上串口,就能看到打印信息了
創(chuàng)建了一個(gè)QQ討論組文章來源:http://www.zghlxwxcb.cn/news/detail-407917.html
100162816文章來源地址http://www.zghlxwxcb.cn/news/detail-407917.html
到了這里,關(guān)于十分鐘入門Zigbee的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!