AI语音智能体开发日记(二)解决 Wi-Fi 配网小程序的兼容性问题

 相关链接:
AI语音智能体开发日记(一)如何为“小智”服务器启用并调试 License 功能-CSDN博客

AI语音智能体开发日记(二)解决 Wi-Fi 配网小程序的兼容性问题-CSDN博客

AI语音智能体开发日记(三)解决小程序配网中的蓝牙命名与MAC地址获取问题-CSDN博客

AI语音智能体开发日记(四)在FreeRTOS中构建线程安全的UART2通信模块-CSDN博客

AI语音智能体开发日记(五)为智能设备注入“灵魂”——详解MCP工具的注册与使用-CSDN博客

推荐链接:

AI语音智能体架构解析(一)系统架构全景图-CSDN博客

AI语音智能体架构解析(二)大模型(AI 的大脑)-CSDN博客

AI语音智能体架构解析(三)智控台(指挥中心)-CSDN博客

AI语音智能体架构解析(四)AI 语音终端(执行器官)-CSDN博客

AI语音智能体架构解析(五)小程序/APP(遥控器)-CSDN博客

推荐链接:
AI 应用 图文 解说 (一) -- 百度智能云 实现 语音 聊天-CSDN博客
AI 应用 图文 解说 (二) -- 百度智能云 ASR LIM TTS 语音AI助手程序 -CSDN博客

开发手记:解决 Wi-Fi 配网小程序的兼容性问题

最近在折腾 项目时,遇到了一个关于 Wi-Fi 配网小程序的兼容性问题,记录一下排查和解决的过程。

问题背景

在使用最新拉取的 lightning 项目源码进行开发时,发现默认的配网逻辑与预期不符。

我们的目标是使用“小智云”服务,并配合七牛的小程序进行 Wi-Fi 配网。但在默认配置下,这一流程无法正常工作。

问题定位

经过对源码的分析,问题出在 project/ln_model_public/CMakeLists.txt 这个文件的配置上。

核心问题在于 USE_BLUFI_CONFIG 这个宏定义。在原始代码中,它可能被默认开启,导致编译时链接了 BLUFI (Bluetooth Wi-Fi Provisioning) 相关的配网模块,而不是我们期望的、基于小程序的配网方案。

解决方案

解决这个问题的方法非常直接,就是修改 CMakeLists.txt 文件,显式地关闭 BLUFI 配网功能。

  1. 定位文件:打开项目中的 project/ln_model_public/CMakeLists.txt 文件。
  2. 修改配置:找到 USE_BLUFI_CONFIG 的定义,并将其值设置为 OFF

修改后的代码片段如下:

1# 关键修改:将 USE_BLUFI_CONFIG 设置为 OFF
2set(USE_BLUFI_CONFIG OFF)
3
4if(USE_BLUFI_CONFIG)
5    # 如果开启,会使用 BLUFI 相关的源文件进行配网
6    set(NET_CFG_SRC
7        app/blufi_netmgr.c
8        app/blufi_port.c
9        app/blufi.c
10    )
11else()
12    # 如果关闭,则会使用其他的配网方案,例如我们需要的 usr_ble_app
13    set(NET_CFG_SRC
14        app/usr_ble_app.c
15        app/network/network_manager.c
16    )
17endif()
原理分析

这个 CMakeLists.txt 文件通过一个 if-else 条件判断来控制编译哪些源文件:

  • 当 USE_BLUFI_CONFIG 为 ON 时:编译器会包含 blufi_netmgr.cblufi_port.c 等文件,启用的是蓝牙配网(BLUFI)模式。
  • 当 USE_BLUFI_CONFIG 为 OFF 时:编译器会转而包含 usr_ble_app.c 和 network_manager.c 等文件。这正是我们使用“小智云”和七牛小程序进行配网所需要的模块。

因此,通过简单地修改这一个配置项,我们就成功地将配网方案从 BLUFI 切换到了我们项目所需的、基于小程序的方案,从而解决了配网失败的问题。

这个小问题虽然解决起来很快,但也提醒我们在集成不同 SDK 或方案时,一定要仔细检查项目的编译配置,确保启用了正确的功能模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值