基於Android平臺的無線傳感器網絡(ZigBee)監控系統 原 薦

       過去包括將來,從別人開源項目上和博客學到太多,實在是很欣賞開源的精神。這段時間,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數據,節點信息查詢

  • 實時拓撲結構變化查看

  • 節點控制

  • 推送消息接收等功能

  • 推送規則設置

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章