esp8266 nvs应用

esp8266 nvs应用

一个芯片,做成一个产品,都会需要在断定的时候对一些数据进行保存,以esp8266为例,需要连接网络,所以设备必须能够保存ssid,password,否则设备如何联网,本文就结合上篇文章at命令的开发,通过at命令将ssid,password调用nvs接口,将数据保存起来,设备开机,直接读取后进行联网操作。

1.增加at命令方法

1.at命令增加到列表

atcmd_table_t at_table[] = {
    {"AT+TEST",at_test_fun},
    {"AT+CONNECTWIFI",at_connect_wifi_fun},

};

2.实现at命令处理函数at_connect_wifi_fun
联网(写ssid,password):AT+CONNECTWIFI=1234,12345678[回车]
读取ssid.password:AT+CONNECTWIFI=read[回车]

void at_connect_wifi_fun(int argc,char * argv)
{
    wifi_msg_t wifi_msg_new;
    char msg_str[64];
    char *p;
    nvs_handle handle_wifi;
    int len = 0;
    int rc;

    
    memset(&wifi_msg_new,0,sizeof(wifi_msg_new));
    memset(msg_str,0,64);

    //argc 参数长度,argv内容
    if(0 != strncmp(argv,"read",4))
    {
        printf("---write\n");
        //写wifi ssid password
        memcpy(msg_str,argv,argc);
        printf("at parameter:%s\n",msg_str);
        
        p = strchr(msg_str,',');
        //提取ssid'
        memcpy(wifi_msg_new.ssid,msg_str,(p-msg_str));
        //
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值