ZigBee2007无线系统TI-CC2530远程数据采集2010锋硕电子科技有限公司第一章功能描述本工程的目录为:ZigBee2007FSCode\ZStack-CC2530-2.3.1-1.4.0\Projects\zstack\Samples\Collector_Sensor在远程数据采集中,传感节点(sensornode)将采集到的传感数据发送至远端的采集节点(collectionnode),以便用户进行离线的分析和处理。多个传感节点与唯一的采集节点组成星型网络拓扑结构。采集节点传感节点1传感节点n图1.1远程数据采集网络拓扑结构本例中,传感节点使用锋硕电子开发的终端节点CC2530,记录当前温度值和电压值:ZigBee2007无线系统2010年9月27日锋硕电子科技有限公司,使用串口终端显示并打印传感数据:为实现上述目的,整个应用程序应该具备以下功能:ZigBee2007无线系统2010年9月27日锋硕电子科技有限公司)采集节点自动建立网络(注:首次启动时,需按下按键S1配置自动启动)2)传感节点自动发现采集节点,而且一旦加入网络后,能够自动与采集节点建立绑定;3)传感节点能够周期性地向采集节点发送数据,并且用端到端确认(end-to-endACK)的发送模式;4)如果传感节点没有收到采集节点的确认消息,它将解除与该采集节点的绑定,然后,重新发现采集节点并与其建立绑定。第二章工程整体架构和选项设置2.1工程架构用户打开SimpleApp工程后,会在Workspace区域看到不同的设备类型,不同的设备类型下均包含App文件夹,里面存放着各种应用实现的源文件。可以发现,每种设备类型都包含sapi.c、sapi.h和SimpleApp.h文件,即每种设备程序运行时的任务初始化函数、任务事件处理函数均是在sapi.c中实现。Z-Stack的目录结构如图2.1所示:1)App:应用层,存放应用程序。2)HAL:硬件层,与硬件电路相关。3)MAC:数据链路层。4)MT:监控调试层,通过串口调试各层,与各层进行直接交互。5)NWK:网络层。6)OSAL:操作系统层。7)Profile:协议栈配置文件(AF)。ZigBee2007无线系统2010年9月27日锋硕电子科技有限公司)Security:安全层。9)Services:地址处理层。10)Tools:工程配置。11)ZDO:设备对象,调用APS子层和NWK层服务。12)Zmac:MAC层接口函数。13)ZMain:整个工程的入口。14)Output:输出文件(由IAR自动生成)。对于采集节点,在Workspace区域的下拉菜单中选择SimpleCollectorEB,鼠标点击上方的“make按钮”后,所有文件对应的红色“*”将消失,此时SimpleCollector.c是进行编译的文件,而SimpleController.c、SimpleSensor.c和SimpleSwitch.c颜色呈灰色,表示这3个文件对于采集节点而言不会使用。采集节点在整个网络中实现ZigBee协调器的功能,因此配置文件f8wCoord.cfg将被使用,而f8wEndev.cfg和f8wRouter.cfg不会使用。如图2.1所示:图2.1采集节点工程架构ZigBee2007无线系统2010年9月27日锋硕电子科技有限公司对于传感节点,在Workspace区域的下拉菜单中选择SimpleSensorEB,鼠标点击上方的“make按钮”后,所有文件对应的红色“*”将消失,此时SimpleSensor.c是进行编译的文件,而SimpleCollector.c、SimpleController.c和SimpleSwitch.c颜色呈灰色,表示这3个文件对于传感节点而言不会使用。如下图所示:图2.2传感节点工程架构2.2工程选项设置打开SimpleApp工程后,欲进入到采集节点的编译选项设置界面。选中工程名SimpleApp-SimpleCollectorEB,然后根据工程选项设置的路径:Project-Options-C/C++Compiler-Preprocessor-Defined。ZigBee2007无线系统2010年9月27日锋硕电子科技有限公司工程选项设置要为工程选项添加一条编译选项,只需在Definedsymbols框内添加一条新选项即可;要取消编译选项,只需在该编译选项的左侧添加“x”即可。欲进入到传感节点的编译选项设置界面。选中工程名SimpleApp-SimpleSensorEB,然后根据工程选项设置的路径:Project-Options-C/C++Compiler-Preprocessor-Defined。ZigBee2007无线系统2010年9月27日锋硕电子科技有限公司工程选项设置对于采集节点和传感节点,分别打开Tools-f8wCoord.cfg和Tools-f8wEndev.cfg后,可以看到关于采集节点传