2013-08-28 106 views
2

我使用RedBear BLE Shield將數據連續傳輸到iOS。將數據從BLE SHIELD Arduino流式傳輸到iPhone

我使用的SDK提供聊天iOS應用調試下面的Arduino代碼:

#include <Arduino.h> 
#include <SPI.h> 
#include "ble.h" 

unsigned int reading = 0; 

void setup() 
{ 
    SPI.setDataMode(SPI_MODE0); 
    SPI.setBitOrder(LSBFIRST); 
    SPI.setClockDivider(SPI_CLOCK_DIV16); 
    SPI.begin(); 

    ble_begin(); 

    Serial.begin(57600); 
} 

unsigned char buf[16] = {0}; 
unsigned char len = 0; 

void loop() 
{ 

    ble_do_events(); 

    if(ble_connected()){ 

     reading = 10; //this is fake data for testing purposes. 
     buf[0] = reading; 
     reading = reading << 8; 
     reading |= 11; //again same fake data 
     buf[1] = reading & 0xFF; 
     len = 2; 
     Serial.print(reading); Serial.print(" -> LSB:"); Serial.print(buf[1], HEX); Serial.print(" MSB:"); Serial.println(buf[0], HEX); 

    len = 2; 
    for (int i = 0; i < len; i++) 
     ble_write(buf[i]); 
    ble_write(0x0D); 
    len = 0; 

    ble_do_events(); 

    delay(20); 
    } 
} 

我遇到以下問題: 我第一次嘗試連接到BLE保護它只是執行循環一次,它會卡住。那麼,如果我斷開連接並重新連接,數據就會按照我的意願開始流式傳輸。

任何人都試過嗎?

回答

0

我使用BLE Simple來測試你的程序。你的確被卡住了。但如果你評論最後的ble_do_events()出來,一切都很好。

看起來,應用程序會在一段時間後自動連接和斷開BLE屏蔽。我是新來的,並不真正理解這個......是因爲當ble_write被調用時,ble會播放應用程序來通知這裏是短信。那麼這個應用程序將連接並獲取短信?