0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SoftAP模式简介 SoftAP配网步骤详细说明

嵌入式技术 来源:嵌入式技术 作者:嵌入式技术 2022-05-30 09:05 次阅读

Wi-Fi 配网,指由外部向 Wi-Fi 设备提供 SSID 和密码(PSW),让 Wi-Fi 设备可以连接指定的热点或路由器,并加入后者所建立的 Wi-Fi 网络
对于具备丰富人机界面包括屏幕/键盘的设备,例如电脑手机,可以直接输入 SSID/PSW 进行连接。
对于不具备丰富人机交互界面的物联网 Wi-Fi 设备,例如智能灯、扫地机器人等,则可以借助手机等智能设备,以某种配网方式将 SSID/PSW 传递该设备。

1. SoftAP模式简介

设备备通过 softAP 方式创建一个 Wi-Fi 热点,手机连接该热点,再通过数据通道例如 TCP/UDP 通讯,将目标 Wi-Fi 路由器的 SSID/PSW 传递该设备,设备获取后,即可连接 Wi-Fi 路由器从而连接互联网。同时,为了对设备进行绑定,手机 App 可以利用该 TCP/UDP 数据通道,将后台提供的配网 Token 发送给设备,并由设备转发至物联网后台,依据 Token 可以进行设备绑定。本文档主要指导您如何使用softAP 方式配网开发。

2.SoftAP配网步骤

1.腾讯连连小程序进入配网模式后,则可以在物联网开发平台服务获取到当次配网的 Token。

2.配置WiFi 模式位softAP 配网模式。

3.小程序按照提示依次获取 Wi-Fi 列表,输入家里目标路由器的 SSID/PSW,再选择设备 softAP 热点的 SSID/PSW。

4.手机连接设备 softAP 热点成功后,小程序作为 UDP 客户端会连接 Wi-Fi 设备上面的 UDP 服务(默认 IP 为192.168.4.1端口8266)。

5.小程序给设备 UDP 服务,发送目标 Wi-Fi 路由器的 SSID/PSW 以及配网 Token。

6.如果2秒之内,未收到设备回复,则重复步骤5,UDP 客户端重复发送目标 Wi-Fi 路由器的 SSID/PSW 及配网 Token。(如果重复发送5次,都没有收到回复,则认为配网失败,Wi-Fi 设备有异常)

7.如果步骤5收到设备回复,则说明设备端已收到 Wi-Fi 路由器的 SSID/PSW 及 Token,正在连接 Wi-Fi 路由器,并上报 Token。此时小程序会提示手机也将连接 Wi-Fi 路由器,并通过 Token 轮询物联网后台,来确认配网及设备绑定是否成功。

7.设备端在成功连接 Wi-Fi 路由器后,需要通过 MQTT 连接物联网后台,并将小程序发送的配网 Token。

3.硬件设置与WIFI接入

1.登录腾讯云平台,进入交互开发,选择配网引导。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

2.选择配网方式为AirKiss协议配网。点保存后即可生成二维码。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_centerwatermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

3.微信小程序daunt配网引导。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

4.开始配网,配置热点信息。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

5.开始配网,等待配网完成。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

  6. 配网调试信息

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

4.程序设计

softAP模式配置

/*SoftAP配网*/
u8 ESP8266_SoftAP_MOde(void)
{
    u8 token[]="{"cmdType":2,"productId":"LA57WTHWi2","deviceName":"Smart_123","protoVersion":"2.0"}rn";//连接状态信息
    char *p=NULL;
    char data[256];
    char buff[100];
    u8 i=0;
    u32 time1=0,time2=0;
    usart3_cnt=0;
    usart3_flag=0;
    while(1)
    {
        if(usart3_flag)
        {
            usart3_rx_buff[usart3_cnt]='�';
            printf("rx=%s",usart3_rx_buff);
            //+IPD,97,192.168.4.2,52021:{"cmdType":1,"ssid":"wbyq_wifi","password":"12345678","token":"df4a4c90abee98c9a443ae8ffd8cc16b"
            p=strstr((char *)usart3_rx_buff,"+IPD");
            if(p)
            {
                strcpy(data,p);//将接收到的数据拷贝一份保存
                p+=strlen("+IPD");
                p+=1;
                while(*p!=',' && *p!='�')p++;
                p++;//跳过字符',',获取到IP地址起始位置
                i=0;
                //IP地址解析
                while(*p!=',' && *p!='�')
                {
                   buff[i++]=*p++;
                }
                buff[i]='�';
                strcpy((char *)esp8266_info.esp8266_ip,buff);
                //端口号解析
                p++;
                i=0;
                while(*p!=':' && *p!='�')
                {
                   buff[i++]=*p++; 
                }
                buff[i]='�';
                esp8266_info.esp8266_prot=atoi(buff);//字符串转整数
                //printf("ip=%s:%drn",esp8266_info.esp8266_ip,esp8266_info.esp8266_prot);
                printf("ret:%drn",Esp8266_UDP_SendData((u8*)esp8266_info.esp8266_ip,esp8266_info.esp8266_prot,token));//上报连接状态
            }
           ESP8266_GetData(data,(char *)esp8266_info.esp8266_name,"ssid");//WIFI名
           ESP8266_GetData(data,(char *)esp8266_info.esp8266_key,"password");//密码
           ESP8266_GetData(data,(char *)esp8266_info.token,"token");//token数据,需要返回给平台
//           printf("wifi_name:%srn",esp8266_info.esp8266_name);
//           printf("wifi_key:%srn",esp8266_info.esp8266_key); 
//           printf("wifi_token:%srn",esp8266_info.token);            
           LED1=1;
           return 0;
        }
        Delay_Ms(1);
        time1++;
        time2++;
        if(time2>=100)
        {
           time2=0;
           LED1=!LED1;
        }  
        if(time1>=1000*300)
        {
            LED1=1;
            break;//超时退出
        }
    }
    return 1;
}

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2903

    文章

    44257

    浏览量

    371149
  • WIFI
    +关注

    关注

    81

    文章

    5286

    浏览量

    203266
收藏 人收藏

    评论

    相关推荐

    sram 512k实现softAP,wifi报错的原因?

    采用的是安信可的模块,sram 512k 程序主要实现了softAP ,蓝牙gatt server和gatt client,及wifi tcp socket通信 一般运行12小时左右,就会持续
    发表于 06-06 06:53

    ESPConfig蓝牙失败的原因?如何解决?

    ,小程序截图如附件所示 求助: 小程序显示了SoftAP模式失败是否由此产生,我该如何切换为STA模式 错误信息.png (59
    发表于 06-11 08:57

    请问ESP32-WROVER-B用作BLE4.2 + Station + SoftAP这种工作模式是否可以共存?

    作为Station进行失败3次后转为SoftAP热点进行
    发表于 07-02 06:18

    ESP8266如何一次使用更多softAP

    我想一次激活更多ESP8266到 softAP 模式。我发现,只有第一个激活的 softAP ESP8266才能在无线连接列表中可见。其他人在切换到 SoftAP
    发表于 07-16 06:47

    ESP-01使固件在SOFTAP STA模式下运行遇到的疑问求解

    环境: 1. ESP-01 模块 2. SDK开发包1.2.0版本 3. iPhone 6 和 MacbookPro 作为 wifi 客户端 我们使固件在 SOFTAP STA 模式下运行,其中
    发表于 07-18 07:53

    ESP8266固件升级,SoftAp 模式下,支持全球升级

    GAgent 乐鑫 04020029 版本已经发布到机智云下载中心changelog:1.增加SoftAp 模式下,支持全球化;2.优化设备发目前esp8266含以下功能:1.增加
    发表于 04-28 14:34

    sram512k实现softAP,运行一段时间后就会报错的原因?怎么处理?

    采用的是安信可的模块,sram 512k程序主要实现了softAP ,蓝牙gatt server和gatt client,及wifi tcp socket通信一般运行12小时左右,就会持续报错
    发表于 02-09 08:28

    请问ESP32-C3是否支持matter协议了? 可以通过softap方式吗?

    ESP32-C3是否支持matter协议了? 可以通过softap方式吗?
    发表于 02-10 06:22

    ESP32-C3是否支持matter协议? 可以通过softap方式吗?

    ESP32-C3是否支持matter协议了? 可以通过softap方式吗?
    发表于 03-03 08:12

    请问ESP32-C3是否支持matter协议了? 可以通过softap方式吗?

    ESP32-C3是否支持matter协议了? 可以通过softap方式吗?
    发表于 03-08 08:18

    全志XR806基于FreeRTOS的SoftAp实现

    SoftAp。相比于其他三种方式,SoftAp本人之前用的比较多,就想尝试基于XR80
    发表于 11-03 10:32

    使用AD和DXP导出SMT坐标文件的步骤详细说明

    本文档的主要内容详细介绍的是使用AD和DXP导出SMT坐标文件的步骤详细说明
    发表于 10-15 17:01 0次下载
    使用AD和DXP导出SMT坐标文件的<b class='flag-5'>步骤</b><b class='flag-5'>详细说明</b>

    Cadence SPB 17.4的安装步骤教程详细说明

    本文档的主要内容详细介绍的是Cadence SPB 17.4的安装步骤教程详细说明
    发表于 04-10 08:00 0次下载
    Cadence SPB 17.4的安装<b class='flag-5'>步骤</b>教程<b class='flag-5'>详细说明</b>

    使用Keil新建STM32的工程步骤详细说明

    本文档的主要内容详细介绍的是使用Keil新建STM32的工程步骤详细说明
    发表于 06-02 08:00 15次下载
    使用Keil新建STM32的工程<b class='flag-5'>步骤</b><b class='flag-5'>详细说明</b>

    封装基板的技术简介详细说明

    本文档的主要内容详细介绍的是封装基板的技术简介详细说明包括了:封装类型与发展, BGA的分类与基本结构, BGA基板的发展与简介, BGA封装的发展。
    发表于 07-28 08:00 0次下载
    封装基板的技术<b class='flag-5'>简介</b><b class='flag-5'>详细说明</b>