- /*
- * 函数名:ESP8266_Link_Server
- * 描述 :WF-ESP8266模块连接外部服务器
- * 输入 :enumE,网络协议
- * :ip,服务器IP字符串
- * :ComNum,服务器端口字符串
- * :id,模块连接服务器的ID
- * 返回 : 1,连接成功
- * 0,连接失败
- * 调用 :被外部调用
- */
- bool ESP8266_Link_Server ( ENUM_NetPro_TypeDef enumE, char * ip, char * ComNum, ENUM_ID_NO_TypeDef id)
- {
- char cStr [100] = { 0 }, cCmd [120];
- switch ( enumE )
- {
- case enumTCP:
- sprintf ( cStr, ""%s","%s",%s", "TCP", ip, ComNum );
- break;
- case enumUDP:
- sprintf ( cStr, ""%s","%s",%s", "UDP", ip, ComNum );
- break;
- default:
- break;
- }
- if ( id < 5 )
- sprintf ( cCmd, "AT+CIPSTART=%d,%s", id, cStr);
- else
- sprintf ( cCmd, "AT+CIPSTART=%s", cStr );
- return ESP8266_Cmd ( cCmd, "OK", "ALREAY CONNECT", 500 );
- }
- /*
- * 函数名:ESP8266_BuildAP
- * 描述 :WF-ESP8266模块创建WiFi热点
- * 输入 :pSSID,WiFi名称字符串
- * :pPassWord,WiFi密码字符串
- * :enunPsdMode,WiFi加密方式代号字符串
- * 返回 : 1,创建成功
- * 0,创建失败
- * 调用 :被外部调用
- */
- bool ESP8266_BuildAP ( char * pSSID, char * pPassWord, char * enunPsdMode )
- {
- char cCmd [120];
- sprintf ( cCmd, "AT+CWSAP="%s","%s",1,%s", pSSID, pPassWord, enunPsdMode );
- return ESP8266_Cmd ( cCmd, "OK", 0, 1000 );
- }
- /*
- * 函数名:ESP8266_JoinAP
- * 描述 :WF-ESP8266模块连接外部WiFi
- * 输入 :pSSID,WiFi名称字符串
- * :pPassWord,WiFi密码字符串
- * 返回 : 1,连接成功
- * 0,连接失败
- * 调用 :被外部调用
- */
- bool ESP8266_JoinAP ( char * pSSID, char * pPassWord )
- {
- char cCmd [120];
- sprintf ( cCmd, "AT+CWJAP="%s","%s"", pSSID, pPassWord );
- return ESP8266_Cmd ( cCmd, "OK", NULL, 7000 );
- }
- /*
- * 函数名:ESP8266_Net_Mode_Choose
- * 描述 :选择WF-ESP8266模块的工作模式
- * 输入 :enumMode,工作模式
- * 返回 : 1,选择成功
- * 0,选择失败
- * 调用 :被外部调用
- */
- bool ESP8266_Net_Mode_Choose ( ENUM_Net_ModeTypeDef enumMode )
- {
- switch ( enumMode )
- {
- case STA:
- return ESP8266_Cmd ( "AT+CWMODE=1", "OK", "no change", 2500 );
- case AP:
- return ESP8266_Cmd ( "AT+CWMODE=2", "OK", "no change", 2500 );
- case STA_AP:
- return ESP8266_Cmd ( "AT+CWMODE=3", "OK", "no change", 2500 );
- default:
- return false;
- }
- }