设为首页 加入收藏

TOP

ESP32-两种有趣的wifi连接方式(十)
2023-07-23 13:31:13 】 浏览:325
Tags:ESP32- wifi 连接方
("wificonfig", NVS_READWRITE, &wificonfig_handle); if (err != ESP_OK) { ESP_LOGI(TAG, "Error (%s) opening NVS handle!\n", esp_err_to_name(err)); } else { ESP_LOGI(TAG, "opening NVS handle Done\n"); ESP_LOGI(TAG, "Get ssid and pass from NVS ... \n"); // 获取是否有wifi信息的标志位 err = nvs_get_u32(wificonfig_handle, "flag", &flag); if (err == ESP_OK) { ESP_LOGI(TAG, "Get wifi config"); } else { ESP_LOGI(TAG, "get err =0x%x\n", err); } if (!flag) { //没有返回0,没有获得连接标志 ESP_LOGI(TAG, "NO Get wifi config flag!\n"); } else { // 获取名称 len = WIFI_LEN; err = nvs_get_str(wificonfig_handle, "ssid", wifi_ssid, &len); if (err == ESP_OK) { ESP_LOGI(TAG, "Get ssid success!\n"); ESP_LOGI(TAG, "ssid=%s\n", wifi_ssid); ESP_LOGI(TAG, "ssid_len=%d\n", len); } else { ESP_LOGI(TAG, "get err =0x%x\n", err); ESP_LOGI(TAG, "Get ssid fail!\n"); } // 获取密码 len = WIFI_LEN; err = nvs_get_str(wificonfig_handle, "pass", wifi_passwd, &len); if (err == ESP_OK) { ESP_LOGI(TAG, "Get key success!\n"); ESP_LOGI(TAG, "password=%s\n", wifi_passwd); ESP_LOGI(TAG, "password_len=%d\n", len); } else { ESP_LOGI(TAG, "get err =0x%x\n", err); ESP_LOGI(TAG, "Get ssid fail!\n"); } } err = nvs_commit(wificonfig_handle); if (err == ESP_OK) ESP_LOGI(TAG, "nvs_commit Done\n"); else ESP_LOGI(TAG, "nvs_commit Failed!\n"); } // 关闭nvs nvs_close(wificonfig_handle); return flag; }

写入WiFi信息

/**
 * @description: 在nvs中写入 wifi ssid pass
 * @param {char} *wifi_ssid
 * @param {char} *wifi_passwd
 * @return {*}
 */
void Set_nvs_wifi(char *wifi_ssid, char *wifi_passwd)
{

    esp_err_t err;
    nvs_handle_t my_handle;

    err = nvs_open("wificonfig", NVS_READWRITE, &my_handle);
    if (err != ESP_OK)
    {
        ESP_LOGI(TAG, "Error (%s) opening NVS handle!\n", esp_err_to_name(err));
    }
    else
    {
        ESP_LOGI(TAG, "opening NVS handle Done\n");
        ESP_LOGI(TAG, "Set ssid and pass from NVS ... \n");
        //写入ssid
        err = nvs_set_str(my_handle, "ssid", wifi_ssid);
        if (err == ESP_OK)
            ESP_LOGI(TAG, "set ssid success!\n");
        else
            ESP_LOGI(TAG, "set ssid fail!\n");
        //写入pass
        err = nvs_set_str(my_handle, "pass", wifi_passwd);
        if (err == ESP_OK)
            ESP_LOGI(TAG, "set password success!\n");
        else
            ESP_LOGI(TAG, "set password fail!\n");
        err = nvs_commit(my_handle);
        if (err == ESP_OK)
            ESP_LOGI(TAG, "nvs_commit Done\n");
        else
            ESP_LOGI(TAG, "nvs_commit Failed!\n");
    }
    // 关闭nvs
    nvs_close(my_handle);
    ESP_LOGI(TAG, "--------------------------------------\n");
}

写入标志位和擦除标志位

/**
 * @description:  设置WiFi信息标记
 * @return {*}
 */
void Set_nvs_wifi_flag(void)
{
    esp_err_t err;
    nvs_handle_t my_handle;
    uint32_t flag = 1;
    err = nvs_open("wificonfig", NVS_READWRITE, &my_handle);
    if (err != ESP_OK)
    {
        ESP_LOGI(TAG, "Error (%s) opening NVS handle!\n", esp_err_to_name(err));
    }
    else
    {
        ESP_LOGI(TAG, "opening NVS handle Done\n");
        ESP_LOGI(TAG, "Set wifi flag from NVS ... \n");

        err = nvs_set_u32(my_handle, "flag", flag);
        if
首页 上一页 7 8 9 10 下一页 尾页 10/10/10
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇OpenOCD + DAP-LINK调试ESP32的失.. 下一篇预编译#error的使用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目