2016-08-04 66 views
0

我嘗試使用信標(HM-10)廣播我的傳感器數據,但是有一個問題,我使用循環寫入AT命令,過了一段時間,它沒有任何迴應。HM-10 AT命令:使用信標方式廣播傳感器數據

這裏是代碼的一部分:

String pre = "AT+MARJ0x"; 
int sensorData = 0; 

loop() { 
    sensorData = getSensorData(); // always returns 100 ~180 
    String atCommand = pre + sensorData; // ex: AT+MARJ0x100 
    BTSerial.print (atCommand); 
    delay (200); 
} 

它最初成功地工作約3分鐘,然後將其不工作,不能在命令被髮送任何。 任何人都可以幫我解決這個問題嗎?

回答

0

你正在嘗試的是Ibeacon不可能的。 您只需要在傳感器數據中反覆設置HM-10設備中的主要Ibeacon數據。 主號碼是iBeacon顯示數據規格的一部分: (來源:https://developer.mbed.org/blog/entry/BLE-Beacons-URIBeacon-AltBeacons-iBeacon/

數據規格:

IBeacons廣播四種信息:

  • 的UUID識別燈塔。
  • 一個主號碼,用於識別大型組內的信標子集。
  • 標識特定信標的次要號碼。
  • 2的補碼TX功率級別,指示離設備一米的信號強度。 此編號必須由用戶或製造商爲每個設備進行校準。

    掃描應用程序讀取UUID,主號碼和次號碼,並將它們引用到數據庫 以獲取有關信標的信息; 信標本身沒有描述性信息 - 它需要這個外部數據庫有用。 TX功率字段與測量的信號強度一起使用,以確定信標離智能手機有多遠。 請注意,TxPower必須由用戶逐個燈塔進行校準以保證準確。

enter image description here

對於AT-命令通常僅用於建立的裝置中,不用於發送數據的HM-10設備。谷歌的一些例子,並學習如何設置BLE設備之間的通信。