Advertisement
Guest User

Piotr

a guest
Jul 16th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 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. Serial.println(numer); /// wpisane z INTERNETU
  33.  
  34.  
  35.  
  36. // Czekamy az wpiszemy cos w konsole
  37. while (!Serial.available()) {}
  38.  
  39. // Odczytujemy z konsoli do zmiennej
  40. while (Serial.available())
  41. {
  42. delay(5);
  43. if (Serial.available() > 0)
  44. {
  45. char c = Serial.read();
  46. numer += c;
  47. }
  48. }
  49.  
  50. return numer;
  51. }
  52.  
  53. String odczytajTrescSMS()
  54. {
  55. String tresc = "";
  56.  
  57. Serial.println("Wpisz tresc SMS.");
  58.  
  59. // Czekamy az wpiszemy cos w konsole
  60. while (!Serial.available()) {}
  61.  
  62. // Odczytujemy z konsoli do zmiennej
  63. while (Serial.available())
  64. {
  65. delay(5);
  66. if (Serial.available() > 0)
  67. {
  68. char c = Serial.read();
  69. tresc += c;
  70. }
  71. }
  72.  
  73. return tresc;
  74. }
  75.  
  76. void gsmAnswer(void)
  77. {
  78. // Czekamy az modul odpowie
  79. while (!gsm.available()) {}
  80.  
  81. // Wyswietlamy odpowiedz
  82. while (gsm.available())
  83. {
  84. delay(5);
  85. if (gsm.available() > 0)
  86. {
  87. Serial.write(gsm.read());
  88. }
  89. }
  90. }
  91.  
  92. // Wysylanie komendy AT
  93. void gsmCommand(String cmd)
  94. {
  95. gsm.print(cmd);
  96. gsm.print("\r");
  97. gsmAnswer();
  98. }
  99.  
  100. // Wysylanie SMS
  101. void gsmSMS(String phone, String message)
  102. {
  103. gsmCommand("AT+CMGF=1");
  104. delay(100);
  105. gsmCommand("AT+CSCS=\"GSM\"");
  106. delay(100);
  107.  
  108. gsmCommand("AT+CMGS=\""+phone+"\""); ///orginalnie przerzuca do drugiej lini myślnik
  109.  
  110.  
  111.  
  112. delay(100);
  113. gsm.print(message);
  114. gsm.print((char)26);
  115.  
  116. gsmAnswer();
  117. }
  118.  
  119. void loop()
  120. {
  121. gsmCommand("AT");
  122.  
  123. numerTelefonu = odczytajNumerTelefonu();
  124. trescSMS = odczytajTrescSMS();
  125.  
  126. Serial.println();
  127. Serial.print("numerTelefonu=");
  128. Serial.println(numerTelefonu);
  129. Serial.print("trescSMS=");
  130. Serial.println(trescSMS);
  131. Serial.println();
  132.  
  133. gsmSMS(numerTelefonu, trescSMS);
  134.  
  135. Serial.println();
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement