323、基于CC2420的ZigBee通信节点无线传感器网络系统设计

本文介绍了使用ATmega128L单片机和CC2420芯片搭建的低成本无线传感器网络,通过DS18B20传感器监测温度,实现节点间通信,并可扩展其他传感器。实验结果证明其稳定性及在小型任务中的应用潜力。
摘要由CSDN通过智能技术生成

毕设帮助、开题指导、技术解答(有偿)见文末。

目录

摘要

一、设计功能

二、实物图

三、原理图

四、PCB图

五、部分程序源码

六、资料包括


摘要

随着无线网络技术的快速发展,许多本来存在的网络服务逐渐走向成熟。近
几年来,IEEE 802.11 无线局域网络的普及以及 IEEE 802.16 无线宽带网络的商业
标准化都使得无线网络技术变得越来越重要,也有越来越多的相关应用和产品出
现。目前,基于 IEEE 802.15.4 协议的无线传感器网络,开始成为被广泛讨论和
研究的课题之一。
IEEE 802.15.4/ZigBee 技术是近年来通信领域中的研究热点,具有低成本、
低功耗、低速率、低复杂度的特点和高可靠性、组网简单、灵活等优势,被称为
无线传感器网络的国际标准。
本课题通过采用 ATmega128L 单片机和无线收发模块 CC2420 搭建了一个无
线传感器网络。CC2420 是挪威 Chipcon 公司推出的一款符合 IEEE 802.15.4 标准
的无线收发芯片,只需很少的外围元件就可以与单片机构成一个无线通信系统;
ATmega128L 微处理器是 ATMEL 公司生产的 RISC 结构的 8 位单片机。本文首
先简单介绍无线传感器网络,接着介绍 ATmega128L 单片机和 CC2420 射频芯片
的性能特点及控制方式,然后阐述了 2 个节点间无线通信的实现过程及调试方
法,最后在此基础上加上自定义网络协议,构建星形网络。试验结果表明,这种
传感器网络成本低,工作稳定,可以用于一些小型任务中。


关键词:无线传感器网络;IEEE 802.15.4 标准;ZigBee;ATmega128L;CC2420 

一、设计功能


1、设计实现了一种以CC2420为核心的无线传感器网络。

2、电脑上位机通过串口RS232跟板子通信。

3、采用DS18B20温度传感器检测温度进行传输。

4、有搭建传输好的框架系统,可以自行添加代码加入各种传感器传输,例如温湿度传感器SHTll、红外传感器BS520、光照度传感器PGM5506等等。


 

二、实物图

三、原理图

四、PCB图

五、部分程序源码

 
/***********************************************************************
* 请求终端节点发送温度数据的响应 (只对终端节点有效)
************************************************************************/
void app_RequestTemperature_ACK(void)
{
    unsigned char i; 
    float temp;
    
    app_FCF = APP_FCF_CMD;
    app_RequestOrAck = APP_ACK;
 
    app_TxBuffer[0] = app_FCF; 
    app_TxBuffer[1] = app_RequestOrAck;
  
    temp=ds18b20_temperature(0);   
    ftoa(temp,5,Temperature);     //转换浮点数temp为字符串temp_char,其中第二位参数指定四舍五入保留小数位(最多五位)。
       
    for(i=0;i<10;i++)
    {
        app_TxBuffer[i+2] = Temperature[i];
    }
    
    rfTxInfo.destAddr = rfSettings.pRxInfo->srcAddr;
    
    nwk_PackData(app_TxBuffer,11); 
    
}
 
 
 
void app_DriveNoteOut(void)
{
    unsigned char i;
        
    for(i=0;i<MAX_ADDRTABLE;i++)
    {
        if(neighbor[i].Avail)
        {  
            nwk_DriveNoteOut(neighbor[i].ShortAddr);
        }
    }
}
 
 
 
void app_SendData(void)
{
 
 

 
 
void app_PackData(void)
{
 
}
 
 
/***********************************************************************
* 应用层解包函数
************************************************************************/ 
void app_UnPackData(unsigned char *pPayload, unsigned char length)
{
    unsigned char temp0,temp1,j;
 
    
    temp0 = *pPayload++; 
 
    switch (temp0)
    {
        case APP_FCF_DATA:
        {
            break;
        }            
        case APP_FCF_CMD:  // 网络层命令

六、资料包括

需要完整的资料可以点击下面的名片,找我要资源压缩包的百度网盘下载地址及提取码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冠一电子设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值