Looking for support with AT commands and troubleshooting knowledge (Hardware, Software). Arduino UNO, SIM800F GSM Shield.
26 views (last 30 days)
Hello to everyone.
I will be very gratefull for support and knowledge sharing with AT commands and troubleshooting knowledge with hardware setup and software.
Hardware context :
- Arduino Uno, SIM800F GSM shield , USB connection and power, Rx -Tx GSM connection strapped on Software Serial
- Concerning SIM card. Inserted on a mobile phone, can send and receive SMS and phone communications. Data plan available.
Software context : I'm using Serial monitor to send AT commands and receive answers. Aim : to follow manually the proper AT sequence to send one piece of data to one field of one channel.
// Sending AT commands via Serial Monitor interface
SoftwareSerial mySerial(2,3); // setting up GSM serial communication
digitalWrite(8, HIGH); // Switching on GSM shield
Serial.println("Type AT command :");
- AT returns OK, SMS ready, CALL ready
- AT+CPIN? returns ready
As far I understand the proper sequence of AT commands to connect device to thingspeak server and send data should be this :
- AT // is SIM800F ready ? good return is : OK
- AT+CGREG? // is SIM800F registered on GPRS provider network ? good return is : +CGREG: 0,1 (edited)
- AT+CGATT? // is GPRS attached or not ? good return is : +CGATT: 1
- AT+CIPSHUT // resets previous IP session if any. good return is : SHUT OK
- AT+CIPSTATUS // Check if IP stack is intitalized. good return is : STATE: IP INITIAL
- AT+CIPMUX=0 // Sets single connection mode. good return is : OK
- AT+CSTT="APN","","" // Starts task. good return is : OK
- AT+CIPSTATUS // Not needed but for troubleshooting Check IP status. good return is : STATE: IP START
- AT+CIICR // Brings up wireless connection. good return is : OK and quick flashing led (edited)
- AT+CIPSTATUS // Not needed but for troubleshooting Check IP status. good return is : STATE: IP GPRSACT (edited)
- AT+CIFSR // Gets local IP adress. good return is : anything else than "0.0.0.0"
- AT+CIPSTART="TCP", "api.thingspeak....","80" // Starts connection with TCP protocol, TCP, domain name, port. good return is : CONNECT OK
- AT+CIPSEND // Data sending request. good return is : >
- > data string // Sends data to the proper field and channel
- >#026 // Ctrl+Z input to indicate the end of data
- AT+CIPSHUT // Shuts down UDP context. good return is : SHUT OK
At this time :
- AT+CGREG? is returning : +CGREG: 1,0 which states : network registration is enabled, device is not registered and searching for operator's network (edited)
- AT+CGATT? is returning : 0, which states GPRS is detached
- AT+CIICR is returning +PDP: DEACT, ERROR
What may prevent network registration and getting a +CGREG: 0,1 return ? (edited)
How can I troubleshoot and assess actual situation ?
Thank you for your insights.