请选择 进入手机版 | 继续访问电脑版

Blufi配网实现——esp32c3

[复制链接]
查看2030 | 回复0 | 2021-5-17 18:00:53 | 显示全部楼层 |阅读模式
本帖最后由 GE-Rita 于 2021-5-17 21:13 编辑

开发环境:esp-idf:v4.3-beta3

开发环境搭建以及使用参考链接:
ESP32-C3上手笔记 | 01 - ESP32 C3开发环境搭建(ESP-IDF)

工程代码:
链接:BluFi工程代码
提取码:axke
调试软件——EspBluFi
软件下载链接:EspBluFi(for android or IOS)


操作过程:
  • 程序结构
(1)四个事件处理
1)wifi部分的事件处理
  1. static void wifi_event_handler(void* arg, esp_event_base_t event_base,
  2.                                 int32_t event_id, void* event_data)
复制代码

设置WiFi模式(STA模式、AP模式以及STA/AP模式);
连接WiFi;
WiFi断开重连处理;

2)netif部分的事件处理
  1. static void ip_event_handler(void* arg, esp_event_base_t event_base,
  2.                                 int32_t event_id, void* event_data)
复制代码

获取网络IP地址,完成IP接口搭建(默认IO口);
更多netif功能介绍与使用参考链接:ESP-NETIF

3)blufi配网部分的事件处理(此过程事件的处理均按照收到的请求作相应的功能处理,可按照个人需求进行修改)
  1. static void example_event_callback(esp_blufi_cb_event_t event, esp_blufi_cb_param_t *param)
复制代码
完成blufi功能初始化,设置 设备名称(Device Name) 并发送特定的 adv data 广播;
处理deinit配置事件;
连接Blufi Ble,并设备进入安全模式;
设置ble断开重连;
设置WiFi进入运行模式——op_mode;
设置断开核心板原有的WiFi连接,并连接指定WiFi;
断开当前WiIFi连接到的AP;
上报错误信息;
获取WiFi状态信息,包括:WiFi当前模式、以及是否连接成功;
关闭blufi的gatt服务连接;
设置核心板进入STA模式,获取目标AP的bssid;
设置核心板进入STA模式,获取目标AP的WiFi账号;
设置核心板进入STA模式,获取目标AP的WiFi密码;
设置核心板进入soft AP模式,获取AP自定义账号;
设置核心板进入soft AP模式,获取AP自定义密码;
设置核心板soft AP模式下最大可连接设备数量;
设置核心板soft AP模式下进入认证模式;
设置核心板soft AP模式下的通讯通道;
获取扫描到的空中WiFi账号、通信通道以及站点MAC地址;
将接收到的数据打印出来;

相关事件标志位的含义可参考定义文件:
esp-idf-v4.3-beta3\components\bt\host\bluedroid\api\include\api\esp_blufi_api.h


4)ble网关事件处理
  1. static void example_gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param)
复制代码
用于当adv data数据报组装完成以后发送adv data广播
(2)主程序
1)初始化WiFi;
2)初始化蓝牙控制器;
3)使能蓝牙控制器;
4)初始化bluedroid;
5)使能bludroid;
6)获取蓝牙地址;
7)获取blufi版本号;
8)创建蓝牙网关处理事件;
9)创建blufi事件;

更多blufi配网功能函数的介绍参考文档:BLUFI API

  • 代码调试
工程代码烧录完成以后,打开EspBluFi软件,选中核心板蓝牙名称(BLUFI_DEVICE_NAME),本例程的设备名称为“EP32C3”,进入配置界面,点击“连接”;

(1)

(2)


界面显示连接成功且打印蓝牙信号强度等信息之后,选中“配网”,输入本地WiFi账号与密码,点击确定,待板子连接上WiFi之后,将反馈WiFi各项状态信息;

(1)

(2)

(3)


整个调试过程,开发板数据接收情况如下:



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

7

主题

8

帖子

80

积分

注册会员

Rank: 2

积分
80