sim900a和Esp8266使用AT指令的区别
1.连接云服务
1)sim900A
//AT+CIPSTART="TCP","183.230.40.39","6002"
2)esp8266
//AT+CIPSTART="TCP","183.230.40.39",6002
2.串口接收数据
1)SIM900A: 原始数据
2)ESP8266: +IPD: 后面才是有效数据
3.TCP初始化流程AT指令
1)SIM900
if ( ESP8266_SendCmd ( "AT\r\n", "OK", 100 ) )
{
delay_ms ( 1500 );
if ( ESP8266_SendCmd ( "AT\r\n", "OK", 100 ) )
{
//Òì³£
return 1;
//while ( 1 );
}
}
if ( ESP8266_SendCmd ( "ATE0\r\n", "OK", 100 ) )
{
delay_ms ( 1500 );
if ( ESP8266_SendCmd ( "AT\r\n", "OK", 100 ) )
{
//Òì³£
return 1;
//while ( 1 );
}
}
if ( ESP8266_SendCmd ( "AT+CPIN?\r\n", "READY", 1000 ) ) // ¼ì²éÊÖ»ú¿¨ÊÇ·ñÔÚ
{
return 1;
}
if ( ESP8266_SendCmd ( "AT+CGCLASS=\"B\"\r\n", "OK", 100 ) ) // ÉèÖÃGPRSÒƶ¯Ì¨ÀàÐÍΪB
{
return 1;
}
if ( ESP8266_SendCmd ( "AT+CGDCONT=1,\"IP\",\"CMNET\"\r\n", "OK", 100 ) ) // ¶¨ÒåPDPÉÏÏÂÎÄ£¬ÉèÖÃPDPÉÏÏÂÎıê־Ϊ1£¬IPÐÒ飬½ÓÈëµãΪCMNET.
{
return 1;
}
if ( ESP8266_SendCmd ( "AT+CGATT=1\r\n", "OK", 100 ) ) //¸½×ÅGPRS
{
return 1;
}
2)ESP8266
if ( ESP8266_SendCmd ( "AT\r\n", "OK", 100 ) )
{
delay_ms ( 1500 );
if ( ESP8266_SendCmd ( "AT\r\n", "OK", 100 ) )
{
//Òì³£
return 1;
//while ( 1 );
}
}
if ( ESP8266_SendCmd ( "ATE0\r\n", "OK", 100 ) )
{
delay_ms ( 1500 );
if ( ESP8266_SendCmd ( "AT\r\n", "OK", 100 ) )
{
//Òì³£
return 1;
//while ( 1 );
}
}
if ( ESP8266_SendCmd ( "AT+CWMODE=1\r\n", "OK", 100 ) ) // ÉèÖÃΪ station ģʽ
{
return 1;
}
if ( ESP8266_SendCmd ( "AT+CIPMODE=0\r\n", "OK", 100 ) ) // 0-·Ç͸´«Ä£Ê½
{
return 1;
}
if ( ESP8266_SendCmd ( strESP8266_WIFI_INFO, "CONNECTED", 13000 ) ) //"GOT IP" Á¬½Ó·ÓÉÆ÷
{
if ( ESP8266_SendCmd ( strESP8266_WIFI_INFO, "CONNECTED", 13000 ) )
{
return 1;
}
}