Zigbee是一种适用于短距离无线通信的低成本,低功耗,低速的新技术,可以嵌入各种电子设备中。该技术主要设计用于低速通信网络。它的最大特点是低功耗和联网功能,尤其是具有路由功能的联网功能。从理论上讲,ZigBee覆盖的通信领域可以无限扩展。
ZigBe包含3种节点类型,即:协调器,路由节点和终端节点。
协调器——启动网络和维护网络
终端节点——发送和接收数据。
在实际的Zigbee网络中,仅支持两种无线设备:全功能设备和简化功能设备。FFD可以提供所有IEEE802154协议服务,不仅可以发送和接收数据,还可以具有路由功能;最终节点负责收集数据,然后将其发送到协调点或路由节点进行处理。这三种类型的节点使ZigBee支持三种网络拓扑:星形结构,树形结构和网状结构
Zigbee协议无线通信技术的特点:
低速率:数据传输速率在10Kb/s〜250Kb/s之间
低功耗:在低功耗待机模式下,两节普通5号电池可以使用6到24个月
成本低:Zigbee数据传输速率低,协议简单,大大降低了成本
网络容量大:网络可容纳65,000个设备
短延迟:典型的搜索设备延迟为30ms,睡眠激活延迟为15ms,活动设备通道访问延迟为15ms。
数据安全性:Zigbee提供数据完整性检查和声音功能,采用AES-128加密算法,并且每个应用程序都可以灵活确定其安全属性
基于ZigBee技术的应用
数字家庭
自动抄表工业行业
医疗监控
首先,PC之间直接用zigbee通信的程序应该是有示例代码的;如果这个做好了的话,接下来可以把单片机看成透明的(推荐使用STC的12或是15系列的51单片机,因为这个51具有双串口);然后,通过max232连接单片机串口1,单片机串口2连接ZigBee,串口1接收什么,串口2就往外发送什么。在串口1接收的中断服务程序中加入显示的代码,就能实现51单片机与zigbee的连接
我用的是ZStack-143-121,你好好看一下TI公司给出的例程在Projects\zstack\Samples
\SimpleApp下,主要看SimpleSensorc和SimpleCollectorc,这里讲了将温度值相互传送的过程
。注意函数zb_SendDataRequest( 0xFFFE,SENSOR_REPORT_CMD_ID, 2, pData, 0,
AF_ACK_REQUEST, 0 )(在SimpleSensorc中);其中pData是一个数组,你可以将字符串放入其中
,比如可以
定义 pData[6]="zigbee";那么在SimpleCollectorc中的接收数据函数void
zb_ReceiveDataIndication( uint16 source, uint16 command, uint16 len, uint8 pData )接
收你要的数据
pData。比如:
void zb_ReceiveDataIndication( uint16 source, uint16 command, uint16 len, uint8 pData
)
{
if(pData[0]=='z')
{
HalLedSet( HAL_LED_1, HAL_LED_MODE_ON );//点亮LED1
}
}
学习zigbee关键在于多看官方给出的例程,基本的功能和用法都有
以上就是关于ZigBee技术的技术说明全部的内容,包括:ZigBee技术的技术说明、如何将zigbee加入到51系列单片机开发板上、你好,我们现在要做zigbee网络,就是由终端向协调器发送数据的程序不会,希望指教一二等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)