Hello,
I have been working on sim800l and arduino uno for a while now and everything was working perfectly. But all of a sudden, sim800l is not able to communicate with the arduino software. The commands are sent successfully to the module, as it is able to connect to the network. But responses to the AT commands are not printed on the serial monitor. Also, it is not able to send data to the server, although it is able to connect turn on the data pack.
There are no change in the connections. It just stopped working one day.
Tried changing the sim800l; no change.
Supply is stable. Checked on the oscilloscope.
Sm800l also seems ok since the led is blinking as per stated in the datasheet.
Can somebody please help?
Hi,
Have you checked the baud rate of your IDE monitor?
Tom... ![]()
Yess. its as per specified in the datasheet- 9600
Hi,
Welcome to the forum.
Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.
It will be formatted in a scrolling window that makes it easier to read.
We need to see your code please.
Tom.. ![]()
mySerial.println("AT+GSMBUSY=1"); //set simcard signal to busy
runsl();
mySerial.println("AT+CFUN=1");
runsl();
mySerial.println("AT+CPIN?");
runsl();
mySerial.println("AT+CSTT=" + apn);
runsl();
mySerial.println("AT+SAPBR=0,1");
runsl();
mySerial.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");
runsl();
mySerial.println("AT+SAPBR=3,1,\"APN\","+apn);
runsl();
mySerial.println("AT+SAPBR=1,1");
runsl();
mySerial.println("AT+SAPBR=2,1");
runsl();
mySerial.println("AT+CSTT?");
runsl();
mySerial.println("AT+CIICR");
runsl();
mySerial.println("AT+CIFSR");
runsl();
mySerial.println("AT+HTTPINIT");
runsl();
mySerial.println("AT+HTTPPARA=\"CID\",1");
runsl();
mySerial.println("AT+HTTPPARA=\"REDIR\",1");
runsl();
mySerial.println("AT+HTTPPARA=\"URL\"," + locUrl);
runsl();
mySerial.println("AT+HTTPPARA=\"CONTENT\",\"application/x-www-form-urlencoded\"");
runsl();
mySerial.println("AT+HTTPDATA=55,1000");
mySerial.println("phone="+ String(phone) + "&lat="+String(latitude,6) + "&lng="+String(longitude,6) +"&speed="+String(speedr,3));
runsl();
mySerial.println("AT+HTTPACTION=1");
runsl();
mySerial.println("AT+HTTPREAD");
runsl();
mySerial.println("AT+HTTPTERM");
The runsl() is the following code:
char runsl()
{
while (mySerial.available())
{
Serial.write(mySerial.read());
}
}
mySerial is the serial port object for the GSM.
It was a well tested and working. And all of a sudden GSM SIM800l started giving problems.