
ZigBee
yummy说电子
我开通公众号了,yummy说电子,以后多数的创作会在公众号更新,写的会更加随意逗比一点,看看能不能靠流量挣个奶茶钱,欢迎关注,ღ( ´・ᴗ・` )比心
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
zigbee网络各层的主要功能
摘自《Zigbee Wireless Network and Transceivers》 PHY–硬件层启动和禁用射频收发器传输和接收数据包选择信道频率执行能量检测CCA产生LQIMAC-介质访问控制层如果是协调器可以产生信标使用信标同步执行CSMA-CA处理GTS在两个对等MAC实体之间(不同设备)提供可靠的链接提供PAN关联和接触关联的服务提供安全支持NWK-网络原创 2016-10-26 11:29:26 · 11414 阅读 · 0 评论 -
zigbee(CC2530+ZSTACK)的AES加密
1.创建密钥 Z-STACK协议栈在配置文件f8wConfig.cfg定义了密钥:/* Default security key. */-DDEFAULT_KEY="{0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0D} 所以用户只需要修改-DDEFAU原创 2016-11-10 15:28:58 · 5197 阅读 · 2 评论 -
zigbee单播丢包测试(CC2530,ZSTACK)
之前写过一个zigbee数据测试,由于当时对zigbee理解的很浅,所以写的代码丢包严重。最近为了提高数据传输的可靠性,改进了一下通信的方式,结果还不错。 之前:协调器+普通终端节点,协调器广播,节点接收广播消息。 现在:协调器+路由节点,协调器记录路由的网络短地址进行点播(单播)。 这样改进的原因是: 1.如果普通终端节点接收数据,那么由于节点默认会定期进入休眠,所以会在休原创 2016-11-30 14:50:02 · 9415 阅读 · 10 评论 -
ZigBee(CC2530,ZSTACK)透传示例
使用ZSTACK进行透传是非常简单的一件事,ZSTACK协议栈已经封装好了函数,方便调用。 本例的透传是指CC2530通过串口接收数据,然后原封不动地通过无线数据包发送出去。无线数据包收到的数据,从串口发送。 串口接收(回调)函数static void SerialApp_CallBack(uint8 port, uint8 event){ (void)port; if ((eve原创 2016-11-19 09:53:30 · 8987 阅读 · 3 评论 -
ZIGBEE(CC2530,ZSTACK)串口波特率自适应
在使用ZigBee进行数据透传的时候,我遇到了这样的情况:负责采集数据的两个单片机之间的波特率不相同,一个是38400,另一个是115200,但是负责传输数据的CC2530除了波特率之外,其它的代码都一样,所以使CC2530可以自适应波特率的话,那么只需要准备一份代码,一种ZCC2530模块,可以方便使用。 处理的逻辑是这样的:38400波特率的单片机上电之后不停给CC2530发送数据“0x5原创 2016-11-19 13:29:50 · 6051 阅读 · 0 评论 -
zigbee提升最大节点数的一点点研究
zigbee网络中有一种地址叫做网络短地址,共有16位,最大值是0xFFFF,也就是65536,这个值就规定了理论上一个zigbee网络中最多能有设备65536个。 当然,实际上很难做到有这么多的节点。主要是因为zigbee节点的运算能力有限,加上CSMA/CA的避让(某节点检测空气中有数据的话就先不“说话”了),所以很难达到好几万个节点的网络。不过,还是有一些方法,可以增加网络中节点的总数。原创 2016-12-01 21:54:25 · 9999 阅读 · 7 评论 -
zigbee的网络寻址
zstack中的地址的介绍原创 2016-11-24 10:10:27 · 2038 阅读 · 0 评论 -
C语言如何输出回车换行
1 使用字符串,输出在一个字符串结尾加上“\r\n”,如“hello\r\n”; 2 使用字符数组拼接成字符串(在嵌入式c的使用中是常见的),在数组末尾增加0x0d和0x0a; 如unsigned char data[8] data[0] = ‘h’; data[1] = ‘e’; data[2] = ‘l’; data[3] = ‘l’; data[4] = ‘0’; data[5原创 2016-11-24 10:48:29 · 40611 阅读 · 0 评论 -
IARError[PA045]:function "XXX" has no prototype
这个报错的意思是没有函数没有原型,但有的时候是明明声明了原型的。解决这个问题的办法很简单,至少有两种方法。 1 调用无参函数的时候,括号内的参数要写void。如void show(void) 2取消勾选require prototype!原创 2016-11-28 14:24:25 · 6627 阅读 · 0 评论 -
zstack如何取消data request
data request是zigbee协议栈中,终端节点向其父节点发送的数据请求,目的是看父节点中有没有发送给自己的数据包。因为终端节点可能会经常进入休眠,休眠的时候如果父节点接收到了给终端节点的数据包,会暂时保存,等到它唤醒再给它。这个道理很简单,如果终端节点是个孩子,平时没事都睡觉,可能会有人给它送信。如果它睡着的时候有发给他的信件,就会由他的父亲保存信件,等到孩子(定时)醒了,就告诉父亲“我醒原创 2016-12-19 12:37:56 · 2615 阅读 · 2 评论 -
移植0.96OLED屏到CC2530的zstack协议栈
本文讲述如何将一款0.96寸的OLED显示屏移植到CC2530上,并且使用ZSTACK的API来获取MAC地址和PANID,并将这样的16进制数转为字符串用于显示。原创 2016-11-03 14:09:49 · 3669 阅读 · 9 评论 -
一个使用CC2530实现的Zigbee红绿灯
本文介绍了一个ZIGBEE小制作——使用CC2530来实现的红绿灯。这个例子使用协调器透传,可以接受别的控制单片机的串口命令,或者使用PC机的串口助手软件来给协调器发命令,控制节点中红绿灯的状态。节点上红黄绿三个交通灯都可以独立实现开,关或者闪烁。原创 2016-08-10 15:40:03 · 7605 阅读 · 13 评论 -
在ZSTACK中使用延时函数注意(附机器时钟指令周期)
关于Z-stack的延时,稍微总结几点使用中可能需要注意的地方: 1 同样的代码,裸机实验和在Z-stack中延时的时间可能是不一样的。2 请注意CC2530是加强型的51单片机3 在Z-stack中不要滥用定时器4 毫秒级的延时建议使用osal_start_timerEx这个定时器。原创 2016-08-10 14:54:40 · 9055 阅读 · 3 评论 -
在Z-stack增加一个新的设备,如何添加源文件
何在zigbee网络中添加一个新的设备时,需要在Z-stack中添加一些新的代码。本文介绍在IAR8.1与ZStack-CC2530-2.5.1a环境下如何添加这些代码。原创 2016-04-08 15:50:19 · 2913 阅读 · 0 评论 -
Z-stack协议栈中路由与普通节点的区别
本文介绍Zigbee网络中路由节点与普通终端节点的区别,以及在Z-stack协议栈中如何把两者的设备角色互换。原创 2016-04-19 09:15:57 · 5713 阅读 · 1 评论 -
Z-stack中OSAL任务机制分析
关于Zigbee协议栈Z-STACK的任务处理机制OSAL的分析与TasksCnt,TasksEvents,tasksArr[idx]的解析原创 2016-06-02 11:25:51 · 5045 阅读 · 0 评论 -
z-stack/cc2530协议栈如何修改LED的设置及HalLedBlink的使用
本文介绍了Z-stack中如何修改默认的LED的设置,并且讲解了HalLedBlink的函数,以及如何使用此函数简便的输出PWM波形。原创 2016-05-20 09:47:20 · 8029 阅读 · 1 评论 -
处理IAR无法设置断点的问题
今天遇到了IAR无法设置断点的问题。这个问题之前是没有遇到的,并且我这个工程之前也是可以设置断点的。用了一些网友的方法都没有解决问题,后来自己摸索了一个方法,记录一下: 在project下边点击clean,把已经编译好的文件删除,然后rebuild all,再重新下载程序,问题搞定。 以下是别的网友解决问题的方案,冒昧汇总一下: 1 Project->Options->linker->原创 2016-08-05 11:00:25 · 13394 阅读 · 0 评论 -
一个不严谨的zigbee数据丢失测试
注:本文基于笔者手中的一些CC2530模块测试,不具备普适性。 测试CC2530使用ZSTACK协议栈时,数据丢失的情况。 1 cc2530 采用zstack实际能够支持的最大节点数 2 协调器收发数据的能力原创 2016-08-18 09:56:23 · 4321 阅读 · 6 评论 -
解决CC2530在zstack中无法进入P0中断的问题
解决CC2530在zstack中无法进入P0中断的问题 最近使用CC2530控制一个超声波模块,需要使用外部中断P0接收数据,定时器来计时。裸机程序没有问题,移植进入ZSTACK的时候无法进入中断P0。 但是可以使用P1的中断。原创 2016-08-31 17:35:36 · 3925 阅读 · 2 评论 -
IAR中的断点与代码优化等级问题
本文可用来解决CC2530在ZSTACK下可以设置断点,调试的时候却无法到达这个断点的问题。其它在IAR中可以单步调试却无法进入断点的单片机也可以参考。 首先要确定勾选了C-SPY-specific extra output file 如果在A行设置的断点,单步调试的时候却只能到达A后边的某几行,可能的一个原因就是代码优化的等级太高了,导致编译器实际上没有在A行停顿。 解决办法: 在OP原创 2016-08-31 17:50:38 · 8117 阅读 · 0 评论 -
通俗易懂介绍一下ZigBee的特性
很多人都写过ZigBee的简介了,我也用自己的方式简单介绍一下ZigBee。 本篇文章主要讲述了ZigBee的三种设备角色,数据多跳,广播组播单播,冲突避免,数据加密等特性。设备的名字 由于人类世界的重名实在太烦人了,所以要坚决避免把这些麻烦带给zigbee同学,好在每一个zigbee同学都有一个全球唯一的名字,叫做MAC地址,也叫做IEEE地址或扩展地址。由于这个名字有64位,所以有时也称原创 2017-05-31 12:37:21 · 11279 阅读 · 4 评论