diff options
Diffstat (limited to 'libraries/GSM/examples/Tools/GsmScanNetworks')
| -rw-r--r-- | libraries/GSM/examples/Tools/GsmScanNetworks/GsmScanNetworks.ino | 95 | 
1 files changed, 95 insertions, 0 deletions
diff --git a/libraries/GSM/examples/Tools/GsmScanNetworks/GsmScanNetworks.ino b/libraries/GSM/examples/Tools/GsmScanNetworks/GsmScanNetworks.ino new file mode 100644 index 0000000..0e442eb --- /dev/null +++ b/libraries/GSM/examples/Tools/GsmScanNetworks/GsmScanNetworks.ino @@ -0,0 +1,95 @@ +/* +  + GSM Scan Networks +  + This example prints out the IMEI number of the modem, + then checks to see if it's connected to a carrier. If so,  + it prints the phone number associated with the card. + Then it scans for nearby networks and prints out their signal strengths. +  + Circuit: + * GSM shield  + * SIM card +  + Created 8 Mar 2012 + by Tom Igoe, implemented by Javier Carazo + Modified 4 Feb 2013 + by Scott Fitzgerald +  + http://arduino.cc/en/Tutorial/GSMToolsGsmScanNetworks +  + This example code is part of the public domain + */ + +// libraries +#include <GSM.h> + +// PIN Number +#define PINNUMBER "" + +// initialize the library instance +GSM gsmAccess;     // include a 'true' parameter to enable debugging +GSMScanner scannerNetworks; +GSMModem modemTest; + +// Save data variables +String IMEI = ""; + +// serial monitor result messages +String errortext = "ERROR"; + +void setup() +{ +  // initialize serial communications and wait for port to open: +  Serial.begin(9600); +  while (!Serial) { +    ; // wait for serial port to connect. Needed for Leonardo only +  } + +  Serial.println("GSM networks scanner"); +  scannerNetworks.begin(); +   +  // connection state +  boolean notConnected = true; +   +  // Start GSM shield +  // If your SIM has PIN, pass it as a parameter of begin() in quotes +  while(notConnected) +  { +    if(gsmAccess.begin(PINNUMBER)==GSM_READY) +      notConnected = false; +    else +    { +      Serial.println("Not connected"); +      delay(1000); +    } +  } +   +  // get modem parameters +  // IMEI, modem unique identifier +  Serial.print("Modem IMEI: "); +  IMEI = modemTest.getIMEI(); +  IMEI.replace("\n",""); +  if(IMEI != NULL) +    Serial.println(IMEI); +} + +void loop() +{ +  // scan for existing networks, displays a list of networks +  Serial.println("Scanning available networks. May take some seconds."); +  Serial.println(scannerNetworks.readNetworks()); +   +    // currently connected carrier +  Serial.print("Current carrier: "); +  Serial.println(scannerNetworks.getCurrentCarrier()); +     +  // returns strength and ber +  // signal strength in 0-31 scale. 31 means power > 51dBm +  // BER is the Bit Error Rate. 0-7 scale. 99=not detectable +  Serial.print("Signal Strength: "); +  Serial.print(scannerNetworks.getSignalStrength()); +  Serial.println(" [0-31]"); + +} +  | 
