如何实现手机连接WIFI模块?
本例程WIFI模块采用E103-W05模块(兼容ESP8266指令),手机APP采用通用版测试APP网络调试精灵,在安卓的应用商店可以下载(不行的话去网页下一个),不支持苹果手机。
wifi模块工作在AP模式(无线接入点模式)下,此时WIFI模块就相当于一个无线路由器,手机就相当于一个STA设备,此时手机连接WIFI模块发出的热点就可以实现通信。手机属于客户端,WIFI模块作为服务端,两者建立socket连接。
配置WIFI模块
下面的配置代码并不完整,主要是体现AT指令的顺序,具体的数据处理需要读者自行研究。
uint8_t vE103Init(void)
{
vOpenWifi();//硬件配置,上电
u8E103_SendCmd((uint8_t*)"AT",(uint8_t*)"OK",20);
HAL_Delay(100);
if(u8E103_SendCmd((uint8_t*)"ATE0",(uint8_t*)"OK",100))
{
return 1;
}
HAL_Delay(15);
if(u8E103_SendCmd((uint8_t*)"AT+CWMODE=2",(uint8_t*)"OK",100))//配置为softAP模式
{
return 1;
}
HAL_Delay(15);
if(u8E103_SendCmd((uint8_t*)"AT+CWSAP=\"AIR_WIFI\",\"12345678\",11,3,4",(uint8_t*)"OK",100))//设置softAP模式的参数
{
return 1;
}
if(u8E103_SendCmd((uint8_t*)"AT+CIPMUX=1",(uint8_t*)"OK",100))//设置为多连接
{
return 1;
}
HAL_Delay(15);
if(u8E103_SendCmd((uint8_t*)"AT+CIPSERVER=1,8086",(uint8_t*)"OK",100))//创建 TCP 服务器,自动建立 TCP 服务器监听,8086端口
{
return 1;
}
HAL_Delay(15);
if(u8E103_SendCmd((uint8_t*)"AT+CIFSR",(uint8_t*)"OK",100))
{
return 1;
}
HAL_IWDG_Refresh(&hiwdg);//喂狗
return 0;
}
经过上述的配置,WIFI模块已经工作在AP模式下,wifi名称为AIR_WIFI,wifi密码为12345678。
E103-W05工作在AP模式下时的IP地址默认为192.168.4.1,端口号我们设置为8086.
此时就可以通过网络调试精灵APP来连接WIFI模块了。
APP配置
1.点击APP进入应用,本事试验手机是作为客户端使用,所以我们需要建立一个TCP客户端,点击按钮;
2.点击+号;
3.按照要求填写相关内容,因为我们的WIFI模块的IP端口为192.168.4.1:8086,将相关信息填写后保存;
4.点击进入客户端;
5.进入客户端之后,首先保证手机WIFI已经连接上WIFI模块(wifi名称为AIR_WIFI,wifi密码为12345678,跟连接家里的WIFI一个道理);
通过APP页面中的连接断开按钮来与模块建立socket连接,连接成功之后就可以相互通信了。可以选择发送hex、ASCII等数据格式。
文章来源:https://www.toymoban.com/news/detail-483775.html
通信测试
将wifi模块的串口发送引脚接到串口调试助手上,来观察接收到什么信息。
我在手机app上向WIFI模块发送了三组字符串,goodbye,test e103和china niubi。
串口调试助手接收到的消息:
下图是接收数据的指令,对应调试助手中的信息查看,接收数据无误。(wifi模块设置为服务端时,必须设置为多连接)。
文章来源地址https://www.toymoban.com/news/detail-483775.html
到了这里,关于手机连接WIFI模块测试(WIFI模块工作在AP模式下)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!