基于藍牙的Android平臺機電設備運行數(shù)據監(jiān)控
發(fā)布日期:2016-11-16 來源:《上海設備管理》
點擊數(shù):26515
一、引言
建筑機電設備的監(jiān)控主要由數(shù)據采集、顯示、數(shù)據輸出等部分構成;裟犴f爾、江森、施耐德等國際一線企業(yè)的專用樓宇自動化設備已經占據了主流市場,這些監(jiān)控設備的數(shù)據主要通過WiFi、USB 通用串行總線等通信方式,將機電設備運行信息通過數(shù)據采集器發(fā)送至工業(yè)控制計算機,進行數(shù)據采集和監(jiān)視,此類設備移動性差,而且成本非常高。
以手機為主的移動終端在全球都已經非常普及,在移動智能終端上安裝APP 應用軟件,實現(xiàn)數(shù)據采集、顯示、數(shù)據傳輸?shù)裙δ,逐步取代傳統(tǒng)的專用監(jiān)控設備,已經成為智能化設備監(jiān)控應用的重要發(fā)展方向和研究熱點。Android 系統(tǒng)是基于Linux 操作系統(tǒng)的開源平臺,在Android 系統(tǒng)上擁有大量的共享性開放應用,相關軟件產品開發(fā)非常方便高效,因而受到應用技術開發(fā)工作者的普遍歡迎。本文研究的數(shù)據監(jiān)控系統(tǒng)是通過在Android 移動終端上運行App 應用軟件,通過藍牙通信,實現(xiàn)對建筑機電設備運行數(shù)據的移動監(jiān)控。該系統(tǒng)不再依賴昂貴的專用工業(yè)控制計算機和專業(yè)數(shù)據采集器, 而是利用Android 移動終端實現(xiàn)專用工業(yè)采集器的現(xiàn)場數(shù)據查詢和遠程數(shù)據傳送等主要功能。和專用系統(tǒng)相比,藍牙移動終端在遠程數(shù)據傳輸、云端數(shù)據存儲、移動數(shù)據監(jiān)控等方面具有更大的優(yōu)勢。
二、 Android 系統(tǒng)下藍牙控制方式的選擇與分析
該系統(tǒng)主要由現(xiàn)場數(shù)據采集器、遠程移動終端兩大部分組成,F(xiàn)場數(shù)據采集器用于采集建筑機電設備運轉的各種實時狀態(tài)數(shù)據,并經由藍牙通信端口,實時將數(shù)據傳送至遠程移動終端。移動終端上運行App 應用軟件,完成數(shù)據的實時顯示、存儲、回放、轉發(fā)等功能。
Android 操作系統(tǒng)是免費共享的,各行各業(yè)的應用開發(fā)者都可以方便地取得自己所需的源程序,系統(tǒng)具有良好的開放性、優(yōu)秀的兼容性, 從而可以大大節(jié)約開發(fā)者的產品研制時間。隨著Android 技術的日趨成熟并迅速發(fā)展,國際主流的移動終端操作系統(tǒng)中,除了近年來蘋果公司獨家推出了IOS 操作系統(tǒng)之外,國際主流的移動終端制造巨頭,包括三星、華為、聯(lián)想等,都在自己制造的移動終端上應用了Android 操作系統(tǒng)。毫無疑問,Android 操作系統(tǒng)是近年來移動終端上應用最廣泛的操作系統(tǒng)。
采集機電設備運行數(shù)據的專用儀器或通用的移動終端設備之間,可以選用藍牙、WiFi 等無線通信方式或者USB、RS232、RS485 等有線通信方式。如果采用傳輸速率最高的USB 通用串行數(shù)據總線,則USB 總線需要設置主從工作模式;贏ndroid 操作系統(tǒng)的移動設備通常從制造成本考慮,只配置了從工作模式,并不具備主工作模式。即便選用少數(shù)能夠設置數(shù)據采集模式為USB Host 主工作模式的采集設備,也會導致數(shù)據采集端的成本大幅度增加。因此,把USB 通信方式作為設備運行數(shù)據的傳輸方式顯然不符合系統(tǒng)的經濟性要求。如果采用當前普遍應用的WiFi 無線通信方式,首先要在移動終端和數(shù)據采集端之間建立WiFi 網絡覆蓋的工作環(huán)境,這會增加運行成本;而且WiFi 信號會隨著工作環(huán)境中登錄設備的增加、環(huán)境的變化可能變得不夠穩(wěn)定;此外普通用戶在登錄時,首先需要匹配數(shù)據采集端與移動終端之間的WiFi 信號。顯然選擇WiFi 作為建筑機電設備運行數(shù)據的通信方式并不合理。藍牙2.0 標準傳輸半徑為10m,傳輸速率為1Mbit/s,運行穩(wěn)定可靠,而且具有一對一匹配特性,完全可以滿足本系統(tǒng)的使用要求。通過上述選型,確定以藍牙無線通信作為數(shù)據采集與移動終端之間的通信方式。
三、Android 移動終端藍牙控制軟件設計
1、獲取藍牙工作狀態(tài)和搜索配對設備信息
本控制軟件中的藍牙控制模塊主要功能是建立Android 移動終端和藍牙數(shù)據采集設備之間的數(shù)據聯(lián)系。Android 操作系統(tǒng)中提供了開放源代碼的通用藍牙數(shù)據包,可以用于藍牙設備的搜索和連接。Android 移動終端作為客戶端,主動發(fā)起鏈接,搜索藍牙數(shù)據采集設備。
軟件的通信程序流程如下:
(1)運行broadcastreceiver 子程序,搜索周邊的藍牙設備,并接收藍牙設備的狀態(tài)信息;
(2)運行blueadatper 函數(shù),獲取藍牙設備的匹配信息;
(3)從broadcastreceiver 子程序的onreceive() 函數(shù)里,讀取獲取到的藍牙數(shù)據采集設備信息;
(4)根據藍牙數(shù)據采集設備的mac地址,建立藍牙設備對象bluetoothdevice;
(5)根據藍牙設備對象bluetoothdevice,解析出藍牙交換數(shù)據包bluetoothsocket,準備用藍牙交換數(shù)據包來讀寫藍牙數(shù)據采集設備;
(6)通過藍牙交換數(shù)據包bluetoothsocket子程序中的createrf commsocket to service record() 函數(shù),選擇鏈接的協(xié)議/服務;
(7)在建立鏈接之后,使用藍牙交換數(shù)據包的getinput stream() 輸入數(shù)據流函數(shù)和getoutput stream() 輸出數(shù)據流函數(shù),來讀寫藍牙數(shù)據采集設備。
通過調用以上程序流程,Android移動終端與藍牙數(shù)據采集設備之間建立了藍牙通信聯(lián)系,并且實現(xiàn)了數(shù)據通信。
2、設備運行數(shù)據的波形顯示
該軟件模塊用來提供直觀的波形,實時解析和顯示機電設備運行數(shù)據。
波形轉換算法:
在Android 移動終端的顯示屏上,將藍牙通信模塊采集到的動態(tài)數(shù)據,實時轉換為相應的波形顯示出來。首先按屏幕顯示的量程及采樣的坐標點位,對采樣數(shù)據進行坐標變換,然后在屏幕顯示的量程及采用的坐標點位顯示出來。經過波形轉換,將通信模塊傳送的實時數(shù)據轉化為移動終端屏幕上的波形。
3、設備運行數(shù)據的動態(tài)存儲
該軟件模塊的功能是把藍牙通信接收到的設備運行數(shù)據存儲到移動終端的SD卡上。 Android 操作系統(tǒng)為嵌入式軟件設計專門提供了輕量級的數(shù)據庫sqlite。通過sqlitedatabase 函數(shù)創(chuàng)建新的數(shù)據庫,或者打開已經建立的數(shù)據庫。運行sqlitedatabase 函數(shù)時,系統(tǒng)會自動創(chuàng)建一個data_monitor.db數(shù)據庫文件,接收藍牙通信模塊傳送來的數(shù)據時,軟件都會用開始接收數(shù)據的時間作為數(shù)據表文件的名稱,自動生成一個數(shù)據表文件。
4、查看設備運行的歷史記錄
點擊App軟件界面上的 “查看歷史”,軟件將跳轉至“回放文件列表”界面,可以瀏覽Sqlite 數(shù)據庫中存儲的所有以存儲起始時間和存儲周期命名的歷史數(shù)據文件。點擊相應數(shù)據表文件名,可以選擇查看該歷史數(shù)據的波形。歷史記錄可選擇數(shù)據導出,存儲空間滿時,軟件會提醒更換SD卡,或者發(fā)揮移動系統(tǒng)的優(yōu)勢,將數(shù)據推送到云平臺處理。在查看歷史記錄時,系統(tǒng)可以繼續(xù)在后臺執(zhí)行動態(tài)存儲程序,接收藍牙通信模塊傳來的數(shù)據。
四、結束語
本系統(tǒng)使用具有藍牙功能的Android 移動終端,在建筑機電設備現(xiàn)場配置藍牙數(shù)據采集設備,從而以低成本實現(xiàn)了建筑機電設備運行數(shù)據的在線顯示、移動存儲、遠程監(jiān)控等功能。此外,本系統(tǒng)利用Android 操作系統(tǒng)自帶的輕量級數(shù)據庫,建立了運行數(shù)據的動態(tài)存儲,不僅在Android 移動終端上可以顯示機電設備運行的實時波形和歷史記錄,而且還發(fā)揮了Android 移動終端的優(yōu)勢,把建筑機電設備的監(jiān)控數(shù)據推送到云平臺進行處理。
作者:陳鋼 容訊智能科技( 上海) 有限公司