aboutsummaryrefslogtreecommitdiff
path: root/libraries/GSM/examples/Tools/PinManagement
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/GSM/examples/Tools/PinManagement')
-rw-r--r--libraries/GSM/examples/Tools/PinManagement/PinManagement.ino168
1 files changed, 0 insertions, 168 deletions
diff --git a/libraries/GSM/examples/Tools/PinManagement/PinManagement.ino b/libraries/GSM/examples/Tools/PinManagement/PinManagement.ino
deleted file mode 100644
index 654d1b8..0000000
--- a/libraries/GSM/examples/Tools/PinManagement/PinManagement.ino
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
-
- This example enables you to change or remove the PIN number of
- a SIM card inserted into a GSM shield.
-
- Circuit:
- * GSM shield
- * SIM card
-
- Created 12 Jun 2012
- by David del Peral
-
- This example code is part of the public domain
-
- http://arduino.cc/en/Tutorial/GSMToolsPinManagement
-
- */
-
-// libraries
-#include <GSM.h>
-
-// pin manager object
-GSMPIN PINManager;
-
-// save input in serial by user
-String user_input = "";
-
-// authenticated with PIN code
-boolean auth = false;
-
-// serial monitor result messages
-String oktext = "OK";
-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("Change PIN example\n");
- PINManager.begin();
-
- // check if the SIM have pin lock
- while(!auth){
- int pin_query = PINManager.isPIN();
- if(pin_query == 1)
- {
- // if SIM is locked, enter PIN code
- Serial.print("Enter PIN code: ");
- user_input = readSerial();
- // check PIN code
- if(PINManager.checkPIN(user_input) == 0)
- {
- auth = true;
- PINManager.setPINUsed(true);
- Serial.println(oktext);
- }
- else
- {
- // if PIN code was incorrected
- Serial.println("Incorrect PIN. Remember that you have 3 opportunities.");
- }
- }
- else if(pin_query == -1)
- {
- // PIN code is locked, user must enter PUK code
- Serial.println("PIN locked. Enter PUK code: ");
- String puk = readSerial();
- Serial.print("Now, enter a new PIN code: ");
- user_input = readSerial();
- // check PUK code
- if(PINManager.checkPUK(puk, user_input) == 0)
- {
- auth = true;
- PINManager.setPINUsed(true);
- Serial.println(oktext);
- }
- else
- {
- // if PUK o the new PIN are incorrect
- Serial.println("Incorrect PUK or invalid new PIN. Try again!.");
- }
- }
- else if(pin_query == -2)
- {
- // the worst case, PIN and PUK are locked
- Serial.println("PIN & PUK locked. Use PIN2/PUK2 in a mobile phone.");
- while(true);
- }
- else
- {
- // SIM does not requires authetication
- Serial.println("No pin necessary.");
- auth = true;
- }
- }
-
- // start GSM shield
- Serial.print("Checking register in GSM network...");
- if(PINManager.checkReg() == 0)
- Serial.println(oktext);
- // if you are connect by roaming
- else if(PINManager.checkReg() == 1)
- Serial.println("ROAMING " + oktext);
- else
- {
- // error connection
- Serial.println(errortext);
- while(true);
- }
-}
-
-void loop()
-{
- // Function loop implements pin management user menu
- // Only if you SIM use pin lock, you can change PIN code
- // user_op variables save user option
-
- Serial.println("Choose an option:\n1 - On/Off PIN.");
- if(PINManager.getPINUsed())
- Serial.println("2 - Change PIN.");
- String user_op = readSerial();
- if(user_op == "1")
- {
- Serial.println("Enter your PIN code:");
- user_input = readSerial();
- // activate/deactivate PIN lock
- PINManager.switchPIN(user_input);
- }
- else if(user_op == "2" & PINManager.getPINUsed())
- {
- Serial.println("Enter your actual PIN code:");
- String oldPIN = readSerial();
- Serial.println("Now, enter your new PIN code:");
- String newPIN = readSerial();
- // change PIN
- PINManager.changePIN(oldPIN, newPIN);
- }
- else
- {
- Serial.println("Incorrect option. Try again!.");
- }
- delay(1000);
-}
-
-/*
- Read input serial
- */
-String readSerial()
-{
- String text = "";
- while(1)
- {
- while (Serial.available() > 0)
- {
- char inChar = Serial.read();
- if (inChar == '\n')
- {
- return text;
- }
- if(inChar!='\r')
- text += inChar;
- }
- }
-}