首页>>科技 >>内容

wifi智能配网简介及操作流程说明文,WIFI智能配网简介及操作流程说明

发布时间:2023-07-29 09:08:20编辑:温柔的背包来源:

很多朋友对wifi智能配网简介及操作流程说明文,WIFI智能配网简介及操作流程说明不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

wifi智能配网简介及操作流程说明文,WIFI智能配网简介及操作流程说明

1、WIFI智能配网简介Wi-Fi配网是指从外部向Wi-Fi设备提供SSID和密码(PSW),使Wi-Fi设备能够连接到指定的热点或路由器,加入Wi-Fi网络。后者建立的Fi网络。 - 无线网络。对于电脑、手机等具有丰富人机界面(包括屏幕/键盘)的设备,可以直接输入SSID/PSW进行连接。对于智能灯、扫地机器人等不具备丰富人机交互界面的物联网Wi-Fi设备,可以利用手机等智能设备将SSID/PSW传递给某个配网中的设备。

配置网络的方式有很多种,包括SmartConfig、softAP、Airkiss等,每种方式的特点对比如下:

网络分布特点WPS存在安全问题SmartConfig比较方便,但一般采用各厂家专有协议,兼容性和互操作性较差。 SoftAP具有更好的适应性和兼容性,但手机需要建立两个Wi-Fi连接。设置的切换比较复杂。 Airkiss操作简单,不需要配置热点,但它是微信客户端的私有协议。需要兼容设备端的BLE Combo。操作方便,但需要设备端支持Wi-Fi+BLE组合芯片方案。

下面我们以SmartConfig配网模式为例进行实际应用。相关操作步骤请参考腾讯云平台SmartConfig分发网络开发文档

SmartConfig配网开发文档:https://cloud.tencent.com/document/product/1081/48405

SmartConfig智能配电网络主要是为了方便物联网设备与云平台的连接。只需要相应的APP或者相关的微信小程序(如腾讯连连)就可以快速让设备入围并连接到服务器。下面以微信小程序腾讯连连、云平台为腾讯云服务器、接入协议为MQTT3.1为例。

二、配网流程1、在腾讯云平台选择智能配网模式。

2、通过腾讯连连小程序进入配网模式,即可在物联网开发平台服务上获取当前配网的Token值;

3、分配网络调试信息

4.微信小程序腾讯连连查看设备信息

3、软件设计3.1 设置WIFI工作模式为:STA+TCPClinet,获取wifi连接状态,连接失败则进入配网模式,最终实现与腾讯云平台的连接

/****************STA+TCPClinet 初始化****************/u8 Esp8266_STA_TCPClinet_Init(u8 *wifi_name,u8 *wifi_key,u8 *server_ip , u16 server_port){char buff[100];u16 i=0; u8 stat=0;for(i=0;i'))return 8;if(stat)return0x80;//进入配网模式,正常退出else return 0;//不进入配网模式,正常退出} 3.2 smartconfig配网功能

该函数主要用于将WIFI模式配置为智能配网模式,连接WIFI热点,获取token信息并上报给服务器。

u8 ESP8266_SetSmartMode(void){ char buff[200]; printf('1.进入智能配网模式rn'); u32 时间1=0,时间2=0; if(Esp8266_SendCmdCheckStat('AT+CWSTARTSMARTrn ','OK')) return0x81;//打开智能失败usart3_cnt=0; usart3_flag=0; while(1) { if(usart3_flag) { usart3_rx_buff[usart3_cnt]=''; printf('rx:%srn', usart3_rx_buff); if(strstr((char *)usart3_rx_buff,'smartconfig已连接wifi'))//连接热点成功{ usart3_cnt=0; usart3_flag=0; printf('2.关闭智能模式rn'); if(Esp8266_SendCmdCheckStat('AT+CWSTOPSMARTrn','OK')) 返回0x82;休息; } 否则{ usart3_cnt=0; usart3_flag=0; memset(usart3_rx_buff,0,sizeof(usart3_rx_buff)); Delay_Ms(1);时间1++;时间2++; if(time2=100)//配网模式每100ms闪烁一次{ time2=0; LED1=!LED1; } if(time1=1000*300) return0x83;//超时退出} printf('3.显示端口rn' ); if(Esp8266_SendCmdCheckStat('AT+CIPDINFO=1rn','OK')) 返回0x84; printf('4.查询IPrn'); if(ESP8266_GetIP()) 返回0x85; printf('5.UDPrn'); snprintf(buff,sizeof(buff),'AT+CIPSTART='UDP','%s',8266,8266,0rn',esp8266_info.esp8266_ip); if(Esp8266_SendCmdCheckStat(buff,'OKrn')) 返回0x86; printf('6.网络数据分析rn'); if(ESP8266_NetworkConfig())return 7; printf('7.模块复位rn'); if(Esp8266_SendCmdCheckStat('AT+RSTrn','OKrn')) 返回0x87;延迟_毫秒(1000);延迟_毫秒(1000);返回0;} 3.3。微信小程序分发网络数据订阅与发布

通过订阅微信小程序信息获取token值,并将获取到的信息上报给微信小程序,实现设备网络配置。

//微信小程序分发网络数据订阅与发布#define SET_WEIXIN_TOPIC '$thing/down/service/LA54WTHWL3/Smart_123'//订阅#define POST_WEIXIN_TOPIC '$thing/up/service/LA54WTHWL36/Smart_123'//发布3.4 主要功能

int main(){ int i=0,key;u8 stat=0;u32 time=0;u16 cnt=0;float temp;Beep_Init();//蜂鸣器初始化Led_Init();//LED初始化Key_Init( ); //按键初始化Usartx_Init(USART1,115200,72);Usartx_Init(USART3,115200,36);TIMx_Init(TIM2,72,20000);//通过定时器2辅助串口接收数据,20msTIMx_Init(TIM4,72, 20000) ;//通过定时器2辅助串口接收数据,20msDS18B20_Init();//RTC_Init();//RTC初始化printf('初始化完成rn');while(1){stat=Esp8266_STA_TCPClinet_Init((u8 *) WIFI_NAME, (u8 *)WIFI_PASSWORD,(u8 *)SERVER_IP,SERVER_PORT);if(stat==0 || stat==0x80)break;printf('stat=%drn',stat); }printf('服务器连接成功rn'); while(1){MQTT_Init();if(MQTT_Connect(客户端ID,用户名,密码)==0)break;Delay_Ms(500);printf('正在连接.rn');}printf('连接成功rn' ); if(stat==0x80)//进入配网模式,需要向微信小程序返回token值{ //订阅微信主题if(MQTT_SubscribeTopic(SET_WEIXIN_TOPIC,0,1))printf('订阅失败rn'); //返回平台数据,通知微信连接服务器成功{'token':'%s'}}', esp8266_info.token); MQTT_PublishData(POST_WEIXIN_TOPIC, mqtt_message, 0); //Smart_home{'method':'app_bind_token_reply','clientToken':'client-1234', ' code':0,'status':'success'} 微信小程序配网成功后返回数据} //订阅物联网平台数据stat=MQTT_SubscribeTopic(SET_TOPIC,0,1); if(stat)printf('订阅失败rn'); while(1){if(usart3_flag){ for(i=0;i=5000){time=0;MQTT_SentHeart();//发送心跳包}if(cnt=2000){cnt=0;temp=DS18B20_GetTemp( )*0.0625;sprintf(mqtt_message,'{'方法':'报告','clientToken':'123','params':{'LED1':1,'temp':%.2f,'L':356}} ', temp);//温度MQTT_PublishData(POST_TOPIC,mqtt_message,0);}}};i++) 审计唐子宏

以上知识分享希望能够帮助到大家!