Hello everyone!
I am mounting a project with the SIM800L. I want to get the position of the device through the GSM. To do this, the firmware had to be updated. I have already updated it to the latest version provided by the manufacturer: 1418B06SIM800L24
Now, when using the AT code to get the location by GMS, the AT+CIPGSMLOC command returns ERROR. I don’t know if I’m not using it correctly… Here I show the program that I’m using to get the information from the SIM800L module. I need to get the location to send it to blynk maps and make a location of the device.
#include <SoftwareSerial.h>
//Create software serial object to communicate with SIM800L
SoftwareSerial mySerial(2, 3); //SIM800L Tx & Rx is connected to Arduino #3 & #2
void setup()
{
//Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
//Begin serial communication with Arduino and SIM800L
mySerial.begin(9600);
Serial.println("Initializing...");
delay(1000);
mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
updateSerial();
mySerial.println("AT+CSQ"); //Signal quality test, value range is 0-31 , 31 is the best
updateSerial();
mySerial.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged
updateSerial();
mySerial.println("AT+CREG?"); //Check whether it has registered in the network
updateSerial();
}
void loop()
{
updateSerial();
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
}
while(mySerial.available())
{
Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
}
}
Initializing...
AT
OK
AT+CSQ
+CSQ: 22,0
OK
AT+CCID
8934903080301337137f
OK
AT+CREG?
+CREG: 0,1
OK
AT+CIPGSMLOC
ERROR
AT+CGMR
Revision:1418B06SIM800L24
OK
AT+CIPGSMLOC= <type>,<cid>
ERROR
AT+CIPGSMLOC
ERROR
AT+CIPGSMLOC=1,1
+CIPGSMLOC: 601
OK
AT+CIPGSMLOC= ?
+CIPGSMLOC: (1,2),(1-3)
OK
AT+CIPGSMLOC= <type>,<cid>
ERROR
AT+CIPGSMLOC=<locationcode>
ERROR
AT+CIPGSMLOC
ERROR