Reputation: 13
Following URL will be appear my GSM module and it is included data sheet of the SIM900 module.
I have connected only RX,TX,GND and PWR pin between GSM module and Arduino mega board. Sending a SMS is work properly but receiving SMS is doesn't work.
This is the Arduino Code of sending sms - (Reference - http://tronixstuff.com/2014/01/08/tutorial-arduino-and-sim900-gsm-modules/)
#include <SoftwareSerial.h>
SoftwareSerial SIM900(15,14);
char incoming_char=0;
void setup()
{
Serial.begin(19200); // for serial monitor
SIM900.begin(19200); // for GSM shield
SIM900power(); // turn on shield
delay(20000); // give time to log on to network.
SIM900.print("AT+CMGF=1\r"); // set SMS mode to text
delay(100);
SIM900.print("AT+CNMI=2,2,0,0,0\r");
// blurt out contents of new SMS upon receipt to the GSM shield's serial out
delay(100);
}
void SIM900power()
// software equivalent of pressing the GSM shield "power" button
{
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(7000);
}
void loop()
{
// Now we simply display any text that the GSM shield sends out on the serial monitor
Serial.println("loop");
if(SIM900.available() > 0)
{
Serial.print("waiting");
incoming_char=SIM900.read(); //Get the character from the cellular serial port.
Serial.print(incoming_char); //Print the incoming character to the terminal.
while(1){};
}
}
Upvotes: 1
Views: 4876
Reputation: 3831
Try to add SIM900.print("AT+CMGD=1,4\r");
in your setup()
. I faced similar problems and the reason was that sim-card memory for messages is full.
You wont get any messages or notification if there is no space in sim memory!
So your setuo loop would look like this
void setup()
{
Serial.begin(19200); // for serial monitor
SIM900.begin(19200); // for GSM shield
SIM900power(); // turn on shield
delay(20000); // give time to log on to network.
SIM900.print("AT+CMGF=1\r"); // set SMS mode to text
delay(100);
SIM900.print("AT+CMGD=1,4\r"); // Deletes all SMS saved in SIM memory
delay(100);
SIM900.print("AT+CNMI=2,2,0,0,0\r");
// blurt out contents of new SMS upon receipt to the GSM shield's serial out
delay(100);
}
Upvotes: 0