联德胜w801开发板(六)手机蓝牙设置wifi名称和密码

一、概述

W801 是一款集成了 Wi-Fi 和蓝牙功能的芯片,本文将介绍如何利用 W801 的蓝牙功能,实现手机 APP 通过蓝牙配置 W801 连接的 Wi-Fi 名称和密码(即配网功能)。

二、文档查看:

demo使用手册这里很清楚:

直接按这个步骤操作即可

三、工具准备

只需要手机下载nRF connect即可,文档说应用商店可以直接下载,我反正是没找到。。

这里也是搜索了一下,把nRF connect下载的文章贴上:

【nRF Connect】一、下载方法及简介-CSDN博客https://blog.csdn.net/weixin_43352285/article/details/124518583https://blog.csdn.net/weixin_43352285/article/details/124518583

四、代码编写

1、打开蓝牙demo的任务

直接按文档操作,打开BT任务:

打开TLS_CONFIG_BLE、关闭宏定义 TLS_CONFIG_BR_EDR

看手册的操作过程我们可以看到,是w801作server端,找到服务端的文件,然后只找到demo初始化,再点进去server的初始化:

点进gatt_demo_svr_svcs,可以看到,接收处理是gatt_svr_chr_demo_access_func这个函数

2、修改蓝牙接收函数

程序原来只把数据的16进制打印了出来(print_bytes),我加了打印长度和字符,因为现在要实现的是发送wifi名字和密码

3、打印log测试

①改完后编译烧写程序,按手册步骤开蓝牙:

②然后手机端用nRF connect,找到设备:

③连接设备:

④点击这里发送

我是之前就保存了,第一次点new 然后选择text,在值那里输入就好。

⑥查看串口打印log

方框上边的是连接成功打印的内容,方框内就是我们刚编写的测试代码。

4、连接wifi

接收到wifi的名称和密码后,我本来想直接调用demo_connect_net的,但是在wm_ble_server_api_demo.c文件直接引用wm_demo_console.h的话会报错,看了下原因是会有重复定义,所以我直接在wifi连接的wm_connect_net_demo.c里边重新再定义了一个链接函数。

内容跟demo_connect_net一样,只是做了换名手术:

然后在wm_demo.h里边定义

蓝牙数据的接收函数里,简单作了一下数据判断,然后收到密码的时候直接调用connect_net,连接wifi,wifi_name和wifi_password两个数组我做了全局

五、实测

下载程序后像上边一样,先串口输入t-bt-on,再输入t-ble-server-on,打开蓝牙服务

手机再连接,然后发送wifi的名称和密码,发送的内容从上边的程序也可以看出来

我下边保存的wifiname的数据内容是: name"双引号里是你的wifi名称",password的数据内容是: password"双引号里是你的wifi密码"

发送之后,查看串口打印的信息,把名称和密码都打印了出来,然后开始连接网络,这里能看出来是成功了

六、后续思考

这里实现的只是很简单的跑通这个用途,可优化和细节的地方有很多,例如打开蓝牙可以通过按键,而不是用串口来输入命令(用串口来输入命令那还不如直接输入wifi的连接指令),接收到wifi的名称和密码后可发送接收成功到手机app,连接成功也可以发送成功信息,还可以在wifi连接成功后执行mqtt的任务。

相关推荐
Devlab8 小时前
LVGL设计大师——网页版anyui来了!!
嵌入式硬件·物联网·低代码·ui·iot
Dr.kangder11 小时前
嵌入式面试总结(十五)——异常处理
单片机·面试·职场和发展·系统架构·嵌入式
ACP广源盛1392462567313 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
振南的单片机世界15 小时前
SysTick硬核拆解:既是HAL_Delay的“心跳”,也是RTOS的“节拍器”
arm开发·stm32·单片机·嵌入式硬件
Lzh编程小栈16 小时前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
水果里面有苹果16 小时前
28-DRV8825PWPR步进电机驱动器
单片机
MEIXIFU118 小时前
便利店实际经营面积怎么选最合适
大数据·人工智能·物联网·生活·迭代加深
Dr.kangder21 小时前
嵌入式面试总结(十九)——内存泄露
单片机·算法·面试·职场和发展·架构·硬件架构
数据猿视觉21 小时前
告别参数内卷:科技数码行业步入高质量 “长跑期”
大数据·人工智能·物联网
2601_953988071 天前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·后端·物联网·tcp/ip·数学建模·前端框架