资源简介
乐鑫Esp32的smartConfig和微信airKiss,一键配网轻松快捷连接路由器。CSDN博客 https://blog.csdn.net/xh870189248/article/details/80430077
代码片段和文件信息
#include
#include
#include “freertos/FreeRTOS.h“
#include “freertos/task.h“
#include “freertos/event_groups.h“
#include “esp_wifi.h“
#include “esp_wpa2.h“
#include “esp_event_loop.h“
#include “esp_log.h“
#include “esp_system.h“
#include “nvs_flash.h“
#include “tcpip_adapter.h“
#include “esp_smartconfig.h“
/* FreeRTOS event group to signal when we are connected & ready to make a request */
static EventGroupHandle_t wifi_event_group;
/* The event group allows multiple bits for each event
but we only care about one event - are we connected
to the AP with an IP? */
static const int CONNECTED_BIT = BIT0;
static const int ESPTOUCH_DONE_BIT = BIT1;
static const char *TAG = “sc“;
void smartconfig_example_task(void * parm);
static esp_err_t event_handler(void *ctx system_event_t *event) {
switch (event->event_id) {
case SYSTEM_EVENT_STA_START:
xTaskCreate(smartconfig_example_task “smartconfig_example_task“ 4096
NULL 3 NULL);
break;
case SYSTEM_EVENT_STA_GOT_IP:
xEventGroupSetBits(wifi_event_group CONNECTED_BIT);
break;
case SYSTEM_EVENT_STA_DISCONNECTED:
esp_wifi_connect();
xEventGroupClearBits(wifi_event_group CONNECTED_BIT);
break;
default:
break;
}
return ESP_OK;
}
static void initialise_wifi(void) {
tcpip_adapter_init();
wifi_event_group = xEventGroupCreate();
ESP_ERROR_CHECK(esp_event_loop_init(event_handler NULL));
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT()
;
ESP_ERROR_CHECK(esp_wifi_init(&cfg));
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
ESP_ERROR_CHECK(esp_wifi_start());
}
static void sc_callback(smartconfig_status_t status void *pdata) {
switch (status) {
//连接未开始,请勿在此阶段开始连接。
case SC_STATUS_WAIT:
ESP_LOGI(TAG “SC_STATUS_WAIT“)
;
break;
//发现WIfi信道
case SC_STATUS_FIND_CHANNEL:
ESP_LOGI(TAG “SC_STATUS_FINDING_CHANNEL“)
;
break;
//得到wifi名字和密码
case SC_STATUS_GETTING_SSID_PSWD:
ESP_LOGI(TAG “SC_STATUS_GETTING_SSID_PSWD“)
;
break;
//已经获取wifi名字与密码在连接路由器
case SC_STATUS_link:
ESP_LOGI(TAG “SC_STATUS_link“)
;
wifi_config_t *wifi_config = pdata;
ESP_LOGI(TAG “SSID:%s“ wifi_config->sta.ssid)
;
ESP_LOGI(TAG “PASSWORD:%s“ wifi_config->sta.password)
;
ESP_ERROR_CHECK(esp_wifi_disconnect())
;
ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA wifi_config))
;
ESP_ERROR_CHECK(esp_wifi_connect())
;
break;
//成功获取到IP,连接路由完成。
case SC_STATUS_link_OVER:
ESP_LOGI(TAG “SC_STATUS_link_OVER“)
;
if (pdata != NULL) {
uint8_t phone_ip[4] = { 0 };
memcpy(phone_ip (uint8_t*) pdata 4);
ESP_LOGI(TAG “Phone ip: %d.%d.%d.%d\n“ phone_ip[0] phone_ip[1]
phone_ip[2] phone_ip[3]);
}
//发送消息到另外一个任务,告诉它已经连接成功
xEventGroupSetBits(wifi_event_group ESPTOUCH_DONE_BIT);
break;
default:
break;
}
}
void smartconfig_example_task(void * parm) {
EventBits_t uxBits;
ESP_ERROR_CHECK(esp_smartconfig_set_type(SC_TYPE_ESPTOUCH_AIRKISS));
ESP_ERROR_CHECK(esp_smartconfig_start(sc_callback));
while (1)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6745 2018-05-30 14:21 4_smartConfig_AirKiss\.cproject
文件 799 2018-05-30 11:38 4_smartConfig_AirKiss\.project
文件 1189 2018-05-30 14:19 4_smartConfig_AirKiss\.settings\language.settings.xm
文件 1866 2018-05-30 14:19 4_smartConfig_AirKiss\.settings\org.eclipse.cdt.core.prefs
文件 18590 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_trace\app_trace.d
文件 2040 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_trace\app_trace.o
文件 16829 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_trace\app_trace_util.d
文件 16260 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_trace\app_trace_util.o
文件 289 2018-05-30 10:35 4_smartConfig_AirKiss\build\app_trace\component_project_vars.mk
文件 17703 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_trace\gcov\gcov_rtio.d
文件 2044 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_trace\gcov\gcov_rtio.o
文件 16623 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_trace\host_file_io.d
文件 2040 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_trace\host_file_io.o
文件 22980 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_trace\libapp_trace.a
文件 294 2018-05-30 10:35 4_smartConfig_AirKiss\build\app_update\component_project_vars.mk
文件 20450 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_update\esp_ota_ops.d
文件 52240 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_update\esp_ota_ops.o
文件 52584 2018-05-30 10:37 4_smartConfig_AirKiss\build\app_update\libapp_update.a
文件 232 2018-05-30 10:35 4_smartConfig_AirKiss\build\aws_iot\component_project_vars.mk
文件 8 2018-05-30 10:37 4_smartConfig_AirKiss\build\aws_iot\libaws_iot.a
文件 19504 2018-05-30 10:37 4_smartConfig_AirKiss\build\bootloader\bootloader.bin
文件 125980 2018-05-30 10:37 4_smartConfig_AirKiss\build\bootloader\bootloader.elf
文件 266969 2018-05-30 10:37 4_smartConfig_AirKiss\build\bootloader\bootloader.map
文件 389 2018-05-30 10:37 4_smartConfig_AirKiss\build\bootloader\bootloader_support\component_project_vars.mk
文件 184934 2018-05-30 10:37 4_smartConfig_AirKiss\build\bootloader\bootloader_support\libbootloader_support.a
文件 3503 2018-05-30 10:37 4_smartConfig_AirKiss\build\bootloader\bootloader_support\src\bootloader_clock.d
文件 6112 2018-05-30 10:37 4_smartConfig_AirKiss\build\bootloader\bootloader_support\src\bootloader_clock.o
文件 4401 2018-05-30 10:37 4_smartConfig_AirKiss\build\bootloader\bootloader_support\src\bootloader_flash.d
文件 27920 2018-05-30 10:37 4_smartConfig_AirKiss\build\bootloader\bootloader_support\src\bootloader_flash.o
文件 4194 2018-05-30 10:37 4_smartConfig_AirKiss\build\bootloader\bootloader_support\src\bootloader_random.d
............此处省略1752个文件信息
相关资源
- ESP32蓝牙架构官方
- ESP8266微信配网以及公众号绑定
- esp32 官方API编程手册
- ESP8266_8285_32系列透传固件 JFirmwareESP
- ESP32、ESP8266/85增强型透传固件 JFirmw
- 8266的SmartConfig与Airkiss一键配网的Dem
- Arduino-esp32_SoundRecorder.zip
- 安信可ESP8266模块调试工具V3.0.0
- esp32电路板文件
- ESP32原理图和PCB
- Arduino-arduino-esp32.zip
- Esp32_Cam_Test.exe
- 在ESP32下,使用mbedtls库,测试sha、a
- esp32-Lyratd-msc 语音识别板使用指南
- ESP32 MQTT的DEMO
- esp32 qt 源码
- esp8266自动获取天气及时钟在oled显示
- GOOUUU-ESP32原理图
- esp32 sdk编程利用rmt驱动ws2812七彩灯,
- esp32 Windows环境工具链安装指导,
- esp8266可用的28byj、20byj、24byj五线四相
- ESP32开发板原理图ESP-WROVER-KIT.pdf
- zadig-2.5.zip
- ESP32 仿STM32原子哥程序处理外部Flash
- MicroPython for ESP32 快速参考
- esp32自动获取天气及时钟在oled显示,
- ESP32模组原理图和PCB
-
Arduino-esp32_MusicPla
yer.zip - SerialGraph.zip
- ESP8266 + Airkiss从零开始实现微信配网微
评论
共有 条评论