2017-09-04 229 views
0

我正在研究一個React應用程序,它將實時使用3個傳感器數據值。讀取藍牙傳送到瀏覽器的傳感器數據

數據通過藍牙從nRF52840芯片發送。

一開始我嘗試了Noble庫藍牙和它的工作馬上用最少的代碼:Noble bluetooth code

運行上面的代碼的結果是這樣的:Sensor data logging

然而,當我試圖整合諾布爾進入我的React應用程序時,Webpack製作DLL時我得到了依賴關係的錯誤,所以我沒有找到將它整合的方法。

我試圖在Web藍牙API使用的例子,而不是在這裏:Web Bluetooth heart rate sensor 我嘗試過了使用極地H10我和運作良好的話,我修改了它與我的傳感器工作。

現在我可以讀取傳感器值到瀏覽器中,但我知道它們是錯誤的值..它們總是在50-60左右,並且在更改傳感器時不會改變。

我想我需要一些解析代碼,如心率傳感器代碼。但是,該代碼使用的是位級&操作,標誌並假定小端數據。我不知道我的數據是不是小端或不是或其他位級別的細節,所以我寧願不寫解析代碼。

我知道Noble例如可以將它從盒子中讀出來,所以我想要類似的東西,這可能嗎?是否有某種藍牙標準用於讀取數據或者是否具體針對硬件?在我的硬件上沒有文檔,所以我無法閱讀它。 這是我目前使用的代碼,類似於心臟速率傳感器代碼:Bluetooth sensor reading code

回答

1

有標準Bluetooth services & characteristics,但任何硬件可以選擇(或需要)使用自定義的方法。沒有標準,甚至沒有編碼風格,如小/大端或字節與字符串。

理解數據的選項是使用可以以多種格式讀取數據的工具,如HCI loggingnRF Connectdesktop)或Chrome的chrome://bluetooth-internals

+0

好的謝謝你的幫助。我設法發現它將ASCII碼發送爲逗號分隔的一串值。這使得編寫一些解析代碼變得相當容易。我應該也許猜到了這些值在48-57之間(數字的ASCII表示)大部分是相似的值。 –