|
开发包
基于Jennic产品的ZigBee开发包有很多种型号,包括Jennic原产的EK系列,和锐步电子生产的DK系列,您还可以从其他的供货商查到更多的开发包型号,不过在本手册中我们选择锐步电子的原产开发包系列中的JN5139-DK103作为学习的硬件基础。详细见:
DK103包含三个传感器板,软件和文档光盘以及USB连接线和电池。该款开发包的售价是1280元整,非常适合用来开发基于802.15.4或者ZigBee的应用。
开发板主要功能介绍:
一: 性能参数:
1.外置DC5V供电,电流小于200毫安;
2.默认是陶瓷天线无线Jn5139模块;
3.大部分器件使用SMD工艺生产;
4.开发板精心设计美观漂亮。
二:. 功能列表
1. 可以兼容绝大部分Jennic原厂513x开发板的功能;
2. 板载USB通讯,可以下载、调试程序
3. 所有端口通过40脚的插针外扩,同时增加管脚标注说明,方便客户连接;
4. 外扩面包板可兼容直插和部分贴片器件和模块;
5. 增加RFID模块接口,模块可接Mifare系列 和 EM4100系列度卡模块。
6. 有振动传感器;
7. 温湿度传感器(选配);
8. 有无源蜂鸣器,接PWM接口可以编程驱动有节奏的鸣叫声。
9. 有2个LED指示,一个电源指示LED;
10. 2个轻触按键,做事件输入使用;
11. 一个复位按键,一个程序下载配置按键;
12. 板载锂电池和充电管理IC,不需要客户购买电池,方便调试使用;
13. 5V外置开关电源供电,插上电源充电电路自动充电;
14. 开发板有4个塑料脚钉,可和台面隔离,不会造成不小心的短路等现象;
15. 中文化和本地化技术支持。
三:简单概述
开发板可供智能卡、RFID、大气环境监测、无线点菜、电力参数监测、水文监测、数据采集、三表抄送、科学研究、会议表决、抢答系统、矿山安全、智能公交、粮食温度监测、病房呼叫、物流配送、管道监测、路灯控制、商业楼宇自动化、工业自动化过程监控等等行业应用预研。
ZigBee是最新的短距离2.4G无线通讯技术,发展非常迅速。Jennic soc芯片是一个具有32MIPS性能的32位单片机,速度超过一般flash的小ARM7,除了做无线通讯外,还可以做性能非常强大的mcu使用,所有的硬件外设有完善的API函数,可以快速优质开发应用程序。单芯片的解决方案将大大降低开发的难度和成本,同时增加系统稳定性。
我们专业的技术支持将帮助您解决芯片应用过程中的软、硬件问题,使您集中精力做应用。
在本手册中我们就将使用这一款开发板进行各种应用的开发和测试。
软件平台:
Jennic提供了两种软件环境
CLI
这个软件是一个基于CYGWIN的GCC环境,只有命令行模式,而且是LINUX的命令行,所以我们不使用这个环境。
Codeblocks 1v5
Codeblocks是一款开源的C/C++开发工具,Jennic基于这个工具对其进行扩展形成了自己的集成代码编辑和编译环境,您可以从光盘或者Jennic网站得到这个工具。 请注意我们使用的版本为1.5。
软件安装
运行JN-SW-4026-SDKwithIDE-1v5.0.msi
然后按照安装指示完成软件的安装,这个过程很简单,一路next基本就可以了。
另外需要说明的是,最好将上面的软件都安装到默认的C盘目录,尽量不要修改。虽然这不会造成什么大的问题,但是如果您安装在默认的目录,在接下来的教程中凡是提到目录的地方您就都可以按图索骥了。
编译和下载
软件安装完成后,我们就可以开始调试一个例程了。
现在我们从一个最简单的例子入手,无线串口例程。这个范例的源代码可以从开发包的光盘”参考 Demo\ zigbee-uart”目录下找到,将zigbee-uart目录整个COPY到 C:\Jennic\cygwin\jennic\SDK\Application目录下面
可以在zigbee-uart\CodeBlocksProjects目录下看到两个工程文件JN5139R1_NULLNODE.cbp是Coordinator的工程文件
JN5139R1_ZB_uart.cbp是Router的工程文件.
用CodeBlocks打开这两个文件,将编译模式选择为Release。然后在每一个工程名上点击右键,选择Build命令分别编译两个工程。 编译完成后您将在工程目录下找到一个JN5139_Build目录,您将在这个目录下Release目录里找到JN5139R1_NULLNODE.bin和JN5139R1_ZB_uart.bin这两个文件。
这就是这个例程的二进制程序文件。
在把程序文件写入开发板之前,让我们介绍一下无线串口例程的大致应用。
这个范例演示了多个开发板之间通过无线互相传输数据并通过串口转发的过程。
在这个应用中我们有两种角色的设备,分别使用不同的程序来实现。
一种是Router,这种角色的设备只负责传输数据,可以将数据传输到另一个Router,也可以传输数据到Coordinator。
另一种是Coordinator节点,这种角色的设备负责创建网络和传输数据,当网络建立后,该结点可以关闭。
下面我们就通过Jennic Flash Programmer程序将两个bin文件分别写入到不同的传感器板中。 下载过程请参考ZBKit开发板程序下载说明.pdf。
然后参考JEN-ZBKIT-A快速使用.pdf进行无线串口的测试。
经过上述的步骤您就已经完成了一个程序从编译到下载运行的全过程。
现在让我们来学习一下如何通过GDB调试我们的程序。
首先我们要修改一下设置以正确连接我们的目标板
Settings>Compiler and debugger. 打开Compiler and debugger设置页面,在V1.5版的
Code Blocks默认设置基础上,我们只需要更改串口号和波特率就可以了。如下图
当然您可以选择其他波特率,但要注意上面的设置和程序中的初始化波特率必须一致。程序中必须有如下初始化代码
Tools>Configure Tools然后选择Download to Flash for JN513xR1 Debug
并点击Edit,修改实际串口号
好了,经过以上步骤我们已经完成了必要的设置,但要想调试我们的程序还需要将编译好的Debug代码烧写到FLASH中,下载过程请参考ZBKit开发板程序下载说明.pdf 或者Tools>Download to Flash for JN513xR1 Debug使用CLI进行下载,下载完成后,按RESET键复位开发板;点击连接到开发板,进入GDB调试模式,然后可以进行单步、运行到光标处、查看局部变量等调试操作,目前调试功能比较简单,不过已经可以满足一般的调试需求了。需要说明的是,协议栈相关的代码是无法调试的。
终于补上图片了,欢迎交流ZIGBEE技术,QQ:33508666