更改ESP8266相关路由信息

原创 2016年08月29日 08:13:50

前言

ESP8266上电的时候可以通过手机的WIFI看到ESP8266的SSID,但是因为加了密码而连接不上,用户可以通过对ESP8266编程来更改ESP8266的SSID以及密码。

相关数据类型介绍

一、softap_config

成员名称 数据类型 功能
ssid uint8大小的数组 WIFI AP SSID
password uint8大小的数组 WIFI AP 密码
ssid_len uint8 SSID 长度
channel uint8 通道
authmode AUTH_MODE -
ssid_hidden uint8 -
max_connection uint8 -
beacon_interval uint16 -

结构体原型

struct softap_config 
{
    uint8 ssid[32];
    uint8 password[64];
    uint8 ssid_len; // Note: Recommend to set it according to your ssid
    uint8 channel;  // Note: support 1 ~ 13
    AUTH_MODE authmode; // Note: Don't support AUTH_WEP in softAP mode.
    uint8 ssid_hidden;  // Note: default 0
    uint8 max_connection;   // Note: default 4, max 4
    uint16 beacon_interval; // Note: support 100 ~ 60000 ms, default 100
};

相关API介绍

一、wifi_softap_get_config

功能 查询 ESP8266 WiFi soft-AP 接口当前的配置 -
函数原型 bool wifi_softap_get_config(struct softap_config *config) -
参数 *config 获取到的soft-ap当前的配置
返回值 true 获取配置成功
- false 获取配置失败

二、wifi_softap_set_config

功能 配置 ESP8266 WiFi soft-AP并保存到flash中 -
函数原型 bool wifi_softap_set_config(struct softap_config *config) -
参数 *config soft-ap的配置
返回值 true 配置成功
- false 配置失败
注意 需要在 ESP8266 soft_AP使能的情况下调用此API -

三、 wifi_softap_set_config_current

功能 配置 ESP8266 WiFi soft-AP不保存到flash中 -
函数原型 bool wifi_softap_set_config_current(struct softap_config *config) -
参数 *config soft-ap的配置
返回值 true 配置成功
- false 配置失败
注意 需要在 ESP8266 soft_AP使能的情况下调用此API -

相关例程

#include "ets_sys.h"
#include "osapi.h"
#include "user_interface.h"
#include "uart.h"
#include "gpio.h"
#include "app_socket.h"
#include "string.h"

void user_init( void )
{
    struct softap_config config;

    /** 初始化ESP8266工作模式 */
    if ( wifi_get_opmode() != 0x03 )
    {
        wifi_set_opmode( 0x03 );
    }

    /** 获取当前soft-AP配置 */
    wifi_softap_get_config( &config );

    /** 清零参数 */
    os_memset( config.ssid, 0, 32 );
    os_memset( config.password, 0, 64 );

    /** 写入数据 */
    os_memcpy( config.ssid, "SMART_SOCKET_ID", os_strlen( "SMART_SOCKET_ID" ) );
    os_memcpy( config.password, "12345678", os_strlen( "12345678" ) );

    config.authmode = AUTH_WPA_WPA2_PSK;
    config.ssid_len = 0;  // or its actual length
    config.beacon_interval = 100;
    config.max_connection = 4;  // how many stations can connect to ESP8266 softAP at most.

    /** 写入配置 */
    wifi_softap_set_config( &config );
}

参考资料

[1]. ESP8266Non-OS SDK API参考

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

WiFi-ESP8266入门开发(四)-设置软热点

将ESP8266设置为一个热点,可供其他设备连接并交换数据,主要使用的函数:WiFi.softAP(ssid, password, channel, hidden)。 参数说明: ssid...

Esp8266 从WiFi连接讲解其中的必备函数

Esp8266 从WiFi连接讲解其中的必备函数 对于关注物联网的同志们,这款芯片并不陌生!然而,对于比较系统的讲解还是较少。对于这款芯片的关注者及测试者,决定对这款芯片做一些系统的讲解。 首先,我...

【ESP8266】基于ESP8266的MicroPython入门笔记

本文是ESP8266运行MicroPython入门笔记,记录自己在探索MicroPython所见所思的同时,也顺便简单评估该开发方式的优缺点。...

esp8266路由模式设置

通过几天的调试,实现了esp8266作为服务器下的网络数据传输,现将步骤整理如下...

通过网页配置esp8266的ssid和passwd

这几天调试esp8266连接机智云,下载完固件之后使用手机端的IOEDemo或是机智云去配置esp8266连接家里的wifi总是失败,无论使用softap还是arilink都不行,具体现象是,可以搜索...
  • k7arm
  • k7arm
  • 2016年07月18日 07:14
  • 3583

<WIFI>wifi工作模式的获取和设置为AP模式(基于SDK)

首先,esp8266支三种工作模式,分别是station模式、soft-AP模式、station+soft-AP模式(混合模式)。首先来解释一下这几个模式。 在station模式下,wifi芯片要搜索...

ESP8266 可靠性及ID

对使用C语言为 ESP8266 编写程序的你们来说,问题在于: ESP SDK (1.2.0) 和关于WiFi的可能非常重要的信息以及 MQTT 协议的可靠性。 在 SDK 中: ...

ESP8266学习笔记3:建立自定义的softAP

刚才在乐鑫官网看到了配置AP的例程,于是做了第一次代码修改尝试。 官网例程连接:http://bbs.espressif.com/viewtopic.php?f=21&t=227&sid=352ff1...
  • zddxmu
  • zddxmu
  • 2015年07月09日 14:22
  • 6368

ESP8266--学习笔记(二)扫描、连接WiFi

经过上次的HelloWorld,我们知道了其实ESP8266其实是里面有个单片机的模块,我的操作其实就是操作里面的单片机,因为是单片机所以里面会有各种内置的外设,而我们的重点是使用WiFi,所以就直接...

关于ESP8266使用总结

2016/1/20 首先,该模块使用了AT指令进行操作,我们要做的,就是将需要的AT指令,以字符串的形式发给模块,即可实现相应的功能。 1.      wifi模块ESP8266的默认波特率是11...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:更改ESP8266相关路由信息
举报原因:
原因补充:

(最多只允许输入30个字)