过去,包括未来,我从别人的开源项目和博客中学到了太多,我真的很欣赏开源的精神。这段时间,review毕业后就不做这个方向了。陆续也有不少网上或者低届的同学问我讨要论文相关资料,现在把读研期间做的东西的资料、源码开源出来,全部放到github上https://github.com/changety/hellowsn,供参考,也是为了纪念他们在研究生院的时间。六月是新的旅程。这里贴一下readme文件及相关图纸。
Wireless Sensor Networks(WSN) Monitor System Based On Android
包括三部分:
ZigBee协议实现的WSN,由ZigBee由协议的传感节点组成,完成数据采集、处理和上传,并执行控制命令。项目文件
JavaWeb服务端的实现,由RS面向移动终端的232通信、数据分析、持久层Web由通信等模块组成。web部分包括了HTTP及XMPP协议的推送服务。项目文件
Android平台上的WSN监控软件。项目文件
WSN部分:
硬件基础
兼容TI CC2530DK的所有CC2530评估板上
软件实现
构建于基于ZigBee协议实现的Z-Stack协议栈,在AP所有功能逻辑都在层上实现。
部署方法
熟悉IAR以及Z-Stack协议栈忽略了这一部分
用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节点实现了DS18B环境温度获取、处理、报告及报告周期设置、报警温度设置、开关控制等。
通信功能,RS点对点、点对点、组播、广播。
其它功能参考源码。
服务端:
运行环境
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子标签如: 。
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及以上
相关框架
运行方法
根据服务端ip,修改URL
主要功能(所有功能都基于与服务端):
WSN查询数据、节点信息
检查实时拓扑结构的变化
节点控制
推送信息接收等功能
设置推送规则