如何使用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应用程序?
答案 0 :(得分:0)
func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
print(characteristic)
}
从特征中获取价值 当值发生变化时,该委托调用。 外围设备发现此更新值。