十分钟入门Zigbee
创始人
2024-05-15 19:43:06
0

大部分教程通常都是已Zigbee原理开始讲解和学习,各种概念让初学者难以理解。本教程从一个小白的角度出发,入门无需任何Zigbee底层原理知识,只需要基本的MCU研发经验就可以掌握,让您快速实现zigbee组网和节点之间通信。

本教程采用泰凌微TLSR8258芯片,芯片资料链接TLSR825x Series - Telink wiki

硬件准备

泰凌微TLSR8258模组一个,并引出IO口4个(VCC,GND,SWD,PD7), PD7用于调试口打印输出到PC。使用的模组为SNB信邦智能科技有限公司的模组(SNB是专业智能家居研发者,拥有10多年无线通信研发经验)

硬件连接只需要4根线,VCC,GND,SWD,PD7

开发环境搭建

下载SDK

TLSR825x Series - Telink wiki

下载开发工具

eclipse(这个eclipse非常难以使用的老古董代码编辑器,入门后可以自行改成vscode等工具,通过make命令行来编译)

IDE for TLSR8 Chips - Telink wiki

导入DEMO工程

下载SDK后,解压到一个空白目录中

编译程序

Zigbee组网通信最小组成需要2个节点。一个协调器(sampleGW)加一个节点(sampleLight)

编译协调器CO程序

编译路由节点Light

编译结果确认

烧写程序到芯片

如果在donwnload之前点击erase按钮为清除所有数据

您需要烧写2个模块

一个sampleGW_8258.bin 作为协调器

一个sampleLight_8258.bin 作为节点

至此,您已经接近成功!下面通过修改sample例子少量的代码来实现组网通信,并输出结果到PC串口上

修改代码

  • sampleGW上电就打开网络180秒,让Light节点与GW节点组成相同的网络,Zigbee组网特性,如果不打开网络无法组成网络
  • sampleGW协调器1秒1次广播消息到light节点
  • 修改使用PD7作为调试打印(printf)输出,把调试信息输出到PC上

sampleGW代码修改

sampleGateway.c

增加一个函数enable_join


int enable_flg=0;
s32 enable_join(void *arg){if(enable_flg==1){//控制周期执行只执行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函数(入口函数)

TL_ZB_TIMER_SCHEDULE(enable_join, NULL, 3000);

开启调试打印

编译后重新烧写到协调器模块

修改sampleLight节点代码

重新编译,烧写到light节点, 重新上电sampleGW节点,正常情况下2个模块会组成同一个网络

启动PC上串口,就能看到打印信息了

认识我

http://cn.snbie.cc/me/me.jpeg

相关内容

热门资讯

李磊泪洒足协杯决赛,国安时隔七... 2023年12月6日晚,苏州奥体中心体育场迎来了万众瞩目的足协杯决赛,北京国安与河南队展开了激烈的对...
让人怀疑世界的16个真实故事:... 有些真实发生过的事情比电影还离谱。 百事可乐员工想卖可口可乐配方结果百事直接举报了对方。 无人驾驶的...
观山湖区人社局联合朱昌镇开展乡... 为深入推进社保政策下乡入户,让乡村群众充分享受社保惠民红利,2025 年 11 月 6 日,贵阳市观...
焦点访谈丨法律明白人 让宪法带... 12月1日到7日,是全国第8个“宪法宣传周”。今年的主题是:“学习宣传贯彻习近平法治思想,推动宪法深...
海关律师、走私辩护律师邵丹:查... 近日,皇岗海关在皇岗口岸旅检出境渠道查获一名旅客走私港币70万元整。 当日,皇岗海关关员在皇岗口岸...
荷兰大臣承认:没想到中方真的叫... 【文/观察者网 阮佳琪】 荷兰政府强抢中资企业,险些引发全球车企“停工潮”。随着本周荷兰议会听证会...
驻日美军侵犯少女,日本不敢起诉... 【温馨小提示】: 大家也可在小号找到我,关注起来,以后不失联~ 驻日美军在日本为非作歹,已经到了非常...
俄罗斯终止与加拿大、法国和葡萄... 央视新闻消息,根据俄罗斯法律门户网站5日发布的信息,俄罗斯总理米舒斯京3日签署政府决议,终止俄罗斯与...
因侵害商标权纠纷,格力电器起诉... 天眼查APP显示,近日,珠海格力电器股份有限公司新增一则开庭公告,案由为“侵害商标权纠纷”,原告为珠...