Как мне прочитать / подключить маяк BLE на ESP32 с Arduino IDE?

Я хочу подключить свой ESP32 к JDY-08 в паре с Arduino для какого-нибудь приложения для интеллектуальных датчиков. Я хотел прочитать целое число, которое я отправил с JDY-08, установленным в режиме iBeacon. Я попробовал пример из библиотеки ESP32, который называется BLE_CLient в ESP32_BLE_Arduino. Код может найти устройство, которое я использую, это JDY-08 в сочетании с Arduino UNO. Я проверяю службу и char UUID с помощью моего приложения nRF. Кто-нибудь может сказать, что не так?

Код JDY-08:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3);

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

void loop(){
  float temperature = 0.0;
  int sample;
  float ten_samples = 0.0;

  for (sample = 0; sample < 10; sample++) {
      temperature = ((float)analogRead(A0) * 5.0 / 1024.0) - 0.5;
      temperature = temperature / 0.01;
      delay(100);
      ten_samples = ten_samples + temperature;
  }

  temperature = ten_samples / 10.0;
  int temperature_translate = (int)temperature;
  mySerial.print(temperature_translate);
  Serial.print(temperature_translate);
  ten_samples = 0.0;

  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}

person Jjeong Liang    schedule 29.10.2019    source источник


Ответы (1)


Используйте WEB Bluetooth API для некоторых проверок, с его помощью вы можете получать уведомления о данных, которые вы отправляете со своего ESP32.

Итак, сначала посмотрите, можете ли вы получать данные, поступающие из ESP32, с помощью этого веб-интерфейса: https://googlechrome.github.io/samples/web-bluetooth/notifications.html

Убедитесь, что UUID установлены правильно, я обнаружил, что для устройств типа JDY-08 коротких идентификаторов UUID, таких как 0x35655, может быть недостаточно, вам нужно получить их длинные версии, они больше похожи на 0000180a-0000-1000-8000 -00805f9b34fb, это может происходить и с вашим UUID ESP32, поэтому проверьте их с помощью следующих инструментов:

https://googlechrome.github.io/samples/web-bluetooth/.

В резюме:

  • Используйте WEB Bluetooth API для получения информации и подключения к устройствам

  • Дважды проверьте UUID сервисов и характеристик

Если это работает, но вы по-прежнему не можете получить с JDY-08:

  • Проверьте позиции TX и RX, они могут быть перевернуты

Проблема не в опубликованном коде.

person yuri    schedule 01.11.2019