《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于掌上終端的藍牙微微網無線數據采集控制系統
基于掌上終端的藍牙微微網無線數據采集控制系統
摘要: 本文基于掌上智能終端實現對分布式數據采集系統的藍牙無線控制,在掌上終端的主流操作系統WindowsMobile上實現基于不同藍牙協議棧的終端設備控制與數據通信,完成數據的實時無線傳輸。
Abstract:
Key words :

  1引言

  近年來,近距離的數字化智能數據采集與控制系統得到了普遍應用,流行的結構是以PC機、筆記本電腦、工控機等作為上位機,以單片機、嵌入式系統作為下位機,通過串行通信、488總線、CAN總線、以太網等多種方式進行數據傳輸。這些有線數據傳輸系統具有布線不便、通信電纜容易受損等弊端。

  隨著無線數據通信技術的日益成熟,在工業控制、檢測與測量領域,無線自動化(WirelessAutomation)已經成為人們關注的焦點,迫切需要低成本、高可靠、低功耗的無線數據傳輸方案代替有線系統。藍牙作為一種電纜替代技術,可以方便地實現設備之間的無線連接,具有低成本、低功耗、高速率、抗干擾能力強、組網靈活等特點,是實現近距離無線數據傳輸的理想選擇[1]。當前主要的掌上電腦(PocketPC)和智能手機(Smartphone)均支持藍牙協議。

  同時,隨著掌上終端處理能力的不斷增強,以掌上終端作為上位機控制中心成為可能,掌上終端攜帶方便,尤其適用于野外或復雜條件下的現場控制。

  本文基于掌上智能終端實現對分布式數據采集系統的藍牙無線控制,在掌上終端的主流操作系統WindowsMobile上實現基于不同藍牙協議棧的終端設備控制與數據通信,完成數據的實時無線傳輸。能夠設置多個采集終端的數據采集參數并實時無線回收數據,保證數據采集的實時性、數據可靠性和軟件系統穩定性。

  2掌上終端控制的藍牙微微網無線數據采集系統

  2.1系統結構

  如圖1所示,多個藍牙無線數據采集器組成藍牙微微網,與掌上終端通過藍牙連接進行控制信令傳輸及數據通信。掌上終端識別網內的數據采集器,發送控制命令并實時顯示回收的數據。藍牙無線數據采集器在掌上終端的控制下設置數據采集參數,啟動或停止數據采集,實時采集所需要的現場信號,并通過藍牙微微網,將數據無線回傳至掌上系統。

掌上終端控制的藍牙微微網無線數據采集系統結構圖

圖1掌上終端控制的藍牙微微網無線數據采集系統結構圖

  2.2藍牙無線數據采集器

  各數據采集器通過距離、壓力、溫度等傳感器將目標物理量轉換為電信號,并由A/D轉換器轉換為數字信號。數據采集器上配接藍牙模塊,通過UART與藍牙模塊連接,數據的收發通過讀寫UART寄存器來完成。采集器通過藍牙鏈路接收來自掌上控制器的命令及采集參數,并將各時刻的數據組織為幀結構,發送至掌上控制終端。

  2.3掌上智能控制終端系統

  掌上終端代替PC機、筆記本電腦、工控機等作為現場數據采集系統的上位機,是現場數據采集與控制中心及數據接收中心,主要任務包括:藍牙數據采集器管理及傳感器校正、數據采集器參數設置、數據采集控制、無線數據接收、實時顯示與數據存儲、回放。

  基于掌上智能終端內嵌的藍牙模塊,調用相應的協議棧庫函數即可完成藍牙的相關操作。數據采集器管理模塊負責設備查找與設備安全認證;采集參數攝制及控制模塊向采集器發送工作控制命令;無線數據接收模塊實時接收采集器數據并提供圖形化顯示;實時采集的數據按照約定格式存放在指定文件中,并根據需要提供歷史數據回放。

  2.4藍牙微微網無線數據通信

  藍牙是一種短距離低功耗無線傳輸技術,工作于2.4GHz的ISM頻段[2]。藍牙通信協議棧分為四層,其中核心層為基帶協議層(BaseBand)鏈路管理協議(LMP)、邏輯鏈接控制和適配協議(L2CAP)以及服務發現協議(SDP),核心層之上為電纜替代協議(RFCOMM)與電話傳送控制協議(TCS-Binary)[2]。本系統藍牙無線傳輸工作在RFCOMM協議上,利用SerialPortProfile將藍牙設備虛擬成串口設備,數據的傳輸操作與串口操作相同,開發方便。

  3掌上控制系統的工作流程

  掌上控制系統的主要功能包括采集參數設置、采集器系統自檢、傳感器校正、采集控制以及數據回顯。參數設置模塊設置采樣間隔、保存文件路徑、工程信息等參數;采集器系統自檢模塊以預采集的方式啟動采集器,檢測整個系統軟硬件工作狀態;傳感器校正模塊實現各傳感器的零漂糾正及系數率定;采集控制模塊控制采集器的數據采樣啟動與結束,接收并處理數據,完成數據的實時顯示及保存;數據回顯模塊從文件讀取歷史數據并顯示。

  4主要功能實現

  4.1數據幀藍牙

       數據通信中,命令幀結構與數據幀的約定如下:命令幀由兩位命令標識、四位命令參數和兩位結束符組成,如IT0001ZZ,IT代表設置采樣間隔命令,0001約定為采樣間隔為0.01ms,ZZ為統一結束符。數據幀由兩位機器識別碼、兩位數據和兩位結束符組成,如A1HLZZ;其中H表示16進制數據的高位,L代表低位。

  每次采集傳輸數據時,終端無間隔采集并傳送5組數據,在掌上控制終端進行中值濾波,以減小誤差。

   4.2藍牙設備發現與連接實現

  4.2.1基于微軟協議棧的藍牙傳輸

  實現基于微軟的藍牙驅動,開發簡單。通過使用Socket實現通信連接。

   發現設備需要用到三個Winsock的API,分別是WSALookupServiceBegin、WSALookupServiceNext和WSALookupServiceEnd。頭文件為Winsock2.h,庫文件為Ws2_32.lib。

  使用Socket設備發現的代碼如下:

WSALookupServiceBegin(&querySet,LUP_CONTAINERS,&hLookup);WSALookupServiceNext(hLookup,flags,&dwSize,pwsaResults)WSALookupServiceEnd(hLookup);

  利用pwsaResults返回的藍牙物理地址與GUID做為socket連接參數,可與目的設備進行連接。代碼如下:

SOCKETm_socketClient=socket(AF_BT,SOCK_STREAM,
BTHPROTO_RFCOMM);connect(m_socketClient,(SOCKADDR*)&sa,sizeof(sa))進行設備連接。連接成功后,可用下列代碼進行數據收發:
recv(p->m_socketClient,buf,1024,0);send(m_socketClient,(char*)buf,nSize,0);

  4.2.2基于widcomm協議棧的藍牙傳輸實現

  使用如下語句啟動查詢:

StartInquiry();
VoidOnDeviceResponded(BD_ADDRbda,DEV_CLASSdevClass,BD_NAMEbdName,BOOLbConnected)
bda為返回設備地址,bdName為返回設備名稱。當查詢時間結束時,響應查詢定時器函數,開啟服務查找線程:

StartDiscovery(m_BdAddr,m_pServiceGuid);

  Widcomm提供了各種協議的不同連接方式,基于RFCOMM協議的SPP連接代碼如下:

CSppClient::CreateConnection(m_BdAddr,m_serviceName);

  當設備連接成功,可以返回相關狀態:

VoidOnClientStateChange(BD_ADDRbda,DEV_CLASSdev_class,BD_NAMEname,shortcom_port,SPP_STATE_CODEstate)

  使用函數返回的com_port為串口號建立串口操作

CreateFile(buff,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL)。

  4.3設備安全認證

  無線信道具有開放性的特點,在有效的距離范圍內任何符合頻率的接收機都能將信號捕獲。所以,無線數據傳輸的安全性是系統設計的重點問題之一。本系統通過三種途徑確保無線數傳的安全。

  一是利用藍牙標準中的信道標準來保障。藍牙的工作頻率為2.4GHZ,覆蓋范圍是相隔1MHz的79個通道(從2.402GHz到2.480GHz)[2]。數據傳輸技術使用短封包,運用了跳頻展頻技術,跳頻頻率為1600次/秒,這樣從物理層上防止了偷聽和避免了干擾。但是這對使用藍牙設備的竊聽和干擾是無效的。

  二是使用藍牙系統中的PIN碼。如果傳輸設備都沒有PIN的認證,任何一個藍牙設備均可以連接獲取數據的傳輸。設置PIN碼之后,只有通過PIN碼認證的設備,才能進行藍牙設備的連接和數據傳輸。

  三是通過認證命令實現應用層安全認證,由移動終端發起設備認證命令,等待藍牙數據采集器返回就緒狀態碼,掌上終端將生成的認證碼A裝入特定格式的幀發送至采集器,采集器通過算法得到認證碼B并返回發送,如果認證碼均正確,則互發確認消息,通過設備認證。

  4.4輪詢模式下的偽同步與實時

  同步傳輸的多線程實現掌上終端控制系統與藍牙數據采集器的連接可采用兩種方式:基于輪詢連接的偽同步模式與實時同步連接傳輸。輪詢模式是掌上控制終端與各采集器分時連接,同步模式是掌上控制終端與所有采集器同時連接,實現同步控制并完成數據傳輸。

   兩種連接模式均利用Windows多線程機制實現。為每一個數據采集器開啟獨立線程,完成數據處理。兩種模式均通過事件機制(Event)進行控制,對于輪詢模式,初始化時所有數據采集處理線程處于掛起狀態,主程序依次觸發事件喚醒相應線程進行數據采集處理。同步模式工作時,主程序同時觸發所有事件,喚醒所有處理線程進行采集處理,每處理完一個數據采集器的數據,所有的線程同步一次,從而實現數據在時間上的同步。

  在待采集數據變化緩慢的情況下,如在溫室內監測氣溫與濕度,采樣率低,采用輪詢模式可以縮短連接時間,降低設備功耗,延長工作時間。而同步模式適用于數據變化相對較快,對各個數據采集器同步要求高的情況。

   5測試結果

  掌上系統能夠無線連接控制4個數據采集終端,實時接收并顯示各數據采集器的數據.在實時接收并繪制數據曲線的同時,可隨時執行數據回顯功能,實現曲線縮放。

  掌上終端采用華碩A626,基于內置的藍牙模塊,與藍牙數據采集器的通信距離達10m;如果將數據采集模塊藍牙芯片更換至Class3級別,則傳輸距離可達到100m。本系統傳輸數據量不大,系統通信速率為9.6kbps,可以更好地利用藍牙的省電模式。當連接4個藍牙數據采集器,每個采集器發送時間間隔為10ms時,掌上控制終端同時接收沒有出現丟包。

  6結論

  論文基于掌上終端開發了現場數據采集的藍牙無線控制系統,解決了藍牙微微網連接、安全認證、同步處理接收等關鍵問題,實現了上位機的可移動化、便攜化。克服了有線數據采集控制系統的連線不便、安裝復雜等缺點,可廣泛應用于工業現場控制,醫療監測,智能家居等多種不適宜布線的場所

  本文作者創新點:使用移動終端作為上位機,通過藍牙微微網技術以及其他關鍵技術同步控制多個下位機,并能實時處理、存儲并顯示接收數據。

  參考文獻

[1]何戟,李孝安,段渭軍,基于藍牙的移動數據采集處理系統的設計與實現[J],計算機應用研究,2006年11期
[2]BluetoothSIG,BluetoothProtocolCoreVersion2.0+EDR[S].2004
[3]陳莉,錢東平,趙東杰,藍牙技術在地下水監測系統中的應用[J],微計算機信息,2007年26期
[4]吳建,通用型工業數據采集平臺的設計與開發[J],微計算機信息,2008年24卷第3-3期
[5]王宏,用于局域監測控制系統的無線數據傳輸解決方案[J],計算機應用與軟件,2008年2期

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 91精选国产 | 国产精品四虎在线观看免费 | 免费黄视频网站 | 久久曰视频 | 超大乳首授乳一区二区 | 日本不卡视频网站 | 国产免费高清mv视频在线观看 | 久久精品久久久久久久久人 | 男人私人影院免费看视频 | 欧美在线国产 | 欧美日韩在线视频观看 | 成网站在线观看人免费 | 精品国产免费人成在线观看 | 免费一级a毛片在线播 | 成人羞羞视频在线观看 | 欧美爱爱视频网站 | 黄连厚朴电视剧免费观看 | 久久免费观看视频 | 国产99色 | 欧美日韩在线视频一区 | 播播激情网 | 色婷婷在线影院 | 久久精品亚洲乱码伦伦中文 | 国产精品成人va在线观看 | 国产精品午夜免费观看网站 | 国产精品成人一区二区1 | 第四色最新网址 | 欧美性色老妇人 | 2021国产精品视频一区 | 一级毛片免费毛片一级毛片免费 | 色www视频永久免费 色www精品视频在线观看 | 久久国产精品系列 | 色视频在线播放 | 国产综合第一页 | 黑人中文字幕在线精品视频站 | www.婷婷| 久久这里只有精品国产99 | 亚洲成人77777 | 久久精品亚洲一级毛片 | 精品综合一区二区三区 | 激情综合色综合啪啪开心 |