初めてのBLE (5) micro:bitでペリフェラル②Arduinoのセントラル

 前回、micro:bitをBLEの温度計にしました。このペリフェラルに、セントラルがつなぎにくると、数字の1を表示し、接続がなくなると×の表示になります。

Arduino BLEのセントラル

 セントラル機能で利用しているNano 33 IoTで、サンプル・スケッチPeripheral Exploreを動かし、micro:bitに接続する実験をします。

 loop()を次のように変更します。BLEを探すと複数見つかるので、ここではlocalName() == "BBC micro:bit [gavag]"としてmicro:bitボードを発見し、その後2秒待ってから、各種データを読み出します。"BBC micro:bit [gavag]"は、サンプル・スケッチのscanで見つかった名前です。 [gavag]は製品によって異なるようです。

void loop() {
  // check if a peripheral has been discovered
  BLEDevice peripheral = BLE.available();
  delay(2000);
    if (peripheral.localName() == "BBC micro:bit [gavag]") {
          Serial.print("\nFound ");
    Serial.print(peripheral.address());
    Serial.print(" '");
    Serial.print(peripheral.localName());
    Serial.print("' ");
    Serial.print(peripheral.advertisedServiceUuid());
    Serial.println();
      // stop scanning
      BLE.stopScan();

      explorerPeripheral(peripheral);

      // peripheral disconnected, we are done
      while (1) {
        // do nothing
      }
    }
//  }
}


 実行しました。最後のUUIDが温度計です。Value=0x19は25℃です。

前へ

初めてのBLE (4) micro:bitでペリフェラル①温度のCharacteristic

次へ

初めてのBLE (6) micro:bitでペリフェラル③UARTサービス