Advertisement
safwan092

Untitled

Sep 3rd, 2022
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.12 KB | None | 0 0
  1. #include <TinyGPS++.h>
  2. #include "SoftwareSerial.h"
  3. // TXD(SIM800L) <---> RX(ARDUINO)
  4. // RXD(SIM800L) <---> TX(ARDUINO)
  5. // RX(NEO6_GPS) <---> D3(ARDUINO)
  6. // TX(NEO6_GPS) <---> D2(ARDUINO)
  7. #define Buzzer 13 // +(Buzzer) <---> D6(Arduino)
  8.  
  9. const unsigned long eventInterval = 60000;
  10. unsigned long previousTime = 0;
  11. String stringMessage = "";
  12. String lonGPS = "";
  13. String latGPS = "";
  14. String lonGPS_OLD = "";
  15. String latGPS_OLD = "";
  16. char Buf[70];
  17. TinyGPSPlus gps;
  18. // The serial connection to the GPS device
  19. SoftwareSerial ss(2, 3);
  20.  
  21. void setup() {
  22. //Serial.begin(9600); // PC
  23. ss.begin(9600); // GPS
  24. Serial.begin(9600); // GSM
  25.  
  26. pinMode(Buzzer, OUTPUT);
  27. digitalWrite(Buzzer, LOW);
  28. delay(10000);
  29. /////////////////////////////////////////////////////////////////////////////////////////////
  30. //Serial.println ("Sending Message");
  31. Serial.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
  32. delay(1000);
  33. //Serial.println ("Set SMS Number");
  34. // *********
  35. Serial.println("AT+CMGS=\"+966566152105\"\r"); //Mobile phone number to send message
  36. delay(1000);
  37. //Serial.println ("Set SMS Content");
  38. Serial.println("Ardunio: OK");//"GSM Connected, Project is ON");// Messsage content
  39. delay(100);
  40. //Serial.println ("Finish");
  41. Serial.println((char)26);// ASCII code of CTRL+Z
  42. delay(1000);
  43. //Serial.println ("Message has been sent");
  44. /////////////////////////////////////////////////////////////////////////////////////////////
  45. }
  46.  
  47. void loop() {
  48.  
  49. readGPS_Data();
  50.  
  51. }//end of LOOP
  52.  
  53.  
  54. void displayInfo()
  55. {
  56. //Serial.print(F("Location: "));
  57. if (gps.location.isValid())
  58. {
  59. SendSMS();
  60. lonGPS = String(gps.location.lng(), 6);
  61. latGPS = String(gps.location.lat(), 6);
  62. //Serial.print(latGPS);
  63. //Serial.print(F(","));
  64. //Serial.print(lonGPS);
  65. }
  66. else
  67. {
  68. //Serial.print(F("INVALID"));
  69. }
  70. /*
  71. //Serial.print(F(" Date/Time: "));
  72. if (gps.date.isValid())
  73. {
  74. //Serial.print(gps.date.month());
  75. //Serial.print(F("/"));
  76. //Serial.print(gps.date.day());
  77. //Serial.print(F("/"));
  78. //Serial.print(gps.date.year());
  79. }
  80. else
  81. {
  82. //Serial.print(F("INVALID"));
  83. }
  84.  
  85. //Serial.print(F(" "));
  86. if (gps.time.isValid())
  87. {
  88. digitalWrite(Buzzer, HIGH);
  89. if (gps.time.hour() < 10) //Serial.print(F("0"));
  90. //Serial.print(gps.time.hour());
  91. //Serial.print(F(":"));
  92. if (gps.time.minute() < 10) //Serial.print(F("0"));
  93. //Serial.print(gps.time.minute());
  94. //Serial.print(F(":"));
  95. if (gps.time.second() < 10) //Serial.print(F("0"));
  96. //Serial.print(gps.time.second());
  97. //Serial.print(F("."));
  98. if (gps.time.centisecond() < 10) //Serial.print(F("0"));
  99. //Serial.print(gps.time.centisecond());
  100.  
  101. }
  102. else
  103. {
  104. //Serial.print(F("INVALID"));
  105. }
  106. */
  107. //Serial.println();
  108. }
  109.  
  110. void readGPS_Data() {
  111. // This sketch displays information every time a new sentence is correctly encoded.
  112. while (ss.available() > 0)
  113. if (gps.encode(ss.read()))
  114. displayInfo();
  115. }
  116.  
  117. void SendSMS() {
  118.  
  119. stringMessage = "http://www.google.com/maps/place/" + latGPS + "," + lonGPS;
  120. stringMessage.toCharArray(Buf, 70);
  121. //Serial.println(Buf);
  122. if (millis() - previousTime >= eventInterval) {
  123. if (lonGPS_OLD != lonGPS && latGPS_OLD != latGPS) {
  124. /* Event code */
  125. //Serial.println ("Sending Message");
  126. Serial.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
  127. delay(1000);
  128. //Serial.println ("Set SMS Number");
  129. // *********
  130. Serial.println("AT+CMGS=\"+966566152105\"\r"); //Mobile phone number to send message
  131. delay(1000);
  132. //Serial.println ("Set SMS Content");
  133. Serial.println(Buf);//"GSM Connected, Project is ON");// Messsage content
  134. delay(100);
  135. //Serial.println ("Finish");
  136. Serial.println((char)26);// ASCII code of CTRL+Z
  137. delay(1000);
  138. //Serial.println ("Message has been sent");
  139. lonGPS_OLD = lonGPS;
  140. latGPS_OLD = latGPS;
  141. /* Update the timing for the next time around */
  142. previousTime = millis();
  143. }
  144. }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement