• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Windows Phone 8.1平臺的藍(lán)牙通信技術(shù)

      2016-07-10 07:08徐圣凱
      電子技術(shù)與軟件工程 2016年8期
      關(guān)鍵詞:手表特征值藍(lán)牙

      摘 要:Windows Phone 8.1是最新一代Windows Phone操作系統(tǒng),為了滿足可穿戴設(shè)備的軟件需求,我們根據(jù)此平臺藍(lán)牙通信技術(shù),開發(fā)了基于Windows Phone 8.1平臺的應(yīng)用軟件。在這里,我們介紹了可穿戴設(shè)備的通信網(wǎng)絡(luò)系統(tǒng),藍(lán)牙通信關(guān)鍵技術(shù)以及開發(fā)過程中遇到的問題。

      【關(guān)鍵詞】Windows Phone 8.1可穿戴設(shè)備 藍(lán)牙通信

      藍(lán)牙4.0技術(shù)的發(fā)展,使可穿戴設(shè)備從小眾、新穎轉(zhuǎn)變?yōu)榱擞杏?、主流的市場需求,因此促進(jìn)了基于各種操作系統(tǒng)的可穿戴設(shè)備應(yīng)用軟件市場的發(fā)展。Windows Phone平臺是全球第三大智能手機操作系統(tǒng),它是微軟面對iPhone和Android的強勢,綜合地考慮了許多iPhone和Android的優(yōu)點以及缺點的基礎(chǔ)上誕生的。Windows Phone 8.1是最新一代Windows Phone操作系統(tǒng),可以說Windows Phone 8.1平臺仍屬于藍(lán)海階段,大部分可穿戴設(shè)備沒有Windows Store應(yīng)用,但是考慮Windows生態(tài)系統(tǒng)的巨大潛力,它與可穿戴設(shè)備的結(jié)合將會賦予更多個人開發(fā)者以及開發(fā)團(tuán)隊絕佳的發(fā)展機遇。因此我們?yōu)橐恍┛纱┐髟O(shè)備開發(fā)了基于Windows Phone 8.1平臺的手機應(yīng)用軟件。

      1 通信系統(tǒng)設(shè)計

      可穿戴設(shè)備使人脫離了電腦和智能手機的限制,催生了新的移動網(wǎng)絡(luò)入口,引領(lǐng)了個人局域網(wǎng)的全面升級。所以在我們開發(fā)的系統(tǒng)里,智能手機充當(dāng)聯(lián)網(wǎng)服務(wù)器,而可穿戴設(shè)備將成為移動網(wǎng)絡(luò)輸入和輸出終端,讓人們隨時隨地接入互聯(lián)網(wǎng)。例如,通過智能手表自動輸入人體健康狀態(tài)和運動狀態(tài),智能眼鏡負(fù)責(zé)輸出反饋結(jié)果。

      下面我們以智能手表為例,簡單介紹通信網(wǎng)絡(luò)系統(tǒng),如圖1所示。智能手表實時監(jiān)測人體心率信息,通過藍(lán)牙通信把數(shù)據(jù)發(fā)送給智能手機,智能手機作為聯(lián)網(wǎng)服務(wù)器把數(shù)據(jù)發(fā)送給云服務(wù)器,接著云服務(wù)器把這些數(shù)據(jù)存入數(shù)據(jù)庫,并根據(jù)所需算法對心率數(shù)據(jù)進(jìn)行分析計算,最終把結(jié)果反饋回智能手表。

      2 關(guān)鍵技術(shù)

      2.1 藍(lán)牙4.0技術(shù)

      藍(lán)牙4.0版本將傳統(tǒng)藍(lán)牙技術(shù)、高速技術(shù)和低耗能技術(shù)合為一體,強化了藍(lán)牙在數(shù)據(jù)傳輸上的低功耗性能。此外,低成本和跨廠商互操作性,3毫秒低延遲、AES-128加密等諸多特色,可以用于計步器、心率監(jiān)視器、智能儀表、傳感器物聯(lián)網(wǎng)等眾多領(lǐng)域,大大擴展藍(lán)牙技術(shù)的應(yīng)用范圍。

      可穿戴設(shè)備在藍(lán)牙4.0通信中是從機角色,從機的主要工作是對外廣播,接受主機的連接,并且與主機之間進(jìn)行通信,其數(shù)據(jù)傳輸是通過特征值的讀寫來實現(xiàn)的。

      2.2 Windows Phone 8.1藍(lán)牙通信

      Windows Phone 8.1的配置符合藍(lán)牙技術(shù)聯(lián)盟的標(biāo)準(zhǔn),它的藍(lán)牙技術(shù)支持兩個藍(lán)牙方案:一個是應(yīng)用程序到應(yīng)用程序的通信,另一個是應(yīng)用程序到設(shè)備的通信。下面給出了Windows Phone 8.1在應(yīng)用程序到設(shè)備的通信中,藍(lán)牙通信讀寫操作的具體代碼。

      2.2.1 讀操作

      //根據(jù)設(shè)備ID尋找藍(lán)牙設(shè)備

      BluetoothLEDevice bleDevice = await BluetoothLEDevice.FromIdAsync(ID);

      //使用給定的服務(wù) ID 返回 GATT 服務(wù)

      var service = bleDevice.GetGattService(new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"));

      //返回多個特征的矢量,這些特征由指定的 UUID 標(biāo)識并屬于此 GattDeviceService 實例

      var characteristics= recKEYService.GetCharacteristics(new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"))[0];

      //創(chuàng)建監(jiān)聽,監(jiān)聽特征值變化

      characteristics.ValueChanged += characteristics_ValueChanged;

      await Characteristics.WriteClientCharacteristicConfigurationDescriptorAsync(GattClientCharacteristic-

      ConfigurationDescriptorValue.Notify);

      //特征值變化時的讀取函數(shù)

      public void characteristics_ValueChanged(GattCharacteristic sender, GattValueChangedEventArgs args)

      {

      var values = (await sender.ReadValueAsync()).Value.ToArray();

      }

      2.2.2 寫操作

      //尋找藍(lán)牙設(shè)備

      BluetoothLEDevice bleDevice = await BluetoothLEDevice.FromIdAsync(ID);

      //使用給定的服務(wù) ID 返回 GATT 服務(wù)

      var Service = bleDevice.GetGattService(new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"));

      //寫數(shù)據(jù)

      byte[] data = { 0xxx, 0xxx };

      var characteristic = recKEYService.GetCharacteristics(new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"))[0];

      await characteristic.WriteValueAsync(data.AsBuffer());

      3 開發(fā)過程遇到的問題及解決方案

      可穿戴設(shè)備為了滿足用戶需求,通常體型小巧,外觀精致,為此很多設(shè)備采用了一鍵多功能的設(shè)計。但這種設(shè)計可能會帶來藍(lán)牙數(shù)據(jù)傳輸?shù)膯栴}。我們具體分析,假設(shè)我們的協(xié)議是:藍(lán)牙通信共用同一服務(wù)通道,設(shè)備按鍵按下,特征值寫為0,按鍵彈起,特征值寫為1。按鍵的按下與彈起代表了兩種動作,特征值變化兩次,觸發(fā)了兩次特征值監(jiān)聽函數(shù),如果按下與彈起兩個動作時間間隔過小,按照本文3.2.1小節(jié)的方式(方式一,如圖2)去讀取特征值,我們會發(fā)現(xiàn)第一次觸發(fā)的讀取操作去執(zhí)行時,此通道特征值有可能因為彈起動作已經(jīng)從0變成了1,兩次讀操作得到的數(shù)據(jù)為11,并不是預(yù)期的01,出現(xiàn)了錯誤。

      經(jīng)過分析,為了使特征值讀操作能夠適應(yīng)特征值迅速變化的情況,我們的解決方案是(方式二,如圖3):特征值變化時先將新特征值放入緩存中,然后隊列里的兩個讀操作函數(shù),就可以一一對應(yīng)的讀到相應(yīng)的值,最終到01。

      解決方案 具體代碼:

      public void characteristics_ValueChanged(GattCharacteristic sender, GattValueChangedEventArgs args)

      {

      uint dataLength = args.CharacteristicValue.Length;

      byte[] values = new byte[dataLength];

      DataReader reader = DataReader.FromBuffer(args.CharacteristicValue);

      reader.ReadBytes(values);

      }

      4 結(jié)語

      本文給出了可穿戴設(shè)備的通信網(wǎng)絡(luò)系統(tǒng),重點闡述了基于Windows Phone 8.1的藍(lán)牙通信讀寫技術(shù)。我們開發(fā)的應(yīng)用已經(jīng)可以在Windows Store下載,下載量可觀,表明可穿戴設(shè)備軟件市場中Windows Phone應(yīng)用開發(fā)依舊有廣闊的前景。

      參考文獻(xiàn)

      [1]微軟發(fā)布Windows Phone 8.1 Update及中國版Cortana[J].個人電腦,2014,08:91.

      [2]林正.深入淺出:Windows Phone 8.1應(yīng)用開發(fā)[M].北京:清華大學(xué)出版社,2014.

      [3]封順天.可穿戴設(shè)備發(fā)展現(xiàn)狀及趨勢[J].信息通信技術(shù),2014,03:52-57.

      [4]王磊.基于藍(lán)牙4.0技術(shù)的防丟器的研究與設(shè)計[D].太原理工大學(xué),2013.

      作者簡介

      徐圣凱(1990-),男,江蘇省徐州市人?,F(xiàn)為南京理工大學(xué)自動化學(xué)院碩士在讀。主研領(lǐng)域為計算機軟件、智能穿戴。

      作者單位

      南京理工大學(xué)自動化學(xué)院 江蘇省南京市 210000

      猜你喜歡
      手表特征值藍(lán)牙
      一類帶強制位勢的p-Laplace特征值問題
      是誰拿了手表
      單圈圖關(guān)聯(lián)矩陣的特征值
      誰偷走了手表?
      手表
      簡單、易用,可玩性強Q AcousticsBT3藍(lán)牙音箱
      適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機放大器
      緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
      基于商奇異值分解的一類二次特征值反問題
      關(guān)于兩個M-矩陣Hadamard積的特征值的新估計
      波密县| 郑州市| 白山市| 宁国市| 西青区| 桑植县| 丽水市| 克拉玛依市| 大洼县| 永安市| 青河县| 东安县| 沙田区| 太仓市| 上高县| 平昌县| 惠安县| 海盐县| 双牌县| 宜昌市| 蒲城县| 兰坪| 遵义县| 饶平县| 大庆市| 南丰县| 泸水县| 梁河县| 博客| 吉木乃县| 贡觉县| 阿克陶县| 甘南县| 榆社县| 通道| 井研县| 武陟县| 长兴县| 双流县| 根河市| 于田县|