2017-09-27 138 views
0

對於學生項目,我們正在將藍牙LE設備(既傳輸又接收)連接到iPhone或iPad,以便從其讀取數據以向用戶顯示實時。我們已經證明,製造該設備的公司可以做到這一點,並且我們實際上已經設法獲得連接並獲取一些數據。但是,它每隔5-10秒鐘就會進行一次,似乎是一個隨機數字子集,只需很少的更改在設備上改變了某些東西之後,這讓我們不再聰明。'激活'藍牙LE能量數據流

當然,我們去了製作設備和應用程序的公司,我們確實已經批准我們使用他們的硬件,但一直沒有能夠從他們那裏獲得SDK/API來使用它應用程序。所以,我們的計劃是通過我們自己的方式來找到我們需要的東西。

這是我們陷入困境的地方。我們有以下幾種:基於名稱或藍牙設備地址

  • 連接
  • 掃描服務(和級聯掃描的情況下,作爲CoreBluetooth文檔中指定的服務將在其內部服務)
  • 閱讀從上述特點服務。
  • 將值解密爲8位UInt,以便我們獲得一些實際可讀的數據。

這是我們所用值還是因爲它來自於得到了一個例子。

Service: 0x1c0476440, is Primary = yes. UUID: 058d0001-ca72-4c8b-8084-25e049936b31 
value <53636da1 7a616c74 73616c74 73616c74 73616c27> 

現在,看着這一切,我相信這裏的服務是某種形式的「住活着'ping,並提供有關設備當前狀態的一些輔助信息。

我們接下來的問題歸結爲:

如何才能進一步「探討」的設備?我們似乎沒有得到任何額外的輸出除了這個然而,在設備管理器看,從窗戶,我們得到了幾個命中,看起來像這樣(例):

{058d0001-ca72-4c8b-8084-25e049936b31}[6] 

它在任一十六進制值有值,布爾值或日期時間,但沒有明確的標識符。有沒有辦法讓我們發送消息給設備,使用Swift更改uuid中的值,或者這是不可能的?

+0

您可以打印您感興趣的特徵嗎?該服務不應該有一個「保持活力」,它的一個特點可能就是它的變化,比如訂閱可能性('setNotify :()')。也許是一個字符在哪裏寫改變模式。 – Larme

+0

您可以使用App Store中的LightBlue應用程序來探索外圍設備服務和特性 – Paulw11

+0

@Larme抱歉回覆。在上個月的過程中進一步深入研究表明,這只是一個表明它還活着的信號。它也用鹽進行內部加密。它工作了一點,我們做了以下內容: 打印每一個服務 打印每一個特徵 登錄藍牙交通和分析 到目前爲止,我們還沒有「中」,但我們正在向指出它對我們可用。 – Veraduxxz

回答

0

現在解決了,我不接受這個答案。我的解決方案嘗試一下。愚蠢的'在哈伯萊針'的東西。

我從058d0001-ca72-4c8b-8084-25e049936b31到058d000 -ca72-4c8b-8084-25e049936b31

瞧改變的UUID。我可以做更多。我嘗試了3,並且再次獲得了新的結​​果和工作數據流...

@ Paulw11的評論也是解決我們發現的這個問題的好方法。