【毕设调试二】WiFi模块的AP模式与App Inventor

提示:在上一篇中我们简单的完成了WIFI模块的STA模式,在此篇中我们将梳理WiFi的AP模式

AP模式:热点模式,是通过设置WiFi模块来产生一个热点,然后通过连接本热点,来达到在手机   上发送控制信息到单片机,可以使用于app控制单片机类的项目


前期准备:

提示:需要用到上一章所配置的串口二和串口三的代码配置和esp8266.h、esp8266.c这两个文件里面的函数变量配置,STM32F103C8T6主控,以及WiFi模块。


AP配置:

在这次的AP配置中,我们需要加入两个代码文件,先上代码。

ap.c

#include "ap.h"
#include "usart.h"
#include "esp8266.h"
#include "delay.h"
#include "stdio.h"
#include "string.h"
#include "stm32f10x.h"

/*
 * 函数名:ESP8266_Inquire_ApIp
 * 描述  :获取 F-ESP8266 的 AP IP
 * 输入  :pApIp,存放 AP IP 的数组的首地址
 *         ucArrayLength,存放 AP IP 的数组的长度
 * 返回  : 0,获取失败
 *         1,获取成功
 * 调用  :被外部调用
 */
uint8_t ESP8266_Inquire_ApIp ( char * pApIp, uint8_t ucArrayLength )
{
	char uc;
	
	char * pCh;
	
    ESP8266_Send_AT_Cmd ( "AT+CIFSR", "OK", 0, 500 );
	
	pCh = strstr ( ESP8266_Fram_Record_Struct .Data_RX_BUF, "APIP,\"" );
	
	if ( pCh )
		pCh += 6;
	
	else
		return 0;
	
	for ( uc = 0; uc < ucArrayLength; uc ++ )
	{
		pApIp [ uc ] = * ( pCh + uc);
		
		if ( pApIp [ uc ] == '\"' )
		{
			pApIp [ uc ] = '\0';
			break;
		}
		
	}
	
	return 1;
}


/*
 * 函数名:ESP8266_StartOrShutServer
 * 描述  :WF-ESP8266模块开启或关闭服务器模式
 * 输入  :enumMode,开启/关闭
 *       :pPortNum,服务器端口号字符串
 *       :pTimeOver,服务器超时时间字符串,单位:秒
 * 返回  : 1,操作成功
 *         0,操作失败
 * 调用  :被外部调用
 */
bool ESP8266_StartOrShutServer ( FunctionalState enumMode, char * pPortNum, char * pTimeOver )
{
	char cCmd1 [120], cCmd2 [120];

	if ( enumMode )
	{
		sprintf ( cCmd1, "AT+CIPSERVER=%d,%s", 1, pPortNum );
		
		sprintf ( cCmd2, "AT+CIPSTO=%s", pTimeOver );

		return ( ESP8266_Send_AT_Cmd ( cCmd1, "OK", 0, 500 ) &&
						 ESP8266_Send_AT_Cmd ( cCmd2, "OK", 0, 500 ) );
	}
	
	else
	{
		sprintf ( cCmd1, "AT+CIPSERVER=%d,%s", 0, pPortNum );

		return ESP8266_Send_AT_Cmd ( cCmd1, "OK", 0, 500 );
	}
	
}
/*
 * 函数名:ESP8266_CIPAP
 * 描述  :设置模块的 AP IP
 * 输入  :pApIp,模块的 AP IP
 * 返回  : 1,设置成功
 *         0,设置失败
 * 调用  :被外部调用
 */
uint8_t ESP8266_CIPAP ( char * pApIp )
{
	char cCmd [ 30 ];
		
	
	sprintf ( cCmd, "AT+CIPAP=\"%s\"", pApIp );
	
    if ( ESP8266_Send_AT_Cmd ( cCmd, "OK", 0, 5000 ) )
		return 1;
	else 
		return 0;

}

/*
 * 函数名:ESP8266_BuildAP
 * 描述  :WF-ESP8266模块创建WiFi热点
 * 输入  :pSSID,WiFi名称字符串
 *       :pPassWord&#x
  • 10
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值