CC2530实现协议栈网络通信实验(组播)

合集下载

【无线通信篇Zstack协议栈】CC2530ZigbeeZstack协议栈组网项目及详细讲解篇

【无线通信篇Zstack协议栈】CC2530ZigbeeZstack协议栈组网项目及详细讲解篇

【⽆线通信篇Zstack协议栈】CC2530ZigbeeZstack协议栈组⽹项⽬及详细讲解篇物联⽹⽆线通信技术,ZigBee⽆线传感⽹络CC2530最⼤的特点就是⼀个拥有⽆线收发器(RF)的单⽚机,既能实现单⽚机功能,也能实现⽆线传输Zstack协议栈是ZigBee协议栈⾥的翘楚,是ZigBee组⽹的⾸选协议栈项⽬实现功能:l 总共有三个端点,⼀个协调器和两个终端节点l 终端节点1连接DHT11温湿度传感器,定时上传给协调器l 终端节点2连接LED,可以通过协调器按键控制,定时上报LED开关状态l 协调器连接12864 OLED 屏幕,实时显⽰温湿度和LED状态l 协调器可以通过按键控制终端2的LED开关,控制后将会显⽰控制结果扩展功能(当前未实现,可进⼀步开发实现):l 连接协调器串⼝,将终端节点采集的数据通过串⼝发送,PC写上位机实现数据展⽰l 连接WIFI或者4G模块,WIFI模块如ESP8266,实现数据局域⽹⽆线传输或者上传到OneNET、机智云、阿⾥云、⾃⼰开发云服务器等,实现WEB或⼿机APP显⽰和控制。

⼀、项⽬测试(可想⽽知,⼴州的天⽓有多热,39℃了都)实现功能汇总:l 总共有三个端点,⼀个协调器和两个终端节点l 终端节点1连接DHT11温湿度传感器,定时上传给协调器l 终端节点2连接LED,可以通过协调器按键控制,定时上报LED开关状态l 协调器连接12864 OLED 屏幕,实时显⽰温湿度和LED状态l 协调器可以通过按键控制终端2的LED开关,控制后将会显⽰控制结果(⼀) 环境汇总芯⽚:CC2530F256Zstack协议栈:ZStack-CC2530-2.5.1a编程环境:IAR(⼆) 引脚分配协调器:128*64 OLED 0.96⼨屏幕供电:3.3V通信协议:IIC引脚:SDA P0_6SCL P0_7按键:IO:P0_1下降沿触发中断终端1:DHT11:通信⽅式:单总线协议供电:3.3VIO:P0_6终端2:LEDIO:P1_0说明:⾼电平点亮,低电平熄灭⼆、基础认识(⼀) CC2530单⽚机CC2530最⼤的特点就是⼀个拥有⽆线收发器(RF)的单⽚机,既能实现单⽚机功能,也能实现⽆线传输。

无线通信技术综合训练实验指导书I(CC2530基础)2

无线通信技术综合训练实验指导书I(CC2530基础)2

无线通信技术综合训练实验指导书 ICC2530 基础第二章 CC2530 开发平台2.1 硬件平台1. CC2530 模块 CC2530 模块基于 TI CC2530 主芯片,可以实现串口(UART)转 Zigbee 无线数据透明传输,模块 可以分别设置为 Router 和 Coordiantor。

上电自动组网, 网络内模块如掉电, 网络具备自我修复功能。

模块重要参数: 输入电压:DC3.3V; 串口速率:38400bps(默认),可设置 9600bps、19200bps、38400bps、57600bps、115200bps; 无线频率:2.4GHz; 无线协议:Zigbee2007; 传输距离:可视距离 400 米; 接收/发射电流:发射时,34mA(最大);接收时,25mA(最大); 主芯片:TI CC2530F256,256K Flash。

CC2530 模块如图 2-1 所示。

(a)实物图 图 2-1 CC2530 模块图(b)引脚图CC2530 模块引脚功能如表 2-1 所示。

表 2-1 CC2530 模块引脚功能表 J1 1 3 5 7 9 11 Debug_D P1.7 P1.5 P1.3 LED_2 NC 2 4 6 8 10 12 Debug_C P2.0 P1.6 P1.4 P1.2 NC 1 3 5 7 9 11 Reset_N SW1 TX RTS P0.7 GND J2 2 4 6 8 10 12 P0.0 RX CTS P0.6 LED_1 3.3V In 第 15 页第二章 CC2530 开发平台2. 主从节点开发板 (1)主节点结构 主节点作为网络中的协调器,具有建立和管理网络的功能。

在本套实验设备当中配置的主节点 结构图如图 2-2 所示。

LCD 显示屏JP3图 2-2 主节点功能模块图ZigBee 模块:CC2530F256 系列的 CC2530 模块; JP1:DEBUG 程序下载接口; JP3:电源接口 5V 电源; JP5:串口输出; 复位键:对主节点进行复位; S1\S2:按键 1、按键 2; S3:电源开关; LCD 显示屏:显示从节点发来的数据; U4:光照度传感器; U5:温湿度传感器; LED1/LED2:LED 显示,作为信号灯显示物联网部分信息。

基于CC2530的Zigbee无线传感网络的设计与实现

基于CC2530的Zigbee无线传感网络的设计与实现

基于CC2530的Zigbee无线传感网络的设计与实现二、硬件设计1. CC2530芯片CC2530是德州仪器(TI)公司推出的一款具有Zigbee通信功能的片上系统(SoC)芯片,集成了802.15.4无线通信功能以及8051微控制器。

CC2530具有低功耗、快速响应、可靠性高等特点,适合用于构建Zigbee传感网络。

2. 传感器节点传感器节点是Zigbee网络中的重要组成部分,它可以通过各种传感器采集环境信息,并通过无线网络发送到协调器节点。

传感器节点通常包括温度传感器、湿度传感器、光敏传感器等,以满足不同的监测需求。

3. 协调器节点协调器节点是Zigbee网络中的核心节点,负责网络管理、数据协调、安全认证等功能。

在本设计中,我们选择CC2530作为协调器节点的芯片,通过其内置的Zigbee功能实现网络连接和数据传输。

4. 网络拓扑在设计Zigbee无线传感网络时,需要考虑网络拓扑结构,一般可以选择星型、网状或者混合型拓扑结构。

根据实际应用需求,可以灵活选择合适的网络拓扑结构。

三、软件开发1. Zigbee协议栈在基于CC2530的Zigbee无线传感网络中,需要使用Zigbee协议栈来实现Zigbee协议的各层功能,包括PHY层、MAC层、网络层和应用层等。

TI 公司提供了针对CC2530芯片的Z-Stack协议栈,可以帮助开发者快速实现Zigbee通信功能。

2. 网络配置在软件开发过程中,需要对Zigbee网络进行配置,包括节点连接、网络路由、数据传输等方面。

通过Z-Stack协议栈提供的API接口,可以方便地进行网络配置和管理。

3. 数据处理在传感节点和协调器节点之间,需要进行数据的采集、传输和处理。

通过Z-Stack提供的数据传输接口和协议栈功能,可以实现传感数据的采集和传输,以及协调器节点的数据处理和分发。

3. 安全认证在Zigbee网络中,安全认证是至关重要的一环。

通过Z-Stack协议栈提供的安全认证接口,可以实现节点之间的安全通信,保障网络数据的安全性。

CC2530实现无线传感器网络(自组网与数据传输)

CC2530实现无线传感器网络(自组网与数据传输)
|| (SampleApp_NwkState == DEV_ROUTER) || (SampleApp_NwkState == DEV_END_DEVICE) ) {
易思开发工作室 ES Technology
// Start sending the periodic message in a regular interval. osal_start_timerEx( SampleApp_TaskID,
易思开发工作室 ES Technology
文件名:无线传感器网络(自组网与数据传输)
注意: 1. 先安装好 PL2302 USB 转串口驱动,转备好 USB 线,连接计算机与协调器模块
模块。 2. 需要两个或两个以上模块。
易思开发工作室 ES Technology
// Setup to send message again in normal period (+ a little jitter) osal_start_timerEx( SampleApp_TaskID, SAMPLEAPP_SEND_PERIODIC_MSG_EVT,
易思开发工作室 ES Technology
switch ( MSGpkt->hdr.event ) {
case CMD_SERIAL_MSG: SampleApp_SerialCMD((mtOSALSerialData_t *)MSGpkt); break;
// Received when a key is pressed case KEY_CHANGE:
SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys );

ZIGBEECC2530初步测试报告

ZIGBEECC2530初步测试报告

ZIGBEECC2530初步测试报告ZIGBEE CC2530 初步测试报告一、当前常用无线通信方式及协议二、ZIGBEE 网络组成ZIGBEE 网络由协调器(Coordlnator)(网络中只能有唯一一个协调器),若干路由器(Router),若干终端设备(End Device)组成。

协调器、路由器可以有多个子节点(路由器和终端设备),路由器也可以有多个父节点(终端设备和路由器),而终端设备只能一个父节点(协调器或路由器)。

协调器首先选择一个信道和网络标识(PAN ID),然后开始这个网络.因为协调器是整个网络的开始,他具有网络的最高权限,是整个网络的维护者,还可以保持间接寻址用的表格绑定,同时还可以设计安全中心和执行其他动作,保持网络其他设备的通信。

路由器是一种支持关联的设备,能够实现其他节点的消息转发功能。

Zigbee的树形网络可以有多个zigbee路由器设备,zigbee的星型网络不支持zigbee的路由器设备。

终端设备是具体执行的数据采集传输的设备,他不能转发其他节点的消息。

ZIGBEE 网络拓扑结构主要分为星型结构、树型结构、网状结构。

如下图所示:星型结构树型结构网状结构网状网络拓扑结构的网络具有强大的功能,网络可以通过“多级跳”的方式来通信;该拓扑结构还可以组成极为复杂的网络;网络还具备自组织、自愈功能;星型和族树型网络适合点多多点、距离相对较近的应用。

网络拓扑结构需要在组网是确定。

三、ZIGBEE 功耗ZIGBEE模块CC2530 不含PA功能。

四、功耗计算假设采用两节AA电池为终端设备供电,电池有效容量为2000mAh。

通信过程中不丢失数据。

设备一天睡眠功耗:SLEEP_P=0.001mA*1000ms*60*60*24=86400mAms例1:设备每天动作10次,每一秒联网一次,设备一天联网次数:60*60*24/1-10=86390 次设备一天耗电:TOTAL_P=SLEEP_P + SWITCH_P * 86390 + TX_P*10 + RX_P*10= 86400 + 100.5775*86390 + 120.4175*10 + 245.669*10=8778951mAms=2.439mAh电池可用:2000/2.439=820 天=2.24年例2:设备每10秒动作联网一次,设备一天动作联网次数:60*60*24/10=8640 次设备一天耗电:TOTAL_P=SLEEP_P + TX_P*10 + RX_P*10= 86400 + 120.4175*8640 + 245.669*8640=3249387mAms=0.903mAh电池可用:2000/0.903=2214.8 天=6.06年。

cc2530的接口实验的实验原理

cc2530的接口实验的实验原理

cc2530的接口实验的实验原理下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

本文下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Downloaded tips: This document is carefully compiled by the editor. I hope that after you download them, they can help you solve practical problems. The documents can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, our shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!CC2530是一款常用于物联网设备的芯片,其接口实验是物联网领域中的重要实践之一。

CC2530实现协议栈网络管理

CC2530实现协议栈网络管理

文件名: 协议栈网络管理ZigBee 协议栈网络管理这章内容主要是对新加入的设备节点的设备管。

我们都知道每个CC2530 芯片出厂时候都有一个全球唯一的32 位MAC 地址。

当时当设备连入网络中的时候,每个设备都能获得由协调器分配的16 位短地址,协调器默认地址(0x0000)。

很多时候网络就是通过短地址进行管理。

注意:1.先安装好PL2302 USB转串口驱动,转备好USB线,连接计算机与接收模块。

2.需要两个或者两个以上模块,分别用于协调器、路由器、终端。

●实验目的:学习如何使用TI提供的协议栈,进行网络管理。

●实验步骤:1.打开工程文件:协议栈的无线数据传输\Projects\zstack\Samples\SampleApp\CC2530DB\ SampleApp,分别选择EndDeviceEB-Pro, RouterEB-Pro,CoordintorEB-Pro,分别下载到三个模块中,如下图所示。

2.连接计算机与协调器模块,可以看到协调器接收到数据。

实验结果:将修改后的程序分别以协调器、路由器、终端的方式下载到3个或以上设备,协调器连接到PC机。

上电后每个设备往协调器发送自身编号,协调器通过串口显示出来。

具体实验:要实现协调器收集数据的功能,可以使用点播方式传输数据,点播地址为协调器地址(0x0000),避免了路由器和终端之间的互传,减少网络数据拥塞。

在samplApp.c中修改发送数据函数为:void SampleApp_SendPointToPointMessage( void ){uint8 device;//设备类型变量if ( SampleApp_NwkState == DEV_ROUTER )device=0x01; //编号1表示路由器else if (SampleApp_NwkState == DEV_END_DEVICE)device=0x02;//编号2表示终端elsedevice=0x03;//编号3表示出错if ( AF_DataRequest( &Point_To_Point_DstAddr, //发送设备类型编号&SampleApp_epDesc,SAMPLEAPP_POINT_TO_POINT_CLUSTERID,1,&device,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS ) == afStatus_SUCCESS ){}}修改完成后系统设备自动检测自己烧写的类型,然后发送对应的编号。

CC2530实现协议栈网络通信实验(单播)

CC2530实现协议栈网络通信实验(单播)
&SampleApp_epDesc, SAMPLEAPP_POINT_TO_POINT_CLUSTERID, 10, data, &SampleApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS ) { } }
其中 Point_To_Point_DstAddr 我们之前已经定义,我们在 SampleApp.h 中加入 SAMPLEAPP_POINT_TO_POINT_CLUSTERID 的定义如下: #define SAMPLEAPP_POINT_TO_POINT_CLUSTERID 4 //传输编号
afAபைடு நூலகம்dr16Bit
= Addr16Bit,
afAddr64Bit
= Addr64Bit,
afAddrGroup
= AddrGroup,
afAddrBroadcast = AddrBroadcast
} afAddrMode_t;
当 addrMode= Addr16Bit 时,对应点播方式; 当 addrMode= AddrGroup 时, 对应组播方式; 当 addrMode= AddrBroadcast 时,对应广播方式;
} }
其中接收 ID 我们在原来基础上改成我们刚定义的 SAMPLEAPP_POINT_TO_POINT_CLUSTERID.
将修改后的程序分别以协调器、路由器、终端的方式下载到 3 个节点设备中, 连接串口。可以看到只有协调器在一个周期内收到信息。也就是说路由器和终端 均与地址为 0x00(协调器)的设备通信,不语其他设备通信。实现点对点传输。
case SAMPLEAPP_POINT_TO_POINT_CLUSTERID: HalUARTWrite(0,"Reveiver data: \n",14); //reveive data
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

afAddrType_t Group_DstAddr 组播内容的结构体: 2. 加入组播参数的配置。
Group_DstAddr.addrMode = (afAddrMode_t)afAddrGroup; Group_DstAddr.endPoint = SAMPLEAPP_ENDPOINT; Group_DstAddr.addr.shortAddr = Test_GROUP; 其中 Test_GROUP 在 SampleApp.h 里面定义组号为 2:
具体实验: 1. 发送部分 组播描述的就是网络中所有节点设备被分组后组内相互通信的过程。确定通
信对象的就是节点的组号。下面我们在 SampleApp 例程完通过简单的修改完成 组播实验。
终端的描述文件在 AF.h 文件里,找到下面代码: 1. 在SampleApp.c中加入2项内容: 组播afAddrType_t的类型变量
= Addr64Bit,
afAddrGroup
= AddrGroup,
afAddrBroadcast = AddrBroadcast
} afAddrMode_t;
发送函数 void SampleApp_SendGroupMessage( void ) {
uint8 data[10]={0,1,2,3,4,5,6,7,8,9}; if ( AF_DataRequest( &Group_DstAddr, &SampleApp_epDesc,
#define Test_GROUP 0x0002 // 组播号 2
ቤተ መጻሕፍቲ ባይዱ
易思开发工作室 ES Technology
{
afAddrNotPresent = AddrNotPresent,
afAddr16Bit
= Addr16Bit,
afAddr64Bit
易思开发工作室 ES Technology
实验结果:将修改后的程序分别以协调器、路由器、终端的方式下载到 3 个设备,把协调器和路由器组号设置成 0x0002,终端设备组号设成 0x0003。 连接串口,可以观察到只有 0x0002 的两个设备相互发送信息。
Test_GROUP_CLUSTERID, 10, data, &SampleApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS ) { } }
其中 Group_DstAddr 我们之前已经定义,我们在 SampleApp.h 中加入 Test _GROUP_CLUSTERID 的定义如下: #define Test _GROUP_CLUSTERID 4 // 传输编号 4
} } 其中接收 ID 我们在原来基础上改成我们刚定义 Test_GROUP_CLUSTERID。
将修改后的程序分别以协调器、路由器、终端的方式下载到 3 个设备,把协 调器和路由器组号设置成 0x0002,终端设备组号设成 0x0003。连接串口,可以 观察到只有 0x0002 的两个设备相互发送信息。
2. 接收部分
接收数据函数 void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt ) {
uint8 asc_16[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'},i; uint16 flashTime; switch ( pkt->clusterId ) {
HalUARTWrite(0,"\n",1);
//
break;
case SAMPLEAPP_FLASH_CLUSTERID: flashTime = BUILD_UINT16(pkt->cmd.Data[1], pkt->cmd.Data[2] ); HalLedBlink( HAL_LED_4, 4, 50, (flashTime / 4) ); break;
\Projects\zstack\Samples\SampleApp\CC2530DB\ SampleApp,分别选择 EndDeviceEB-Pro, RouterEB-Pro,CoordintorEB-Pro,分别下载到三个模块中, 如下图所示。
2. 连接计算机与协调器模块,可以看到协调器接收到数据。
case Test_GROUP_CLUSTERID: HalUARTWrite(0,"Receive data: \n",14); //
易思开发工作室 ES Technology
for(i=0;i<10;i++)
HalUARTWrite(0,&asc_16[pkt->cmd.Data[i]],1);// sent data to PC
易思开发工作室 ES Technology
文件名:协议栈网络通信实验(组播) Zigbee 的通讯方式主要有三种点播、组播、广播。点播,顾名思义就是点对 点通信,也就是 2 个设备之间的通讯,不容许有第三个设备收到信息;组播,就 是把网络中的节点分组,每一个组员发出的信息只有相同组号的组员才能收到。 广播,最广泛的也就是 1 个设备上发出的信息所有设备都能接收到。 这也是 ZigBee 通信的基本方式。 注意: 1. 先安装好 PL2302 USB 转串口驱动,转备好 USB 线,连接计算机与接收模块。 2. 需要两个或者两个以上模块,分别用于协调器、路由器、终端。 实验目的:学习如何使用 TI 提供的协议栈,进行组网和无线数据通信。其 中一个模块为协调器,一个模块为无线终端,一个模块为路由器。 实验步骤: 1. 打开工程文件:协议栈的无线数据传输
相关文档
最新文档