蜜芽188.cnn_免费人成网址在线观看国内_能看三级片的网址_亚洲第一成网站

用戶名:
密  碼:
資訊查詢

基于藍牙的Android平臺機電設(shè)備運行數(shù)據(jù)監(jiān)控

發(fā)布日期:2016-11-16    來源:《上海設(shè)備管理》      點擊數(shù):26394

       一、引言

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