Development

Communication / GPRS:

» GPRS 06: Making a lost call

This example shows how to make a lost call, with a trial duration of 30 seconds, just for once

Required Materials

1 x Waspmote
1 x Battery
1 x GPRS_Pro module
1 x GPRS/3G antenna
1 x SIM card

Notes

- GPRS_Pro module must be powered with a battery
- When GPRS_Pro is in use, interrupts can't be used
- This example can be executed in Waspmote v12 and Waspmote v15

Code

/*  
 *  ------  GPRS_06 - Making lost call  -------- 
 *  
 *  Explanation: This example shows how to make a lost call,
 *  with a duration of 30 seconds.
 *  
 *  Copyright (C) 2014 Libelium Comunicaciones Distribuidas S.L. 
 *  http://www.libelium.com 
 *  
 *  This program is free software: you can redistribute it and/or modify 
 *  it under the terms of the GNU General Public License as published by 
 *  the Free Software Foundation, either version 3 of the License, or 
 *  (at your option) any later version. 
 *  
 *  This program is distributed in the hope that it will be useful, 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 *  GNU General Public License for more details. 
 *  
 *  You should have received a copy of the GNU General Public License 
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>. 
 *  
 *  Version:           0.4
 *  Design:            David Gascón 
 *  Implementation:    Alejandro Gállego
 */

#include "WaspGPRS_Pro.h"
int answer;

void setup()
{
  // setup for Serial port over USB:
  USB.ON();
  USB.println(F("USB port started..."));

  // 1. activates the GPRS_SIM908 module:
  answer = GPRS_Pro.ON(); 
  if ((answer == 1) || (answer == -3))
  {
    USB.println(F("GPRS_Pro module ready..."));

    // 2. sets pin code
    USB.println(F("Setting PIN code..."));
    // **** must be substituted by the SIM code
    if (GPRS_Pro.setPIN("****") == 1) 
    {
      USB.println(F("PIN code accepted"));
    }
    else
    {
      USB.println(F("PIN code incorrect"));
    }

    // 3. waits for connection to the network
    answer = GPRS_Pro.check(180);    
    if (answer == 1)
    {
      USB.println(F("GPRS_Pro module connected to the network..."));

      USB.println(F("Making lost call..."));

      // ********* must be substituted by the phone number
      // 4. makes a lost call
      answer = GPRS_Pro.makeLostCall("*********", 30); 

      if (answer == 1)
      {
        USB.println(F("Lost call done"));
      }
      else 
      {
        USB.println(F("Lost call error"));
      }

    }
    else
    {
      USB.println(F("GPRS_Pro module cannot connect to the network..."));
    }

  }
  else
  {
    USB.println(F("GPRS_Pro module NOT ready..."));
  }

  GPRS_Pro.OFF();
}

void loop()
{

}

Output

H#
USB port started...
GPRS_Pro module ready...
Setting PIN code...
PIN code accepted
GPRS_Pro module connected to the network...
Making lost call...

Quick Publish: