Toll-Free Customer Support 24/7

GSM GPRS SIM900A module with Stub Antenna and SMA connector

GSM/GPRS Modem-RS232 is built with Dual Band GSM/GPRS engine - SIM900A which works on frequencies 900/1800 Mhz. The Modem comes with RS232 interface, which allows the user to connect PC as well as microcontroller with RS232 Chip (MAX232). The baud rate is configurable from 9600- 115200 through AT command. The GSM/GPRS Modem is having internal TCP/IP stack to enable the enable the user to connect with internet via GPRS. It is suitable for sending SMS, Voice as well as DATA transfer application in M2M interface. The onboard Regulated Power supply allows the user to connect wide range of unregulated power supply. Using this modem, user can make audio calls, sending SMS, Reading SMS, attend the incoming calls and internet etc., through simple AT commands.

 

Order Code : RDL/GM9/14/001/V1.0

Questions:

Posted by David, Saturday, 22 August 2015 on product GSM GPRS SIM900A module with Stub Antenna and SMA connector
  • 0
    vote
    A:

    Dear Customer

    Please find the code below, also the same code can be used to on/off the pump.


    int8_t answer;
    int x;

    char SMS[200];

    void setup(){

     
        Serial.begin(9600);  

        pinMode(8, OUTPUT);
                digitalWrite(8, LOW);
        power_on();
            // turn the LED on (HIGH is the voltage level)
      delay(1000);              // wait for a second


     Serial.println("Network...");
         while( (sendATcommand("AT+CREG?", "+CREG: 0,1", 500) ||
                sendATcommand("AT+CREG?", "+CREG: 0,5", 500)) == 0 );
                
    delay(300);
    //Signal();
     
        
        Serial.println("Setting SMS mode...");
        sendATcommand("AT+CMGF=1", "OK", 1000);    // sets the SMS mode to text
        delay(300);
         
      sendATcommand("AT+CMGD=1", "OK", 1000);
      Serial.println("SEND SMS... TO READ");
    }


    void loop(){
       answer = sendATcommand("AT+CMGR=1", "+CMGR:", 2000);    // reads the first SMS
        if (answer == 1)
      {x=0;
            memset(SMS, '\0', 100);
            answer = 0;
            while(Serial.available() == 0);
            // this loop reads the data of the SMS
            do{
                // if there are data in the UART input buffer, reads it and checks for the asnwer
                if(Serial.available() > 0){
               
              
                    SMS[x] = Serial.read();
                    x++;
                    // check if the desired answer (OK) is in the response of the module
                 
                    
                     if (strstr(SMS, "PUMP ON") != NULL)    
                    {
                      digitalWrite(8, HIGH);
                         answer = 1;
                    }
                    
                      if (strstr(SMS, "PUMP OFF") != NULL)    
                    {
                       digitalWrite(8, LOW);
                          answer = 1;
                    }
                       if (strstr(SMS, "OK") != NULL)    
                    {
                        answer = 1;
                    }
                    
                }
            }while(answer == 0);    // Waits for the asnwer with time out
            
            
            SMS[x] = '\0';
                   Serial.print(SMS);   
              delay(200);
            sendATcommand("AT+CMGD=1", "OK", 1000);   
                     delay(100);
                     sendATcommand("AT+CMGD=1,4", "OK", 1000);
                           delay(200);
                    

        }
       
        delay(1000);
     
    }

    void power_on(){

        uint8_t answer=0;
        
        // checks if the module is started
        answer = sendATcommand("AT", "OK", 2000);
        if (answer == 0)
        {
            
        
            // waits for an answer from the module
            while(answer == 0){     // Send AT every two seconds and wait for the answer
                answer = sendATcommand("AT", "OK", 2000);    
            }
        }
        
    }

    int8_t sendATcommand(char* ATcommand, char* expected_answer, unsigned int timeout){

        uint8_t x=0,  answer=0;
        char response[100];
        unsigned long previous;

        memset(response, '\0', 100);    // Initialice the string

        delay(100);

        while( Serial.available() > 0) Serial.read();    // Clean the input buffer

        Serial.println(ATcommand);    // Send the AT command


            x = 0;
        previous = millis();

        // this loop waits for the answer
        do{
            // if there are data in the UART input buffer, reads it and checks for the asnwer
            if(Serial.available() != 0){    
                response[x] = Serial.read();
                x++;
                // check if the desired answer is in the response of the module
                if (strstr(response, expected_answer) != NULL)    
                {
                    answer = 1;
                }
            }
            // Waits for the asnwer with time out
        }while((answer == 0) && ((millis() - previous) < timeout));    

        return answer;
    }


    void Signal()
    {
    answer = sendATcommand("AT+CSQ", "+CSQ", 2000);    // reads the first SMS
         
        if (answer == 1)
        {x=0;
            memset(SMS, '\0', 300);
            answer = 0;
            while(Serial.available() == 0);
            // this loop reads the data of the SMS
            do{
                // if there are data in the UART input buffer, reads it and checks for the asnwer
                if(Serial.available() > 0){    
                    SMS[x] = Serial.read();
                    x++;
           
                    if (strstr(SMS, "OK") != NULL)    
                    {
                        answer = 1;
                    }
                }
            }while(answer == 0);    // Waits for the asnwer with time out
            
            
            SMS[x] = '\0';
             Serial.println(SMS);
             
                   delay(100);
        }
        
    }

    Posted by Rashmi P on Saturday, 22 August 2015
Posted by chiradeep, Wednesday, 15 July 2015 on product GSM GPRS SIM900A module with Stub Antenna and SMA connector
  • 0
    vote
    A:

    Dear Sir,

    HTTPS is not supported by sim900a modems. It supports FTP/HTTP.

    Posted by Dipti Divakar on Wednesday, 15 July 2015
Posted by RAHUL, Monday, 11 May 2015 on product GSM GPRS SIM900A module with Stub Antenna and SMA connector
  • 0
    vote
    A:

    Dear Mr.Rahul

    You can interface with the laptop using TTL connection.

    Rx of the GSM is connected to the TX of the FT232.

    Tx of the GSM is connected to Rx of the FT232.

    GND is connected to the GND of the FT232 and 12V ,2A supply has to be given additionally.

    Posted by Rashmi P on Monday, 11 May 2015
Posted by Binoy, Friday, 13 March 2015 on product GSM GPRS SIM900A module with Stub Antenna and SMA connector
  • 0
    vote
    A:

    Please go through the below Image to know how to interface with Ardiuno ,

     

    Posted by Dipti Divakar on Friday, 13 March 2015

Ask Your Question

  • Reload captcha

* Required Fields

Back to top