Подключите ESP32 к умным часам Mi Band 6.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Подключите ESP32 к умным часам Mi Band 6.

Сообщение Anonymous »


У меня есть следующий код. Я пытаюсь подключить ESP32 к умным часам Mi Band 6 по Bluetooth. Я не могу установить соединение между устройствами и пытаюсь показать найденные устройства, но безуспешно. Вот код; если кто-то может дать полезный совет

#include `Библиотека Bluetooth` #include #include #include БЛЕКлиент* pКлиент; БЛЕадрес* pServerAddress; BLERemoteCharacteristic* pRemoteCharacteristic; static bool deviceConnected = false; // Сервисный UUID фитнес-браслета, полученный через приложение nRF Connect статический BLEUID serviceUUID((uint16_t)0x1800); // Характеристика UUID статический BLEUID charUUID((uint16_t)0x2A04); статическое логическое соединение = ложь; статическая сила notifyCallback( BLERemoteCharacteristic* pBLERemoteCharacteristic, uint8_t* pData, длина size_t, bool isNotify) { Serial.println(pData[1]); } bool ConnectToServer (BLEAddress pAddress) { Serial.print(F("Создание вызова: ")); Serial.println(pAddress.toString().c_str()); BLEClient* pClient = BLEDevice::createClient(); Serial.println(F(" - клиент создан")); // Подключаемся к удаленному BLE-серверу. if (!pClient->connect(pAddress, (esp_ble_addr_type_t)1)) { Serial.println(F(" - Не удалось подключиться к серверу")); вернуть ложь; } Serial.println(F(" - Подключено к серверу")); // Получение ссылки на сервис на удаленном BLE-сервере. BLERemoteService* pRemoteService = pClient->getService(serviceUUID); // Сообщаем, был ли сервис найден на сервере если (pRemoteService == nullptr) { Serial.print(F("Не удалось найти UUID нашего сервиса: ")); Serial.println(serviceUUID.toString().c_str()); вернуть ложь; } Serial.println(F(" - Найден наш сервис"); // Получение ссылки на характеристику в сервисе удаленного BLE-сервера. pRemoteCharacteristic = pRemoteService->getCharacteristic(charUUID); // Сообщаем, если характеристика найдена на сервере если (pRemoteCharacteristic == nullptr) { Serial.print(F("Не удалось найти UUID характеристики: ")); Serial.println(charUUID.toString().c_str()); вернуть ложь; } Serial.println(F(" - Найдена наша характеристика"); // Читаем значение характеристики std::string value = pRemoteCharacteristic->readValue(); Serial.print(F("Значение характеристики: ")); Serial.println(value.c_str()); pRemoteCharacteristic->registerForNotify(notifyCallback); вернуть истину; } класс MyAdvertizedDeviceCallbacks: public BLEAdvertizedDeviceCallbacks { частный: const char* pServerName; публика: void onResult (BLEAdvertizedDevice AdvertisedDevice) { если (рекламируемоеDevice.haveServiceUUID() && AdvertisedDevice.getServiceUUID().equals(BLEUUID("0000180a-0000-1000-8000-00805f9b34fb"))) { // Найден Xiaomi Mi Band 7 по UUID его сервиса Serial.println("Найден Xiaomi Mi Band 7!"); рекламируемоеDevice.getScan()->stop(); pServerAddress = новый BLEAddress(advertizedDevice.getAddress()); pServerName = рекламируемоеУстройство.getName().c_str(); Serial.println(рекламируемоеУстройство.getName().c_str()); // Подключаемся к Mi Band pClient = BLEDevice::createClient(); если (connectToServer(*pServerAddress)) { устройствоConnected = правда; } } } }; недействительная настройка() { Serial.begin(115200); Serial.println("Сканирование устройства..."); BLEDevice::init("ESP32_BLE_Client"); BLEScan* pBLEScan = BLEDevice::getScan(); pBLEScan->setAdvertizedDeviceCallbacks(new MyAdvertizedDeviceCallbacks()); pBLEScan->setActiveScan(истина); pBLEScan-> старт (10); // Сканируем 10 секунд } недействительный цикл() { // Если флаг "deviceConnected" истинен, то ищем и находим нужный сервер если (deviceConnected == true) { если (connectToServer(*pServerAddress)) { Serial.println(F("Подключено к серверу BLE.")); подключен = правда; } еще { Serial.println(F("Не удалось подключиться к серверу; больше нечего делать."); } deviceConnected = false;`ваш текст` } } Установите соединение между умными часами (Xiaomi Mi Band 6) и ESP32 с помощью Bluetooth.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Подключите фронт JavaScript к концу C ++ на ESP32 [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Подключите фронт JavaScript к концу C ++ на ESP32 [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как реализовать сдвиг высоты звука в Android с помощью библиотеки Rubber Band?
    Anonymous » » в форуме Android
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Mi Band 3 шага андроид
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • JasperReports не заполняет данные от jrbeancollectiondatasource в The Detail Band
    Anonymous » » в форуме Javascript
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»