2016-11-22 8 views
0

このチュートリアルの後には、https://www.raywenderlich.com/85900/arduino-tutorial-integrating-bluetooth-le-ios-swift私はiPhoneアプリを通してサーボを制御することができます。それは、iPhoneからArduinoボードにデータを送信します。私が望むのは、Arduinoからアプリケーションにデータを送信することです。基本的には逆ですが、Arduinoを使ってどのくらい正確に送信するのか混乱しています。Arduinoからアプリにデータを送信する

これは、データがArduinoの上のサーボに送信される方法である:私は聞いていますすべては、私はRXにUUID A9CD2F86-8661-4EB1-B132-367A3434BC90と特性送信し、取得するためにUARTポートに書く必要があるということです

if(BLE_Shield.available()) { 
    myservo.write(BLE_Shield.read()); // Write position to servo 
} 

RX特性の変化を通知するアプリ。私はこれを理解するのに苦労し、助けを感謝します!このWebサイトには、ページ下部にSwiftソースコードが含まれています。

答えて

1

通常、私はシンプルなHM-10 BLE 4.0モジュールを使用しますが、ロジックは同じになりますので、私は、ブラックウィドウBLEシールドを使ったことがありません。 ArduinoからiPhoneにデータを送るには書いてください.... "write":

BLE_Shield.write("Test");

また、データを受信するには、didUpdateValueFor characteristicというBTService.swiftクラス内に関数を記述する必要があります。

func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) { 

    if (error != nil) { 
     print("Error rading characteristics: \(error)......)") 
     return; 
    } 

    if (characteristic.value != nil) { 
     //value here. 

     print("value is : \(characteristic.value)") 
     let dataBLE = String(data: characteristic.value!, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue)) 

     print("Data from Arduino:\(dataBLE!)") 
    } 
} 

この機能を使用するには、iPhoneが常にBLEに接続されていることを確認する必要があります。

関連する問題