You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于ESP32的逐向导航实现问题求助

ESP32作为逐向导航设备的蓝牙数据传输问题

我想开发一个应用,将ESP32用作逐向导航的“GPS”设备。查阅了大量项目,但要么难以理解,要么部分项目已失效。目前已通过BLEDevice实现ESP32与安卓手机的蓝牙连接,代码如下:

#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEServer.h>

// 生成UUID可参考相关工具
#define SERVICE_UUID        "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8"

void setup() {
  Serial.begin(115200);
  Serial.println("Starting BLE work!");

  BLEDevice::init("Long name works now");
  BLEServer *pServer = BLEDevice::createServer();
  BLEService *pService = pServer->createService(SERVICE_UUID);
  BLECharacteristic *pCharacteristic = pService->createCharacteristic(
                                         CHARACTERISTIC_UUID,
                                         BLECharacteristic::PROPERTY_READ |
                                         BLECharacteristic::PROPERTY_WRITE
                                       );

  pCharacteristic->setValue("Hello World says Neil");
  pService->start();
  BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
  pAdvertising->addServiceUUID(SERVICE_UUID);
  pAdvertising->setScanResponse(true);
  pAdvertising->setMinPreferred(0x06);  // 解决iPhone连接问题的参数
  pAdvertising->setMinPreferred(0x12);
  BLEDevice::startAdvertising();
  Serial.println("Characteristic defined! Now you can read it in your phone!");
}

void loop() {
  delay(2000);
}

核心问题:我无法确定哪款手机导航应用(如Waze、Komoot、Sygic等)可以获取转向、速度等导航数据并发送至ESP32。我也曾尝试KomootBLEConnect.h方案,手机虽能与ESP32蓝牙连接,但无法获取导航信息,代码如下:

#include "Arduino.h"
#include "KomootBLEConnect.h"

// 收到Komoot数据时触发此回调,可在此处理数据
void NavCallback(uint8_t icon, uint32_t length, String street)
{
  Serial.printf("icon: %d, length %d, street: %s\n", icon, length, street.c_str());
}

void setup()
{
  Serial.begin(9600);
  Serial.println("Starting Arduino BLE Client application...");
  Komoot::BLEHandler::Begin("ESP32 Komoot");
  Komoot::BLEHandler::RegisterCallback(NavCallback);
}


void loop()
{
  Komoot::BLEHandler::Loop(); // 扫描提供BLEConnect服务的设备,配对后自动连接
  delay(1000);
}

内容的提问来源于stack exchange,提问作者Bruno Bianchi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 21:07:10