2016-04-05 49 views
0

我不是一個活潑的老師,我曾在一些模塊上公開一些簡單的配對和bla bla服務:9 我們的一位客戶問我是否可以控制mcu gpio,一個信標服務正在運行。對於我所知道的信標標準只是一個燈塔來檢查接近(流簡單的數據包uuid,信號強度等),唯一的辦法就是暴露與信標同時運行的新服務(實際上發送多個包類型)。我不希望配對(信標< - >設備應用程序),不要擔心競爭條件,如果多設備設置/重置gpio,這不是我的業務。Ble Beacon Gpio閱讀/寫作

我發現了類似https://community.estimote.com/hc/en-us/articles/217429867-What-is-GPIO-How-to-set-it-up-,你在想什麼?

有庫或eddystone的擴展來做到這一點? github上的一些項目?

我們傾向於使用Nordic ble模塊,但如果您知道基於其他mcu的解決方案,歡迎您。

感謝您的幫助

+0

您能否詳細介紹一下您正試圖解決的用例:「我們的一位客戶問我是否可以控制mcu gpio」?如果我理解正確,您希望gpio成爲輸出,並且您希望根據與信標進行通信的外部設備觸發的事件來控制輸出線路上的電壓。它是否正確?描述你會這樣做的情況可能會有幫助。由於信標通常只是傳輸,所以這種用例聽起來像可能需要非典型實現。 – davidgyoung

+0

正確。客戶希望控制連接到信標板的一些LED,但理論上應該有許多由gpio信標板控制的設備。問題很簡單,如何將信標放入接收模式,以及如何將數據從設備發送到信標燈? – sukoy

回答

2

標準信標(iBeacon顯示,埃迪斯通,AltBeacon)是隻傳送設備。他們只是以固定的速率發送廣告與唯一的標識符。一些製造商將專有配置接口作爲讀寫藍牙LE GATT服務。但是沒有標準的GATT服務,它可以做到這一點,製造商特定的方案專門設計用於設置信標標識符和其他操作參數。

我不認爲有特定的信標庫或擴展,這將有助於與此,除iOS和Android的標準藍牙LE SDKs。爲了實現與北歐BLE模塊你就需要建立自己的自定義系統這一目標:

  1. 編寫自定義的北歐固件(坐在旁邊信標傳輸固件)是暴露了一個新的藍牙LE GATT服務。該服務將公開一個可寫的GATT屬性來控制GPIO引腳。

  2. 編寫連接到此GATT服務的自定義移動應用程序代碼(iOS上的CoreBluetooth和Android上的android.bluetooth),並寫入GATT屬性以控制引腳。

你必須注意的一件事是,連接到GATT服務通常會阻止藍牙外設廣告(意味着它不會作爲信標傳輸)。因此,您可能希望快速放棄連接,以防止移動設備或其他藍牙中心停止信標傳輸。