Проблема с характеристикой разрешения на запись ArduinoBLE

Я начал простой проект BLE project на Arduino, где я управляю светодиодом из приложения (включаю и выключаю). Я дал переключателю характеристическое разрешение BLEWrite. Проблема в том, что когда я проверяю его позже, на нем его нет. Понятия не имею почему. Если бы вы могли мне помочь, это было бы здорово, и я был бы признателен. Кроме того, я думаю, вы можете проверить остальную часть моего кода, чтобы узнать, есть ли другие проблемы.

#include <ArduinoBLE.h>


BLEService ledService("19B10000-E8F2-537E-4F6C-D104768A1214"); // led service 
BLEByteCharacteristic switchCharacteristic("19B10001-E8F2-537E-4F6C-D104768A1214", BLEBroadcast | BLERead | BLEWrite | BLENotify | BLEIndicate);

    void setup(){

      Serial.begin(9600);
      while (!Serial);
      if (!BLE.begin()) 
      {
      Serial.println("starting BLE failed!");
      while (1);
      }
      ledService.addCharacteristic(switchCharacteristic);
      BLE.setLocalName("LED project");
      BLE.setAdvertisedServiceUuid(ledService.uuid());

      BLE.setAdvertisedService(ledService);
      BLE.addService(ledService);
      ledService.addCharacteristic(switchCharacteristic);

      switchCharacteristic.setValue(0);

      if (switchCharacteristic.canWrite()) {
          Serial.println("characteristic is writable");
      }

      BLE.advertise();
      Serial.println("Bluetooth device active, waiting for connections...");

    }

    void loop(){

      Serial.begin(9600);

      BLEDevice central = BLE.central();

      if(central){
        Serial.print("Connected to central: ");
        Serial.println(central.address());

        while(central.connected()){
          //Serial.println(switchCharacteristic.written());
          if(switchCharacteristic.written()){
            if(switchCharacteristic.value()){
              Serial.println("LED ON");
              digitalWrite(LED_BUILTIN, HIGH);
            }else{
              Serial.println("LED OFF");
              digitalWrite(LED_BUILTIN, LOW);
            }
          }
        }
      }
      //Serial.println("Disconnected from central");

    }

0 ответов

Другие вопросы по тегам