匿名
未登录
登录
丢石头百科
搜索
查看“Core2530-B-User-Manual”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Core2530-B-User-Manual
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
== Zigbee组网实验 == Zigbee组网最少需要一个协调器和一个路由器,模块出厂后内置Bootloader,可以直接通过串口将固件下载到模块。 '''注:组网通信实验需要Core2530 (B)两块,XBee USB Adapter底板两块。''' === Zigbee角色介绍 === '''1. 协调器(Coodinator)''' * 选择一个频道和PAN ID,组建网络 * 允许路由和终端结点加入这个网络 * 对网络中的数据进行路由 * 必须保持供电,不能进入睡眠状态 * 可以为睡眠的终端结点保留数据,至其唤醒后取回 '''2. 路由器(Router)''' * 在进行数据收发之前,必须首先加入一个Zigbee网络 * 本身加入网络后,允许路由和终端结点加入 * 加入网络后,可以对网络中的数据进行路由 * 必须保持供电,不能进入睡眠状态 * 可以为睡眠的终端结点保留数据,至其唤醒后取回 '''3. 终端(End Device)''' * 在进行数据收发之前,必须首先加入一个Zigbee网络 * 不允许其他设备加入 * 必须通过其父节点收发数据,不能对网络中的数据进行路由 * 可由电池供电,必要时可以进入睡眠状态 === Bootloader === '''1. Bootloader简介''' 利用模块内置的Bootloader,用户可以通过串口直接下载应用程序而不需要CC Debugger;但Bootloader的烧录必须通过CC Debugger。 本模块配套的bootloader.hex,具体工作情况如下: 模块上电后,如果Flash内部应用程序有效,则立刻开始执行;否则LED1闪烁,表示没有应用程序,可以通过串口进行下载。 因为模块出厂前还另外烧写了Router.bin的应用程序,所以模块接上usb线后,则会直接执行router应用程序,如果要重新进入到“可串口下载程序”状态,可长按Boot按键,同时按下Reset按键,此时可看到LED1灯开始闪动,则可重新烧写程序。 '''2. CC debugger驱动安装''' * 解压例程提供的软件包CC-Debugger_Drivers.7z到安装目录中。 * 双击 Setup_SmartRF_Drivers-1.2.0.exe 打开安装程序 * 点击Next,选择安装路径 [[File:Core2530-XCore2530-User-Manual-1.jpg]] * 点击 Install,等待安装完成 [[File:Core2530-XCore2530-User-Manual-2.jpg]] * 安装结束后,连接CC Debugger到电脑,打开windows 设备管理器,如有下图显示的硬件,说明驱动安装成功。 [[File:Core2530-XCore2530-User-Manual-3.jpg]] '''3. 烧录Bootloader''' * 将模块安装到底板上,通过USB线连接电脑,同时连接CC Debugger * 打开底板电源,按下CC Debugger上的RESET按键,如果指示灯变为绿色说明通信正常,可以下载。 * 打开SmartRF Studio7,选择软件右上角Flash Programmer并打开。 [[File:Core2530-XCore2530-User-Manual-4.jpg]] * 选择Program CCxxxx Soc or MSP430,Flash image处选择需要下载的烧录文件,这里选择bootloader_wait.hex,单击Perform actions开始下载。 [[File:Core2530-XCore2530-User-Manual-5.jpg]] * 如果底部出现信息: program and verify OK,同时底板LED1开始闪烁,说明下载成功。 [[File:Core2530-XCore2530-User-Manual-6.jpg]] === 固件下载 === 这里以两套Core2530 (B) + XBee USB Adapter为例,分别烧录协调器和路由器固件,完成组网。为方便描述,将这两套系统称为A和B。 * 将A、B通过USB线接入电脑,上电后分别记录对应的串口号 * 如果之前已有bootloader固件,且Flash内部应用程序应用程序有效,重新复位A或B后,模块会直接执行应用程序。需要长按Boot按键,同时按下Reset按键,此时可看到LED1灯开始闪动,则可重新烧写程序。如果没有固件,上电后LED1闪烁,说明直接进入Bootloader模式,不需要按Boot按键。 <!-- * 【注意】:因部分电路板电路与Core2530-B-Bootloader-default.hex固件冲突,所以新增了Core2530-B-Bootloader-v2.hex固件,如果Core2530 (B)烧写的固件为v2版,则烧写固件前,需要先短接vcc和p2_1,然后按复位按键可进入bin烧写模式。 --> * 打开串口烧录软件 SBDemo.exe [[File:Core2530-XCore2530-User-Manual-7.jpg]] * 填入A对应的串口号,点击…,Image File选择 Coordinator.bin 固件,,烧写波特率选择115200,点击 Load Image开始下载,等待下载结束。 [[File:Core2530-XCore2530-User-Manual-8.jpg]] [[File:Core2530-XCore2530-User-Manual-9.jpg]] * B选择Router.bin固件,下载方式同上。 * 打开两个串口调试助手,串口号分别对应A和B,波特率38400、数据位8、停止位1。 * 重新复位A,等待串口输出 “Coordinator ok”,说明网络建立成功。 * 重新复位B,等待串口输出“Router ok”,说明路由器已经加入网络,'''组网成功'''。 === 模块组网通信 === 以下操作均直接使用UART串口发送和接收数据。 '''广播模式通信''' 描述:广播方式是由一个设备发送信息至整个Zigbee网络上的所有设备 格式:要发送的数据 {|class="wikitable" |示例: 如果任意一个模块需要以广播的方式发送信息“Hello Waveshare”,操作现象如下: 字符串输入框输入以下字符,点击发送: {|class="wikitable" |Hello Waveshare |} 所有路由和协调器的字符串接收框都可以接收以下信息: {|class="wikitable" |Hello Waveshare |} |} '''点对点通信''' 描述:实现网络中任意两个节点之间的通信 格式:P2P 目的地址 要发送的数据 {|class="wikitable" |示例: 如果A模块要向B模块发送数据“Hello World”,操作和现象如下: 通过AT+GETADDR读取A和B模块的短地址 字符串输入框: {|class="wikitable" |AT+GETADDR |} 便能够读取到A模块和B模块的地址: {|class="wikitable" |Module A |ADDR=0x50F5 |- |Module B |ADDR=0x3CB8 |} 在A模块使用P2P指令就可以给B模块发送数据了。如下: {|class="wikitable" |P2P 3CB8 Hello World |} 此时就只有B模块能收到以下数据,其他的节点和路由都无法收到数据。 {|class="wikitable" |Hello World |} |} '''点对多通信''' 描述:一个节点向指定的多个节点发送数据 格式:O2M 目的地址个数 目的地址1 目的地址2 … 发送的数据 {|class="wikitable" |示例: 如果A模块要向B,C模块发送数据“Hello World”,操作和现象如下: 通过AT+GETADDR读取A,B,C模块的短地址 字符串输入框: {|class="wikitable" |- |AT+GETADDR |} 字符串接收框: {|class="wikitable" |- |Module A |ADDR=0x50F5 |- |Module B |ADDR=0x3CB8 |- |Module C |ADDR=0x143E |} 在A模块使用O2M指令就可以给B、C模块发送数据了。如下: {|class="wikitable" |- |O2M 2 3CB8 143E Hello World |} 此时就只有B,C模块能收到以下数据,其他的节点和路由都无法收到数据。 {|class="wikitable" |- |Hello World |} |} == 使用上位机 == === 上位机介绍 === ZBSCOMM是微雪电子根据本模块专门开发的一款上位机软件,通过它可以对模块进行设置并且能够读取当前模块的配置信息;如果你不想采用上位机配置模块,同样也可以通过模块内置的AT指令集完成操作。 [[File:Core2530-XCore2530-User-Manual-10.jpg]] === 指令详解 === 表 1: 重启模块 {|class="wikitable" |- |命令 |'''AT+RESTART''' |- |输入参数 |无 |- |返回值 |RESTART OK |- |备注 |当串口返回 RESTART OK 之后,模块重新启动 |} 表 2: 恢复出厂设置 {|class="wikitable" |- |命令 |'''AT+RESET''' |- |返回值 |SETUART OK SETCHN OK SETPANID OK |- |备注 |重启模块之后生效 出厂参数: PANID :0xFFFF(随机分配) CHANNEL:11/2405MHz UART选择:0(选择串口0) 波特率:38400 流控制:0(无流控制) |} 表 3: 串口信息配置 {|class="wikitable" |- |命令 |'''AT+SETUART 串口通道 波特率 流控制(命令参数之间用空格隔开)''' |- |功能介绍 |设置串口号,波特率,流控制, |- |输入参数 |串口通道:这里必须写0,选择串口0进行配置。 波特率:9600-115200 流控制:这里必须写0,关闭流控制 |- |返回值 |成功:SETUART OK 失败:SETUART ERR |- |备注 |出厂参数:UART选择:0(选择串口0) 波特率:38400 流控制:0(无流控制) |} {|class="wikitable" |示例: 如果需要设置串口的波特率,只需在字符串输入框中输入“AT+SETUART 0 38400 0” 点击发送即可,需重启设备才生效,操作和现象如下: 字符串输入框: {|class="wikitable" |- |AT+SETUART 0 38400 0 |} 字符串接收框: {|class="wikitable" |- |SETUART OK |} |} 表 4: 信道设置 {|class="wikitable" |- |命令 |'''AT+SETCHN 信道''' |- |功能介绍 |设置Zigbee的信道。 |- |输入参数 |信道: 取值范围 11-26。 |- |返回值 |成功返回: SETCHN OK 失败返回: SETCHN ERR |- |备注 |所有的模块必须设置为同一的信道才可以进行组网,默认自动分配。 出厂参数: 11/2405MHz。 |} 表 5: 设置PAN ID {|class="wikitable" |- |命令 |'''AT+SETPANID 局域网标志符''' |- |功能介绍 |Zigbee协议使用一个16位的局域网标志符(PANID)来标识一个网络 |- |输入参数 |局域网标志符 :0x0000-0x3FFE |- |返回值 |成功返回:SETPANID OK 失败返回:SETPANID ERR |- |备注 |如果PANID=0xFFFF:设备将建立或加入一个“最优”的网络。 如果PANID≠0xFFFF:设备建立或加入指定PANID网络。 PANID的出现一般是伴随在确定信道以后的。 |} 表 6: 读取所有配置信息 {|class="wikitable" |- |命令 |'''AT+GETCFG''' |- |功能介绍 |读取所有的配置信息 |- |输入参数 |无 |- |返回值 |UART:串口的参数(波特率,流控制)。 PANID:局域网标志符 ADDR:自己的短地址 FADDR:父辈的短地址 CHANNEL:模块的通信信道 |} 表 7: 读取串口配置信息 {|class="wikitable" |- |命令 |'''AT+GETUART''' |- |功能介绍 |读取串口的配置信息 |- |输入参数 |无 |- |返回值 |串口编号:0/1(串口0/串口1) 串口波特率:9600-115200 流控制:0/1(没有流控制/有流控制) |} 表 8: 读取当前通信信道 {|class="wikitable" |- |命令 |'''AT+GETCHN''' |- |功能介绍 |读取模块的通信信道 |- |输入参数 |无 |- |返回值 |返回 CHANNEL的信道值 |} 表 9: 读取自身PAN ID {|class="wikitable" |- |命令 |'''AT+GETPANID''' |- |功能介绍 |读取当前网络的标示符 |- |输入参数 |无 |- |返回值 |成功将返回:PANID=0xxxx; 不成功返回:PANID=0xFFFE |} 表 10: 读取自身短地址 {|class="wikitable" |- |命令 |'''AT+GETADDR''' |- |功能介绍 |读取自身短地址 |- |输入参数 |无 |- |返回值 |返回ADDR=0xXXXX; |- |备注 |短地址长度:16位 用于点对点,点对多的数据传输 |} 表 11: 读取父节点短地址 {|class="wikitable" |- |命令 |'''AT+GETFADDR''' |- |功能介绍 |读取父节点的短地址 |- |输入参数 |无 |- |返回值 |FADDR=0xXXXX; |- |备注 |短地址长度:16位 |} 表 12: 读取自身IEEE地址 {|class="wikitable" |- |命令 |'''AT+GETIEEE''' |- |功能介绍 |读取自身IEEE地址 |- |输入参数 |无 |- |返回值 |IEEE=xx xx xx xx xx xx xx xx |- |备注 |设备的IEEE是一个64位的地址 |} 表 13: 读取父节点IEEE地址 {|class="wikitable" |- |命令 |'''AT+GETFIEEE''' |- |功能介绍 |读取父节点的IEEE地址 |- |输入参数 |无 |- |返回值 |MY_FIEEE=xx xx xx xx xx xx xx xx |- |备注 |父设备的IEEE是一个64位的地址 |}
返回至
Core2530-B-User-Manual
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志