Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.41 KB | None | 0 0
  1. #include <SoftwareSerial.h>
  2.  
  3. SoftwareSerial gsm(7, 8); // Piny 2 i 3 do komunikacji z SIMxxx
  4.  
  5. String atCommand;
  6. String numerTelefonu;
  7. String trescSMS;
  8.  
  9. void setup()  
  10. {
  11.   pinMode(9, OUTPUT);
  12.   digitalWrite(9, HIGH);
  13.   delay(500);
  14.   digitalWrite(9, LOW);
  15.  
  16.   // Ustawiamy transmisje na 9600 bodow Arduino--PC
  17.   Serial.begin(9600);
  18.  
  19.   // Czekamy na inicjalizacje
  20.   while (!Serial) {}
  21.  
  22.   // Ustawiamy transmisje na 9600 bodow SIMxxx-Arduino
  23.   gsm.begin(9600);
  24. }
  25.  
  26. String odczytajNumerTelefonu()
  27. {
  28.   String numer = "";
  29.  
  30.   Serial.println("Wpisz numer telefonu.");
  31.  
  32.  
  33.  
  34.   // Czekamy az wpiszemy cos w konsole
  35.   while (!Serial.available()) {}
  36.  
  37.   // Odczytujemy z konsoli do zmiennej
  38.   while (Serial.available())
  39.   {
  40.     delay(5);
  41.     if (Serial.available() > 0)
  42.     {
  43.       char c = Serial.read();
  44.       numer += c;
  45.       Serial.println(numer);    ///      wpisane z INTERNETU - poprawiona lokalizacja komendy
  46.     }
  47.   }
  48.  
  49.   return numer;
  50. }
  51.  
  52. String odczytajTrescSMS()
  53. {
  54.   String tresc = "";
  55.  
  56.   Serial.println("Wpisz tresc SMS.");
  57.  
  58.   // Czekamy az wpiszemy cos w konsole
  59.   while (!Serial.available()) {}
  60.  
  61.   // Odczytujemy z konsoli do zmiennej
  62.   while (Serial.available())
  63.   {
  64.     delay(5);
  65.     if (Serial.available() > 0)
  66.     {
  67.       char c = Serial.read();
  68.       tresc += c;
  69.     }
  70.   }
  71.  
  72.   return tresc;
  73. }
  74.  
  75. void gsmAnswer(void)
  76. {
  77.   // Czekamy az modul odpowie
  78.   while (!gsm.available()) {}
  79.  
  80.   // Wyswietlamy odpowiedz
  81.   while (gsm.available())
  82.   {
  83.     delay(5);
  84.     if (gsm.available() > 0)
  85.     {
  86.       Serial.write(gsm.read());
  87.     }
  88.   }
  89. }
  90.  
  91. // Wysylanie komendy AT
  92. void gsmCommand(String cmd)
  93. {
  94.   gsm.print(cmd);
  95.   gsm.print("\r");
  96.   gsmAnswer();
  97. }
  98.  
  99. // Wysylanie SMS
  100. void gsmSMS(String phone, String message)
  101. {
  102.   gsmCommand("AT+CMGF=1");
  103.   delay(100);
  104.   gsmCommand("AT+CSCS=\"GSM\"");  
  105.   delay(100);
  106.  
  107. gsmCommand("AT+CMGS=\""+phone+"\""); ///orginalnie przerzuca do drugiej lini myślnik
  108.  
  109.  
  110.  
  111.  delay(100);
  112.   gsm.print(message);
  113.   gsm.print((char)26);
  114.  
  115.   gsmAnswer();
  116. }
  117.  
  118. void loop()
  119. {
  120.   gsmCommand("AT");
  121.  
  122.   numerTelefonu = odczytajNumerTelefonu();
  123.   trescSMS = odczytajTrescSMS();
  124.  
  125.   Serial.println();
  126.   Serial.print("numerTelefonu=");
  127.   Serial.println(numerTelefonu);
  128.   Serial.print("trescSMS=");
  129.   Serial.println(trescSMS);
  130.   Serial.println();  
  131.  
  132.   gsmSMS(numerTelefonu, trescSMS);
  133.  
  134.   Serial.println();    
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement