Arduino / Swift - BLE通讯POST&得到

时间:2016-03-07 19:42:05

标签: ios swift arduino core-bluetooth bluetooth-lowenergy

如何使用swift和arduino设备进行BLE通信? 现在有了我的代码,我能够为我的BLE盾牌发送价值,但我不知道如何将报告发回给我的快速申请!

我使用HM-10 BLE模块和Swift 2.0。

这是我的arduino代码:

  #include<SoftwareSerial.h>

  SoftwareSerial Try(1,0);

  void setup() {
  pinMode(3, OUTPUT);
  Try.begin(9600);
}

void loop() {
  if(Try.available()){
    switch(Try.read()){
      case('a') :{
        digitalWrite(3, HIGH);
      }
    }
  }
}

这是一个简单的代码,当收到char&#39; a&#39;从我的应用程序,它打开一个绿色LED。 这一切都还可以,但我想发回报告&#39;绿色LED开启!&#39;到我的Swift应用程序。

所以这是发送&#39; a&#39;的Swift代码。我的BLE模块的价值。

import UIKit
import CoreBluetooth


class Connection: UIViewController{

    var connee: CBCharacteristic!
    var per: CBPeripheral!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func SendingVal(sender: AnyObject) {

        let Sen = "a"
        let Value: NSData = Sen.dataUsingEncoding(NSUTF8StringEncoding)!

        sendDataToCentral(per, characteristic: connee, data:  Value)

    }


    private func sendDataToCentral(peripheral: CBPeripheral, characteristic: CBCharacteristic, data: NSData) {
        peripheral.writeValue(data, forCharacteristic: characteristic, type: CBCharacteristicWriteType.WithoutResponse)    }

}

那么,我怎样才能将BLE模块的报告发送回我的swift应用程序?

1 个答案:

答案 0 :(得分:0)

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

从特征中获取价值 当值发生变化时,该委托调用。 外围设备发现此更新值。