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;
}

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

    关注

    2860

    文章

    41250

    浏览量

    357366
  • WIFI
    +关注

    关注

    80

    文章

    5144

    浏览量

    199194
收藏 人收藏

    评论

    相关推荐

    【GoKit试用体验】+SoftAP&Web Config配置模式

    国庆的时候收到快递,boss这边一直让我忙其他的项目,发图吧!实际上前几天已经成功的使用AirLink方式将GoKit连接上网,今天准备使用SoftAP方式配置入网,但是失败了!如下图供电给
    发表于 10-11 20:28

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

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

    怎样将ESP8266的wifi模式设置为softAP模式

    什么叫AP模式?如何让ESP8266创建一个WIFI模式呢?怎样将ESP8266的wifi模式设置为softAP模式呢?
    发表于 01-14 07:39

    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

    如何禁用默认的SoftAP

    我正在使用 softAP 功能以自定义名称(即“MyApName”)启动 SoftAP。这工作正常。但有时我会看到一个名为 ESP_XXYYZZ 的 AP,其中 XXYYZZ 是 MAC 地址的最后 3 个字节。有没有办法防止 ESP_XXYYZZ 出现?我在任何地方都找
    发表于 02-27 08:50

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

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

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

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

    是否可以通过SoftAP模式将数据从MIT app发送到ESP8266?

    顾名思义,是否可以通过SoftAP模式将数据从MIT app发送到ESP8266?我的想法是让用户使用 MIT 应用程序输入数据(在本例中为警报系统的日期和时间),然后该应用程序会将输入数据(日期
    发表于 06-02 08:50

    全志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>

    矢量网络分析仪的使用步骤详细说明

    本文档的主要内容详细介绍的是矢量网络分析仪的使用步骤详细说明
    发表于 02-27 09:57 82次下载

    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 14次下载
    使用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>