Toll-Free Customer Support 24/7

GSM GPRS Shield with GPS Receiver PA6E CAM

This is a very low cost and simple Arduino GSM and GPRS shield. We use the module SIMCom SIM900A.The Shield connects your Arduino to the internet using the GPRS wireless network. Just plug this module onto your Arduino board, plug in a SIM card from an operator offering GPRS coverage and follow a few simple instructions to start controlling your world through the internet. You can also make/receive voice calls (you will need an external speaker and microphone circuit) and send/receive SMS messages.

Order Code : RDL/RGS/14/001/V3.0

Questions:

Posted by vicky, Wednesday, 8 June 2016 on product GSM GPRS Shield with GPS Receiver PA6E CAM
  • 0
    vote
    A:

    Initially GPS take time to connect, once it connect then automatically sends the value.

    Posted by Raghavendra Shetty on Wednesday, 8 June 2016
Posted by indela, Thursday, 25 June 2015 on product GSM GPRS Shield with GPS Receiver PA6E CAM
  • 0
    vote
    A:

    Dear Mr.Sreenivasulu

     Please find the code attached to receive the IMEI number.
     
    int8_t answer;
    int x;

    char SMS[200];

    void setup(){

     
        Serial.begin(9600);  

       delay(3000);
        power_on();
        
    delay(3000);
     Serial.println("Network...");
         while( (sendATcommand("AT+CREG?", "+CREG: 0,1", 500) ||
                sendATcommand("AT+CREG?", "+CREG: 0,5", 500)) == 0 );
                
    delay(300);

        delay(3000);
        

        sendATcommand("AT+CMGF=1", "OK", 1000);    // sets the SMS mode to text
            Serial.println("IMEI number...");
           answer = sendATcommand("AT+CGSN", "", 2000);    // reads the first SMS
        if (answer == 1)
        {
            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, "OK") != NULL)    
                    {
                        answer = 1;
                    }
                }
            }while(answer == 0);    // Waits for the asnwer with time out
            
            SMS[x] = '\0';
            
            Serial.print(SMS);    
            
        }
        delay(1000);
     

    }


    void loop(){
     
    }

    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;
    }

    Posted by Rashmi P on Thursday, 25 June 2015

Ask Your Question

  • Reload captcha

* Required Fields

Back to top