基于Android平台的无线传感器网络(ZigBee)监控系统
2013-05-30 19:58
603 查看
过去包括将来,从别人开源项目上和博客学到太多,实在是很欣赏开源的精神。这段时间,review了下做过的东西,毕业后不再做这个方向的东西了。陆续也有不少网上或者低届的同学问我讨要论文相关资料,现在把读研期间做的东西的资料、源码开源出来,全部放到github上https://github.com/changety/hellowsn,供参考,也为纪念自己读研期间花在它们上的时光。六月是新的旅途。这里贴一下readme文件和相关图。
JavaWeb实现的服务端,由RS232通信,数据解析,持久化层,面向移动终端的Web通信等模块组成。web部分包括了HTTP及XMPP协议的推送服务。项目文件
Android平台上的WSN监控软件。项目文件
运行ZigBee协议协议栈Z-Stack协议栈的CC2530芯片节点
在IAR Embedd Workbench ID编译调试
用IAR 打开..\WSNMonitorApp\CC2530DB 目录中的WSNMonitorApp.eww项目文件,右键项目名option中找到**C/C++Compile**中 的preprocessor选项,将addtional include dir的选项框中根据项目文件在文件系统中的目录位置,导入Z-Stack的其他层的源文件。 如果直接在pull到源码文件中打开WSNMonitorApp.eww并没有改动过默认的目录结构,就在选项框中直接贴入下面的文件结构即可:
$PROJ_DIR$
$PROJ_DIR$\..\SOURCE $PROJ_DIR$\..\ZMAIN\TI2530DB $PROJ_DIR$\..\COMPONENTS\MT $PROJ_DIR$\..\COMPONENTS\HAL\INCLUDE $PROJ_DIR$\..\COMPONENTS\HAL\TARGET\CC2530EB $PROJ_DIR$\..\COMPONENTS\OSAL\MCU\CCSOC $PROJ_DIR$\..\COMPONENTS\OSAL\INCLUDE $PROJ_DIR$\..\COMPONENTS\STACK\AF $PROJ_DIR$\..\COMPONENTS\STACK\NWK $PROJ_DIR$\..\COMPONENTS\STACK\SEC $PROJ_DIR$\..\COMPONENTS\STACK\SAPI $PROJ_DIR$\..\COMPONENTS\STACK\SYS $PROJ_DIR$\..\COMPONENTS\STACK\ZDO $PROJ_DIR$\..\COMPONENTS\ZMAC\F8W $PROJ_DIR$\..\COMPONENTS\ZMAC $PROJ_DIR$\..\COMPONENTS\SERVICES\SADDR $PROJ_DIR$\..\COMPONENTS\SERVICES\SDATA $PROJ_DIR$\..\COMPONENTS\MAC\INCLUDE $PROJ_DIR$\..\COMPONENTS\MAC\HIGH_LEVEL $PROJ_DIR$\..\COMPONENTS\MAC\LOW_LEVEL\srf04 $PROJ_DIR$\..\COMPONENTS\MAC\LOW_LEVEL\srf04\SINGLE_CHIP
编译宏
ZTOOL_P1
MT_TASK
MT_SYS_FUNC
MT_ZDO_FUNC
LCD_SUPPORTED=DEBUG
之后在IAR workspace下方选择对应节点类型的项目文件,完成编译后, 通过debug按钮使用CC Debugger就能将程序烧写进对应节点硬件平台。
EndDevice节点实现了DS18B20传感器的环境温度获取,处理,报告及报告周期设置,报警温度设置,开关控制等。
通信功能,RS232,点对点,组播,广播。
其他功能参考源码。
JDK 1.6.0_24
JavaEE 6
Tomcat7.0 for win32
Mysql 5.0+ for win32
Struts2 v2.2 、Spring v2.5、Hibernate v3.3、Androidpn
与WSN进行RS232通信,由于使用Java实现,windows中运行Java 串口通信,先进行配置。
RXTX包下载地址:http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip
下载解压后,其配置环境如下:
把下载包中rxtx-2.1-7-bins-r2\Windows\i368-mingw32\rxtxSerial.dll 放到你%java_home%\jre\bin下面(%java_home%\jre\bin\rxtxSerial.dll)和C:\Windows\System32下面(C:\Windows\System32\rxtxSerial.dll)
下载包中rxtx-2.1-7-bins-r2\RXTXcomm.jar放到%java_home%\jre\lib\ext下面(%java_home%\jre\lib\ext\RXTXcomm.jar)
注:%java_home%为你安装JDK的路径,如:C:\Program Files\Java\jdk1.6.0_23
在%Tomcat HOME%\conf中server.xml文件Host标签增加Context子标签如: <Context path="/wsnmonitor" docBase="..\WSNServicePlatform\WebRoot" reloadable="true"/>。
path属性表示浏览器中的访问路径,docBase属性表示项目文件在文件系统中的目录。
运行%Tomcat HOME%\bin中startup.bat启动tomcat,如果在command line 中打印出该服务端的启动日志,并可以访问http://127.0.0.1:8080/wsnmonitor/index.do,则部署成功。
基于Androidpn框架的XMPP协议的推送服务通过整合也部署在Tomcat里
Hibernate ORM构建的持久层,数据库表会在首次启动服务端程序时自动构建,可以在Spring配置文件中修改
对数据进行解析,并持久化到数据库里
HTTP 接受来自Android终端的数据请求,并返回对应数据。
XMPP服务保持与Aandroid终端的持久连接,将WSN中解析到的紧急数据(可设定)实时推送给终端。
更多参见源码
├ fastjson.jar
├ ormlite-android-4.41
├ ormlite-core-4.41
├ universal-image-loader-1.7.0-with-src.jar
实时拓扑结构变化查看
节点控制
推送消息接收等功能
推送规则设置
Wireless Sensor Networks(WSN) Monitor System Based On Android
包括三部分:
ZigBee协议实现的WSN,由ZigBee协议的传感节点组成,完成数据采集、处理、上传,执行控制命令。项目文件JavaWeb实现的服务端,由RS232通信,数据解析,持久化层,面向移动终端的Web通信等模块组成。web部分包括了HTTP及XMPP协议的推送服务。项目文件
Android平台上的WSN监控软件。项目文件
WSN部分:
硬件基础
兼容TI CC2530DK的所有CC2530评估板上运行ZigBee协议协议栈Z-Stack协议栈的CC2530芯片节点
软件实现
构建于基于ZigBee协议实现的Z-Stack协议栈上,在AP层上实现所有功能逻辑。部署方法
熟悉IAR以及Z-Stack协议栈忽略该部分在IAR Embedd Workbench ID编译调试
用IAR 打开..\WSNMonitorApp\CC2530DB 目录中的WSNMonitorApp.eww项目文件,右键项目名option中找到**C/C++Compile**中 的preprocessor选项,将addtional include dir的选项框中根据项目文件在文件系统中的目录位置,导入Z-Stack的其他层的源文件。 如果直接在pull到源码文件中打开WSNMonitorApp.eww并没有改动过默认的目录结构,就在选项框中直接贴入下面的文件结构即可:
$PROJ_DIR$
$PROJ_DIR$\..\SOURCE $PROJ_DIR$\..\ZMAIN\TI2530DB $PROJ_DIR$\..\COMPONENTS\MT $PROJ_DIR$\..\COMPONENTS\HAL\INCLUDE $PROJ_DIR$\..\COMPONENTS\HAL\TARGET\CC2530EB $PROJ_DIR$\..\COMPONENTS\OSAL\MCU\CCSOC $PROJ_DIR$\..\COMPONENTS\OSAL\INCLUDE $PROJ_DIR$\..\COMPONENTS\STACK\AF $PROJ_DIR$\..\COMPONENTS\STACK\NWK $PROJ_DIR$\..\COMPONENTS\STACK\SEC $PROJ_DIR$\..\COMPONENTS\STACK\SAPI $PROJ_DIR$\..\COMPONENTS\STACK\SYS $PROJ_DIR$\..\COMPONENTS\STACK\ZDO $PROJ_DIR$\..\COMPONENTS\ZMAC\F8W $PROJ_DIR$\..\COMPONENTS\ZMAC $PROJ_DIR$\..\COMPONENTS\SERVICES\SADDR $PROJ_DIR$\..\COMPONENTS\SERVICES\SDATA $PROJ_DIR$\..\COMPONENTS\MAC\INCLUDE $PROJ_DIR$\..\COMPONENTS\MAC\HIGH_LEVEL $PROJ_DIR$\..\COMPONENTS\MAC\LOW_LEVEL\srf04 $PROJ_DIR$\..\COMPONENTS\MAC\LOW_LEVEL\srf04\SINGLE_CHIP
编译宏
ZTOOL_P1
MT_TASK
MT_SYS_FUNC
MT_ZDO_FUNC
LCD_SUPPORTED=DEBUG
之后在IAR workspace下方选择对应节点类型的项目文件,完成编译后, 通过debug按钮使用CC Debugger就能将程序烧写进对应节点硬件平台。
主要功能:
ZigBee协议所规定三种不同类型节点的基础功能 (默认你已了解ZigBee协议和Z-Stack协议栈)EndDevice节点实现了DS18B20传感器的环境温度获取,处理,报告及报告周期设置,报警温度设置,开关控制等。
通信功能,RS232,点对点,组播,广播。
其他功能参考源码。
服务端:
运行环境
Win7 32bitJDK 1.6.0_24
JavaEE 6
Tomcat7.0 for win32
Mysql 5.0+ for win32
Struts2 v2.2 、Spring v2.5、Hibernate v3.3、Androidpn
Java串口通信配置
首先要完成这部分配置!与WSN进行RS232通信,由于使用Java实现,windows中运行Java 串口通信,先进行配置。
RXTX包下载地址:http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip
下载解压后,其配置环境如下:
把下载包中rxtx-2.1-7-bins-r2\Windows\i368-mingw32\rxtxSerial.dll 放到你%java_home%\jre\bin下面(%java_home%\jre\bin\rxtxSerial.dll)和C:\Windows\System32下面(C:\Windows\System32\rxtxSerial.dll)
下载包中rxtx-2.1-7-bins-r2\RXTXcomm.jar放到%java_home%\jre\lib\ext下面(%java_home%\jre\lib\ext\RXTXcomm.jar)
注:%java_home%为你安装JDK的路径,如:C:\Program Files\Java\jdk1.6.0_23
Web部署方法
web部分所需要的框架 jar包 都已经包含在了webroot/WEB-INF/lib目录下。在%Tomcat HOME%\conf中server.xml文件Host标签增加Context子标签如: <Context path="/wsnmonitor" docBase="..\WSNServicePlatform\WebRoot" reloadable="true"/>。
path属性表示浏览器中的访问路径,docBase属性表示项目文件在文件系统中的目录。
运行%Tomcat HOME%\bin中startup.bat启动tomcat,如果在command line 中打印出该服务端的启动日志,并可以访问http://127.0.0.1:8080/wsnmonitor/index.do,则部署成功。
基于Androidpn框架的XMPP协议的推送服务通过整合也部署在Tomcat里
Hibernate ORM构建的持久层,数据库表会在首次启动服务端程序时自动构建,可以在Spring配置文件中修改
主要功能:
与WSN里协调器通过RS232数据交换对数据进行解析,并持久化到数据库里
HTTP 接受来自Android终端的数据请求,并返回对应数据。
XMPP服务保持与Aandroid终端的持久连接,将WSN中解析到的紧急数据(可设定)实时推送给终端。
更多参见源码
Android终端:
运行环境
Android 2.2及以上相关框架
libs├ fastjson.jar
├ ormlite-android-4.41
├ ormlite-core-4.41
├ universal-image-loader-1.7.0-with-src.jar
运行方法
根据服务端的ip,修改URL主要功能(所有功能都基于与服务端):
WSN数据,节点信息查询实时拓扑结构变化查看
节点控制
推送消息接收等功能
推送规则设置
相关文章推荐
- 基于Android平台的无线传感器网络(ZigBee)监控系统
- 基于Android平台的无线传感器网络(ZigBee)监控系统
- 基于Android平台的无线传感器网络(ZigBee)监控系统
- 基于ZigBee的放射源监控系统研究
- 基于ZigBee的智能家居安全监控系统设计
- 基于Nginx平台部署Nagios监控系统
- 项目回顾之二:PhoneProtector 基于Android平台的手机隐私保护系统
- 深入浅出 - Android系统移植与平台开发(六)- 搭建基于Linux的Android开发环境
- 基于Android的低功耗移动心电监控系统的设计方案
- 基于舆情系统的信息发布平台(android版)
- 基于Android平台的网络游戏对战系统项目可执行程序及源代码
- 基于Android手机开发平台的移动数字图书馆服务系统研究
- 深入浅出 - Android系统移植与平台开发(六)- 搭建基于Linux的Android开发环境
- 基于Android平台的会议室管理系统具体设计说明书
- 基于ZigBee通用无线传感器网络硬件平台的设计
- 移植Android系统到基于ARM的平台上-从零到启动
- Android平台上基于HTML5+WebRTC的视频会议系统
- 新大陆物联网基于android的宿舍监控系统
- 基于rtmp协议实现Android平台直播系统--基础框架
- 基于达芬奇平台的视频监控系统的设计