Arduino 101/Genuino 101 蓝牙4.0 BLE接收char类型数据

Arduino 101/Genuino 101板子与arduino 相比多了一些功能,其中一个就是多了一块4.0的蓝牙BLE。

4.0蓝牙接收数据的协议与2.0的有所不同,更加复杂。

如下代码为101板子自带的BLE模块接收char类型数据源码。

#include <CurieBLE.h>

BLEService ledService("19B10000-E8F2-537E-4F6C-D104768A1214"); 
BLEUnsignedCharCharacteristic switchCharacteristic("19B10001-E8F2-537E-4F6C-D104768A1214", BLERead | BLEWrite);

void setup() {
  Serial.begin(9600);

  BLE.begin();
  BLE.setLocalName("LIU_BLE_01");
  BLE.setAdvertisedService(ledService);
  ledService.addCharacteristic(switchCharacteristic);
  BLE.addService(ledService);
  switchCharacteristic.setValue(0);
  BLE.advertise();
}

void loop() {

  BLEDevice central = BLE.central();
  if (central) {
    Serial.print("Connected to central: ");
    Serial.println(central.address());
    while (central.connected()) {
      if (switchCharacteristic.written()) {
        Serial.println(switchCharacteristic.value() );
      }
    }
    Serial.print(F("Disconnected from central: "));
    Serial.println(central.address());
  }
}

阅读更多

没有更多推荐了,返回首页