ok gps fails to lock for long time hard coding seems ok
Dependencies: EthernetInterface GPS NTPClient SimpleSMTPClient mbed-rtos mbed
main.cpp
00001 00002 00003 #include "mbed.h" 00004 #include "GPS.h" 00005 #include "rtos.h" 00006 #include <string> 00007 #include "EthernetInterface.h" 00008 #include "NTPClient.h" 00009 #include "SimpleSMTPClient.h" 00010 00011 using namespace std; 00012 00013 const string GoogleChunk = "https://maps.google.com/?q="; // URL constant 00014 const string GoogleExtras = ""; // Zoom Level (0-20) 00015 char GPRSbuffer[512]; 00016 char NUMBER[13]; 00017 string MESSAGE; 00018 int index; 00019 int i = 0; 00020 float latitude; 00021 float longitude; 00022 char message[256]; 00023 00024 GPS gps(p9,p10); 00025 DigitalOut myled1(LED1); 00026 DigitalOut myled2(LED2); 00027 DigitalOut myled3(LED3); 00028 DigitalOut myled4(LED4); 00029 00030 void led_thread(void const *argument) 00031 { 00032 while (true) { 00033 DigitalOut leds[4] = {myled1, myled2, myled3, myled4}; 00034 int pattern[6][4] = {{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1},{0,0,1,0},{0,1,0,0}}; 00035 int i=0; 00036 while(1) { 00037 leds[0] = pattern[i][0]; 00038 leds[1] = pattern[i][1]; 00039 leds[2] = pattern[i][2]; 00040 leds[3] = pattern[i][3]; 00041 wait(0.2); 00042 i++; 00043 i == 6? i=0:0; 00044 } 00045 } 00046 } 00047 00048 00049 #define DOMAIN "comcast.net" 00050 #define SERVER "smtp.comcast.net" 00051 #define PORT "587" //25 or 587,465(OutBound Port25 Blocking ) 00052 #define USER "avnisha" 00053 #define PWD "Bubbles1231" 00054 #define FROM_ADDRESS "avnisha@comcast.net" 00055 #define TO_ADDRESS "avnisha@comcast.net" 00056 #define SUBJECT "Test Mail" 00057 00058 int sms_setup() 00059 { 00060 EthernetInterface eth; 00061 char strTimeMsg[16]; 00062 00063 printf("Setting up SMS ...\n"); 00064 eth.init(); 00065 eth.connect(); 00066 printf("Connected OK\n"); 00067 00068 // IP Address 00069 00070 printf("IP Address is %s\n", eth.getIPAddress()); 00071 printf("%s", eth.getIPAddress()); 00072 00073 // NTP Client 00074 printf("NTP setTime...\n"); 00075 NTPClient ntp; 00076 ntp.setTime("pool.ntp.org"); 00077 00078 time_t ctTime = time(NULL)+32400; // JST 00079 printf("\nTime is now (JST): %d %s\n", ctTime, ctime(&ctTime)); 00080 strftime(strTimeMsg,16,"%y/%m/%d %H:%M",localtime(&ctTime)); 00081 printf("[%s]",strTimeMsg); 00082 00083 return 1; 00084 00085 } 00086 00087 int sms_send(char *message) { 00088 00089 SimpleSMTPClient smtp; 00090 int ret; 00091 char msg[]="Hello SimpleSMTPClient "; 00092 00093 smtp.setFromAddress(FROM_ADDRESS); 00094 smtp.setToAddress(TO_ADDRESS); 00095 smtp.setMessage(SUBJECT,msg); 00096 smtp.addMessage(message); 00097 00098 // 00099 // send as SMS text 00100 // 00101 00102 smtp.setFromAddress(FROM_ADDRESS); 00103 smtp.setToAddress("5105794214@txt.att.net"); // MODIFY for carrier 00104 smtp.setMessage(SUBJECT,msg); 00105 smtp.addMessage(message); 00106 00107 ret = smtp.sendmail(SERVER, USER, PWD, DOMAIN,PORT,SMTP_AUTH_PLAIN); 00108 00109 if (ret) { 00110 printf("SMS Transmission Error\r\n"); 00111 } else { 00112 printf("SMS Transmission OK\r\n"); 00113 } 00114 00115 return 0; 00116 00117 } 00118 00119 int getGPS() { 00120 00121 #define CANNED 00122 #ifdef CANNED 00123 printf("CANNED GPS\n\r"); 00124 longitude = -201; 00125 latitude = 37; 00126 return 1; 00127 #endif 00128 if(gps.sample()) { 00129 printf("I'm at %f, %f\n", gps.longitude, gps.latitude); 00130 } else { 00131 printf("Oh Dear! No lock :(\n"); 00132 return 0; 00133 } 00134 00135 longitude = gps.longitude; 00136 latitude = gps.latitude; 00137 return 1; 00138 } 00139 00140 void sendGPS() 00141 { 00142 00143 sprintf(message, "Find me at....\n %s%f,%f%s", GoogleChunk, latitude, longitude, GoogleExtras); 00144 sms_send(message); 00145 00146 } 00147 00148 00149 int main() 00150 { 00151 00152 //Thread thread(led_thread); 00153 00154 printf("Send GPS SMS message\r\n"); 00155 sms_setup(); 00156 00157 // Get in a while loop 00158 00159 while (1) { 00160 if (getGPS()) { 00161 sendGPS(); 00162 } 00163 00164 wait(600); 00165 } 00166 } 00167 00168
Generated on Thu Jul 14 2022 01:22:46 by 1.7.2