2017-03-17 21 views
0

我使用的是樹莓派作爲iBeacon顯示通過創建在啓動時執行以下(使用的BlueZ)運行的LaunchService:iBeacon顯示動態小調價值

sudo hciconfig hci0 up 
sudo hcitool -i hci0 cmd 0x08 0x0006 40 [...] 00 
sudo hcitool -i hci0 cmd 0x08 0x000A 01 
sudo hcitool -i hci0 cmd 0x08 0x0008 1E [...] 02 C0 00 00 00 00 C5 00 

到目前爲止,這美麗的工作。服務運行,只要Pi上電,iBeacon就會被廣告。

現在我想用廣告數據發送一些信息。我有一個亮度傳感器連接到Pi,只要返回true,如果超過某個閾值的亮度。

我的想法是使用次要標識符並使​​用1來表示「它是明亮的」而0來表示「它是黑暗的」。我的應用程序可以解釋這一點,而無需通過網絡請求輪詢Pi當前的傳感器狀態。

但是由於我靜態地設置了廣告包,所以我相信我將無法使用這種方法。

我不知道該怎麼做,所以我希望有人可能有一些洞察力,並指出我在正確的方向。

謝謝你的時間!

回答

1

簡單。你可以簡單地重新發出這些命令,特別是最後一個:

sudo hcitool -i hci0 cmd 0x08 0x0008 1E [...] 02 C0 00 00 00 00 C5 00

只需更改最後一個字節以上的C5是01之前,如果你想送出的1未成年人,並改回到00,如果你想發出一個小的0.

+0

因此,我會寫一個腳本,定期檢查傳感器的價值,並重新發布基於這個命令? – LJGibbs

+0

是的。目前還不清楚你如何閱讀傳感器,但如果你可以發佈一個例子,我可以展示一個可以動態改變信標傳輸值的shell腳本。 – davidgyoung

+0

謝謝!我使用crontab和wiringPi完成了它! :) – LJGibbs