Advertisement
babyyoda_

GSM_LanSwitch

Mar 11th, 2021
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  *
  3.  */
  4.  
  5. char inchar;          // variable to store the incoming character
  6. int Lan1 = 2;         //Lan A switch
  7. int Lan2 = 3;         //Lan A switch
  8. int Lan3 = 4;         //Lan A switch
  9. int Lan4 = 5;         //Lan A switch
  10. int LanA_Red = 12;
  11. int LanA_Green = 11;
  12. int LanB_Red = 10;
  13. int LanB_Green = 9;
  14. void setup()
  15. {
  16.  
  17.   pinMode(Lan1, OUTPUT);
  18.   pinMode(Lan2, OUTPUT);
  19.   pinMode(Lan3, OUTPUT);
  20.   pinMode(Lan4, OUTPUT);
  21.   pinMode(LanA_Red, OUTPUT);
  22.   pinMode(LanB_Red, OUTPUT);
  23.   pinMode(LanA_Green, OUTPUT);
  24.   pinMode(LanB_Green, OUTPUT);
  25.   digitalWrite(LanA_Green, LOW);
  26.   digitalWrite(LanA_Red, HIGH);
  27.   digitalWrite(LanB_Green, HIGH);
  28.   digitalWrite(LanB_Red, LOW);
  29.  
  30.   // wake up the GSM shield
  31.   Serial.begin(9600);
  32.   delay(2000);
  33.   Serial.println("AT+CMGF=1"); // set SMS mode to text
  34.   delay(100);
  35.   Serial.println("AT+CNMI=2,2,0,0,0");
  36.   // just to get a notification when SMS arrives &direct out SMS upon receipt to the GSM serial out
  37.   delay(100);
  38. }
  39.  
  40. void loop()
  41. {
  42.   //If a character comes in from the GSM...
  43.   if (Serial.available() > 0)
  44.   {
  45.     inchar = Serial.read();
  46.     if (inchar == 'L')         // To change the trigger words edit here
  47.     {
  48.       delay(10);
  49.       inchar = Serial.read();
  50.       if (inchar == 'A')
  51.       {
  52.         inchar = Serial.read();
  53.         if (inchar == 'N')
  54.         {
  55.           delay(10);
  56.           inchar = Serial.read();     //SMS LANA
  57.           if (inchar == '1')
  58.           {
  59.             digitalWrite(Lan1, HIGH);
  60.             digitalWrite(Lan2, HIGH);
  61.             digitalWrite(Lan3, HIGH);
  62.             digitalWrite(Lan4, HIGH);
  63.             digitalWrite(LanA_Green, HIGH);    
  64.             digitalWrite(LanA_Red, LOW);                    
  65.             digitalWrite(LanB_Green, LOW);      
  66.             digitalWrite(LanB_Red, HIGH);
  67.           }
  68.           else if (inchar == '2')     //SMS LANB
  69.           {
  70.             digitalWrite(Lan1, LOW);
  71.             digitalWrite(Lan2, LOW);
  72.             digitalWrite(Lan3, LOW);
  73.             digitalWrite(Lan4, LOW);
  74.             digitalWrite(LanA_Green, LOW);
  75.             digitalWrite(LanA_Red, HIGH);
  76.             digitalWrite(LanB_Green, HIGH);
  77.             digitalWrite(LanB_Red, LOW);
  78.           }
  79.           delay(100);
  80.           Serial.println("AT+CMGD=1,4"); // delete all SMS
  81.           delay(2000);
  82.         }
  83.       }
  84.     }
  85.   }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement