#include SoftwareSerial mySerial(7, 8); #include #include #define DEBUG true int pon=9; void setup() { Serial.begin(9600); mySerial.begin(9600); delay(1000); pinMode(pon, OUTPUT); digitalWrite(pon, HIGH); delay(3000); digitalWrite(pon, LOW); delay(1000); Serial.println("After 3s, test begin!!"); delay(3000); } void loop() { sendData("AT+CCID",3000,DEBUG); sendData("AT+CREG?",3000,DEBUG); sendData("AT+CGATT=1",1000,DEBUG); sendData("AT+CGACT=1,1",1000,DEBUG); sendData("AT+CSTT=CMNET",3000,DEBUG); sendData("AT+CIICR",1000,DEBUG); sendData("AT+CIFSR",1000,DEBUG); sendData("AT+CDNSGIP=\"www.sim.com\"",1000,DEBUG); sendData("AT+CDNSGIP=\"a b c d e f\"",1000,DEBUG); sendData("AT+CIPSTART=\"TCP\",\"WWW.SIM.COM\",80",5000,DEBUG); delay(10000); sendData("AT+CIPSEND=6",1000,DEBUG); sendData("123456",1000,DEBUG); delay(2000); sendData("AT+CIPCLOSE",1000,DEBUG); } String sendData(String command, const int timeout, boolean debug) { String response = ""; mySerial.println(command); long int time = millis(); while( (time+timeout) > millis()) { while(mySerial.available()) { char c = mySerial.read(); response+=c; } } if(debug) { Serial.print(response); } return response; }