用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

小蜜锋    -  云代码空间

—— 技术宅拯救世界!

基于Android平台的无线传感器网络(ZigBee)监控系统

2013-05-31|3635阅||

摘要:ZigBee协议实现的WSN,由ZigBee协议的传感节点组成,完成数据采集、处理、上传,执行控制命令。 JavaWeb实现的服务端,由RS232通信,数据解析,持久化层,面向移动终端的Web通信等模块组成。web部分包括了HTTP及XMPP协议的推送服务。 Android平台上

      过去包括将来从别人开源项目上和博客学到太多实在是很欣赏开源的精神。这段时间review了下做过的东西毕业后不再做这个方向的东西了。陆续也有不少网上或者低届的同学问我讨要论文相关资料现在把读研期间做的东西的资料、源码开源出来全部放到github上https://github.com/changety/hellowsn供参考也为纪念自己读研期间花在它们上的时光。六月是新的旅途。这里贴一下readme文件和相关图。


Wireless Sensor Networks(WSN) Monitor System Based On Android

包括三部分:

  • ZigBee协议实现的WSN由ZigBee协议的传感节点组成完成数据采集、处理、上传执行控制命令。项目文件
  • JavaWeb实现的服务端由RS232通信数据解析持久化层面向移动终端的Web通信等模块组成。web部分包括了HTTP及XMPP协议的推送服务。项目文件
  • Android平台上的WSN监控软件。项目文件

WSN部分:

硬件基础

软件实现

部署方法

  • 熟悉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点对点组播广播。
  • 其他功能参考源码。

服务端:

运行环境

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数据节点信息查询
  • 实时拓扑结构变化查看
  • 节点控制
  • 推送消息接收等功能
  • 推送规则设置

  

转自开源中国 http://my.oschina.net/changety/blog/134656
顶 1踩 0收藏
文章评论
    发表评论

    个人资料

    • 昵称: 小蜜锋
    • 等级: 高级设计师
    • 积分: 7088
    • 代码: 757 个
    • 文章: 360 篇
    • 随想: 211 条
    • 访问: 1263 次
    • 关注

    标签

    设计模式(4)java(9)命名规范(2)广告创意(1)愤怒的小鸟(1)游戏(5)jsp(1)配置(1)Surface(1)windows(1)javabean(1)设计方法(1)开发工具(2)web(4)大数据(2)GPU(1)硬盘(1)内部结构(1)黑客(1)窃取(1)编码(1)解决方法(1)php(28)mysql(9)数据库备份(1)数据库还原(1)命令(2)数据库(1)安装(1)2012(2)世界末日(3)仙剑5前传(1)默哀(1)电源(1)女生(1)装饰器模式(2)古剑奇谭(1)电脑桌(1)史上最牛(1)编程语言(2)小米(3)电视机顶盒(1)营销策略(1)Android(8)手势(1)诺亚方舟(1)Eclipse(1)汽车(1)操作系统(1)软件(1)互联网(5)大事记(1)设计师(2)壁纸(1)古剑奇谭2(1)古剑奇谭网络版(1)云计算(2)服务器(1)框架(2)Socket(1)jquery(1)构造函数执行顺序(1)火车票(1)3D(1)数据中心(2)正则表达式(2)Web前端(1)开发框架(1)系统瘫痪(1)12306(2)cpu(1)javascript(2)开发日记(15)体育馆管理系统(15)网页设计(1)CSS3(3)腾讯(3)小游戏(1)interface(1)平板(2)面试(2)设计(5)摄影(2)数据挖掘(1)钢琴谱(1)情人节(1)陈欧体(1)程序员(3)漫画(1)UserAgent(1)iPhone(2)NoSQL(1)ui(9)越狱(1)指南(1)abstract(1)css(3)git(2)八核(2)三星(1)linux(11)数据类型(1)html5(2)UML(2)perftools(1)创意(1)logo(1)色谱(1)响应式(5)Metro(2)虚拟机(1)jvm(1)垃圾回收(1)left(1)join(1)连接查询(1)溯源系统(1)Override(1)SAE(2)WordPress(1)指针(1)链表(1)系统分析师(1)中间件(1)corba(1)static(1)无线(1)监控(1)iPad(1)Apache(2)比特币(2)命名规则(1)手机支付(1)curl(3)笔记(1)导航(1)thinkphp(1)异常导致本地路径泄漏(1)web设计(1)网络安全(1)诗句(1)4K对齐(1)代码库(1)色彩(1)动画片(1)struts2(3)漏洞(5)确认框(1)心情驿站(1)ArscEditor(1)resources.(1)apktool(1)AppKey(1)新浪微博(1)app(5)广告(3)赚钱(1)响应式布局(1)html(1)淘宝(2)微信(1)重构(5)缓存(1)破解(1)后门(1)七夕(1)SEO(2)概念设计(1)面向对象(1)bootstrap(1)性能(2)优化(1)iis(1)爬虫(1)采集(1)算法(2)文本相似度(2)cto(1)js(1)fsockopen(1)扁平化设计(2)网页(1)心情(7)小米电视(1)开箱(1)励志(2)招聘(3)命名(1)notepad++(1)python(1)配色(3)扁平化(4)ps(2)搞笑(2)创业(3)渲染(1)电影(1)模板(1)微博(1)企业家(1)公司(1)总结(1)前端(1)运营(1)变形(1)svn(4)教程(3)搜狗(1)泄密(1)双11(1)天猫(1)UC(1)启动界面(1)光棍节(1)双十一(2)物流(1)备份(1)更新(1)插入(1)插件(2)jsTree(1)(1)海量数据(1)分辨率(1)草图(1)手绘(1)速度(1)文本处理(1)实习(1)感想(1)文件(1)简历(1)65.49.2.17(1)yum(1)解决办法(1)阿里云(2)推广(1)来往(1)春运(1)LBS(1)gb2312(1)utf-8(1)log4j(1)详解(1)收购(1)私服(1)TortoiseGi(1)post(1)异常(2)flappyBird(1)应用创新大赛(1)宙斯杯(1)学习方法(1)xp(1)退役(1)安全(1)技术贴(1)flash(1)刷机(1)京东(1)电商(1)Tomcat(1)JDK(1)免费(1)长投影(1)图标(1)Photoshop(1)云端集成开发环境(1)软件开发(1)可视化(1)工具(2)OpenSSL(1)Heartbleed(1)vsftp(1)中国知网(1)学术论文(1)免费下载(1)开发(1)手册(1)速查表(1)追随战略(1)sdk(1)文章(1)发布(1)文件管理(1)沙画(1)动效(2)原型(1)感悟人生(1)哲理(1)Bash(1)类图(1)知识管理(1)Console(1)调试命令(1)rpm(1)报错(1)挂载(1)数据盘(1)云主机(1)产品经理(1)原型设计(1)mql4(1)mt4(1)ea(1)程序化交易(1)CURLOPT_PO(1)阿里云​(1)CentOS6(2)OpenSSH(1)漏洞修复(2)升级(1)安骑士(1)链克(1)

    站长推荐