ok gps fails to lock for long time hard coding seems ok
Dependencies: EthernetInterface GPS NTPClient SimpleSMTPClient mbed-rtos mbed
main.cpp
- Committer:
- avnisha
- Date:
- 2014-04-17
- Revision:
- 0:d08060f66f4f
File content as of revision 0:d08060f66f4f:
#include "mbed.h" #include "GPS.h" #include "rtos.h" #include <string> #include "EthernetInterface.h" #include "NTPClient.h" #include "SimpleSMTPClient.h" using namespace std; const string GoogleChunk = "https://maps.google.com/?q="; // URL constant const string GoogleExtras = ""; // Zoom Level (0-20) char GPRSbuffer[512]; char NUMBER[13]; string MESSAGE; int index; int i = 0; float latitude; float longitude; char message[256]; GPS gps(p9,p10); DigitalOut myled1(LED1); DigitalOut myled2(LED2); DigitalOut myled3(LED3); DigitalOut myled4(LED4); void led_thread(void const *argument) { while (true) { DigitalOut leds[4] = {myled1, myled2, myled3, myled4}; 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}}; int i=0; while(1) { leds[0] = pattern[i][0]; leds[1] = pattern[i][1]; leds[2] = pattern[i][2]; leds[3] = pattern[i][3]; wait(0.2); i++; i == 6? i=0:0; } } } #define DOMAIN "comcast.net" #define SERVER "smtp.comcast.net" #define PORT "587" //25 or 587,465(OutBound Port25 Blocking ) #define USER "avnisha" #define PWD "Bubbles1231" #define FROM_ADDRESS "avnisha@comcast.net" #define TO_ADDRESS "avnisha@comcast.net" #define SUBJECT "Test Mail" int sms_setup() { EthernetInterface eth; char strTimeMsg[16]; printf("Setting up SMS ...\n"); eth.init(); eth.connect(); printf("Connected OK\n"); // IP Address printf("IP Address is %s\n", eth.getIPAddress()); printf("%s", eth.getIPAddress()); // NTP Client printf("NTP setTime...\n"); NTPClient ntp; ntp.setTime("pool.ntp.org"); time_t ctTime = time(NULL)+32400; // JST printf("\nTime is now (JST): %d %s\n", ctTime, ctime(&ctTime)); strftime(strTimeMsg,16,"%y/%m/%d %H:%M",localtime(&ctTime)); printf("[%s]",strTimeMsg); return 1; } int sms_send(char *message) { SimpleSMTPClient smtp; int ret; char msg[]="Hello SimpleSMTPClient "; smtp.setFromAddress(FROM_ADDRESS); smtp.setToAddress(TO_ADDRESS); smtp.setMessage(SUBJECT,msg); smtp.addMessage(message); // // send as SMS text // smtp.setFromAddress(FROM_ADDRESS); smtp.setToAddress("5105794214@txt.att.net"); // MODIFY for carrier smtp.setMessage(SUBJECT,msg); smtp.addMessage(message); ret = smtp.sendmail(SERVER, USER, PWD, DOMAIN,PORT,SMTP_AUTH_PLAIN); if (ret) { printf("SMS Transmission Error\r\n"); } else { printf("SMS Transmission OK\r\n"); } return 0; } int getGPS() { #define CANNED #ifdef CANNED printf("CANNED GPS\n\r"); longitude = -201; latitude = 37; return 1; #endif if(gps.sample()) { printf("I'm at %f, %f\n", gps.longitude, gps.latitude); } else { printf("Oh Dear! No lock :(\n"); return 0; } longitude = gps.longitude; latitude = gps.latitude; return 1; } void sendGPS() { sprintf(message, "Find me at....\n %s%f,%f%s", GoogleChunk, latitude, longitude, GoogleExtras); sms_send(message); } int main() { //Thread thread(led_thread); printf("Send GPS SMS message\r\n"); sms_setup(); // Get in a while loop while (1) { if (getGPS()) { sendGPS(); } wait(600); } }