2018/04/22


因緣湊巧, 萊恩大兵得到一隻小米花花草草監測儀. 插在花盆土壤裡, 可透過 App 取得土壤濕度, 土壤肥力, 光照強度與空氣溫度等數據. App 甚至還有數種植物的培養參數, 總之是一個利用物聯網與 IT 技術做園藝或農栽事務的美好想像.


萊恩大兵能避就避來自強國的 App, 只好想辦法用 RPi 與 Bluetooth Dongle 自行讀取偵測數據.



網路上查到的分享文章, 大多是在 2014 ~ 2016 年間… 看來萊恩大兵 lag 很多, 前面已經有不少人做過類似的研究或破解. 經過數次的實驗與測試, 萊恩大兵終於能成功讀取小米花花草草的數據資料了.



順手做個筆記留底, 以備日後不時之需.

環境設定步驟
[1] 在 RPi 上面安裝 Bluez 套件.
[2] 在 RPi 插上 BT dongle, 利用 hcitool 來掃描週遭的 BLE 裝置, 找出花花草草的 MAC ID.

[3] 利用 gatttool 來讀出花花草草服務 (UUID) 的資料.

[4] 在 RPi 上面安裝 gattlib, 執行 python 範例程式, 來抓取花花草草的數據資料.


參考連結:

這篇說明小米花花草草的偵測數據是由哪個服務傳回, 以及其資料編碼.
這篇以第一篇為基礎, 更進一步與 MQTT 服務做整合.
這篇是安裝 gattlib 步驟.
這篇則是 gattlib 在 Github 的頁面, 有範例程式可參考.
這篇是在 RPi 上安裝 Bluez 的步驟.
解釋 BLE GATT 協定的好文章.

解釋 BLE ATT 協定的好文章.


[萊恩大兵的其它文章]

自製大四軸

CC2540 Bluetooth Low Energy

OpenCV 學習路徑

小惡魔 無線溫度感測器




0 意見:

張貼留言