Testing the module's internet connection (spoiler: it doesn't work) WARNING: this code has been written in a hurry during an hackathon. It's total crap.
Testing the module's internet connection (spoiler: it doesn't work) WARNING: this code has been written in a hurry during an hackathon. It's total crap.
main.cpp@0:8f9b472ff818, 2015-07-11 (annotated)
- Committer:
- gipmad
- Date:
- Sat Jul 11 20:48:40 2015 +0000
- Revision:
- 0:8f9b472ff818
plain 1;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gipmad | 0:8f9b472ff818 | 1 | #include "mbed.h" |
gipmad | 0:8f9b472ff818 | 2 | #include "GPS.h" |
gipmad | 0:8f9b472ff818 | 3 | //#include "gsm.h" |
gipmad | 0:8f9b472ff818 | 4 | //#include "modem.h" |
gipmad | 0:8f9b472ff818 | 5 | |
gipmad | 0:8f9b472ff818 | 6 | Serial pc(SERIAL_TX, SERIAL_RX); |
gipmad | 0:8f9b472ff818 | 7 | //v0.2 |
gipmad | 0:8f9b472ff818 | 8 | Serial GSM(PC_10, PC_11); |
gipmad | 0:8f9b472ff818 | 9 | // Serial GPS(PB_6, PB_7); |
gipmad | 0:8f9b472ff818 | 10 | GPS g1(PB_6, PB_7); |
gipmad | 0:8f9b472ff818 | 11 | //Modem gsm1(PC_10, PC_11, 115200); |
gipmad | 0:8f9b472ff818 | 12 | |
gipmad | 0:8f9b472ff818 | 13 | //v0.1 |
gipmad | 0:8f9b472ff818 | 14 | //Serial GPS(PC_10, PC_11); |
gipmad | 0:8f9b472ff818 | 15 | //Serial GSM(PA_14, PA_15); |
gipmad | 0:8f9b472ff818 | 16 | |
gipmad | 0:8f9b472ff818 | 17 | //breadboard |
gipmad | 0:8f9b472ff818 | 18 | //Serial GSM(PB_6, PB_7); |
gipmad | 0:8f9b472ff818 | 19 | //Serial GPS(PC_4, PC_5); |
gipmad | 0:8f9b472ff818 | 20 | |
gipmad | 0:8f9b472ff818 | 21 | //GPS g1(PC_10, PC_11); |
gipmad | 0:8f9b472ff818 | 22 | |
gipmad | 0:8f9b472ff818 | 23 | //DigitalIn mybutton(USER_BUTTON); |
gipmad | 0:8f9b472ff818 | 24 | DigitalOut myled(PB_2); |
gipmad | 0:8f9b472ff818 | 25 | DigitalOut GSMsw(PA_15); |
gipmad | 0:8f9b472ff818 | 26 | |
gipmad | 0:8f9b472ff818 | 27 | DigitalOut DET(PB_13); |
gipmad | 0:8f9b472ff818 | 28 | /* |
gipmad | 0:8f9b472ff818 | 29 | int main() { |
gipmad | 0:8f9b472ff818 | 30 | while(1) { |
gipmad | 0:8f9b472ff818 | 31 | if (mybutton == 0) { // Button is pressed |
gipmad | 0:8f9b472ff818 | 32 | myled = !myled; // Toggle the LED state |
gipmad | 0:8f9b472ff818 | 33 | wait(0.2); // 200 ms |
gipmad | 0:8f9b472ff818 | 34 | } |
gipmad | 0:8f9b472ff818 | 35 | } |
gipmad | 0:8f9b472ff818 | 36 | } |
gipmad | 0:8f9b472ff818 | 37 | */ |
gipmad | 0:8f9b472ff818 | 38 | |
gipmad | 0:8f9b472ff818 | 39 | |
gipmad | 0:8f9b472ff818 | 40 | int main() { |
gipmad | 0:8f9b472ff818 | 41 | |
gipmad | 0:8f9b472ff818 | 42 | DET = 0; |
gipmad | 0:8f9b472ff818 | 43 | |
gipmad | 0:8f9b472ff818 | 44 | pc.baud(115200); |
gipmad | 0:8f9b472ff818 | 45 | //GPS.baud(9600); |
gipmad | 0:8f9b472ff818 | 46 | GSM.baud(115200); |
gipmad | 0:8f9b472ff818 | 47 | |
gipmad | 0:8f9b472ff818 | 48 | int i = 1; |
gipmad | 0:8f9b472ff818 | 49 | pc.printf("Hello World !\n"); |
gipmad | 0:8f9b472ff818 | 50 | |
gipmad | 0:8f9b472ff818 | 51 | |
gipmad | 0:8f9b472ff818 | 52 | ///INIT |
gipmad | 0:8f9b472ff818 | 53 | myled = 1; |
gipmad | 0:8f9b472ff818 | 54 | GSMsw = 1; |
gipmad | 0:8f9b472ff818 | 55 | wait(1); |
gipmad | 0:8f9b472ff818 | 56 | myled = 0; |
gipmad | 0:8f9b472ff818 | 57 | |
gipmad | 0:8f9b472ff818 | 58 | pc.printf("ON\n"); |
gipmad | 0:8f9b472ff818 | 59 | |
gipmad | 0:8f9b472ff818 | 60 | float LAT; |
gipmad | 0:8f9b472ff818 | 61 | float LON; |
gipmad | 0:8f9b472ff818 | 62 | |
gipmad | 0:8f9b472ff818 | 63 | /*if(gsm1.sendCmdAndWaitForResp("AT+CMGF=1\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 64 | if(gsm1.sendCmdAndWaitForResp("AT+SAPBR=3,1,\"APN\",\"mobile.vodafone.it\"\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 65 | if(gsm1.sendCmdAndWaitForResp("AT+SAPBR=3,1,\"USER\",\"\"\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 66 | if(gsm1.sendCmdAndWaitForResp("AT+SAPBR=3,1,\"PWD\",\"\"\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 67 | if(gsm1.sendCmdAndWaitForResp("AT+SAPBR=3,1,\"PHONENUM\",\"*99#\"\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 68 | if(gsm1.sendCmdAndWaitForResp("AT+SAPBR=1,1\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 69 | if(gsm1.sendCmdAndWaitForResp("AT+HTTPINIT\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 70 | if(gsm1.sendCmdAndWaitForResp("AT+HTTPPARA=\"CID\",1\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 71 | */ |
gipmad | 0:8f9b472ff818 | 72 | while(1) { |
gipmad | 0:8f9b472ff818 | 73 | |
gipmad | 0:8f9b472ff818 | 74 | /*if(gsm1.sendCmdAndWaitForResp("AT+HTTPPARA=\"URL\",\"http://www.mastrogippo.it/b/conta.php\"\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 75 | if(gsm1.sendCmdAndWaitForResp("AT+HTTPACTION=0\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 76 | |
gipmad | 0:8f9b472ff818 | 77 | //if(gsm1.sendCmdAndWaitForResp("AT\r\n","OK",DEFAULT_TIMEOUT,CMD) == 0) pc.printf("bea!\r\n"); else pc.printf("Err\r\n"); |
gipmad | 0:8f9b472ff818 | 78 | wait(1);*/ |
gipmad | 0:8f9b472ff818 | 79 | |
gipmad | 0:8f9b472ff818 | 80 | |
gipmad | 0:8f9b472ff818 | 81 | if(GSM.readable()) |
gipmad | 0:8f9b472ff818 | 82 | pc.putc(GSM.getc()); |
gipmad | 0:8f9b472ff818 | 83 | if(pc.readable()) |
gipmad | 0:8f9b472ff818 | 84 | GSM.putc(pc.getc()); |
gipmad | 0:8f9b472ff818 | 85 | |
gipmad | 0:8f9b472ff818 | 86 | /*if(GPS.readable()) |
gipmad | 0:8f9b472ff818 | 87 | pc.putc(GPS.getc()); |
gipmad | 0:8f9b472ff818 | 88 | if(pc.readable()) |
gipmad | 0:8f9b472ff818 | 89 | GPS.putc(pc.getc());*/ |
gipmad | 0:8f9b472ff818 | 90 | |
gipmad | 0:8f9b472ff818 | 91 | |
gipmad | 0:8f9b472ff818 | 92 | /*wait(1); |
gipmad | 0:8f9b472ff818 | 93 | |
gipmad | 0:8f9b472ff818 | 94 | pc.printf("ns: %d\r\n", g1.ns()); |
gipmad | 0:8f9b472ff818 | 95 | pc.printf("ew: %d\r\n", g1.ew()); |
gipmad | 0:8f9b472ff818 | 96 | pc.printf("lock: %d\r\n", g1.lock()); |
gipmad | 0:8f9b472ff818 | 97 | pc.printf("t: %f\r\n", g1.time()); |
gipmad | 0:8f9b472ff818 | 98 | |
gipmad | 0:8f9b472ff818 | 99 | if(g1.lock() == 0) |
gipmad | 0:8f9b472ff818 | 100 | { |
gipmad | 0:8f9b472ff818 | 101 | pc.printf("No fix; faking it...\r\n"); |
gipmad | 0:8f9b472ff818 | 102 | LAT = 45.564411; |
gipmad | 0:8f9b472ff818 | 103 | LON = 12.428018; |
gipmad | 0:8f9b472ff818 | 104 | } |
gipmad | 0:8f9b472ff818 | 105 | else |
gipmad | 0:8f9b472ff818 | 106 | { |
gipmad | 0:8f9b472ff818 | 107 | LAT = g1.latitude(); |
gipmad | 0:8f9b472ff818 | 108 | LON = g1.longitude(); |
gipmad | 0:8f9b472ff818 | 109 | } |
gipmad | 0:8f9b472ff818 | 110 | |
gipmad | 0:8f9b472ff818 | 111 | pc.printf("lat: %f\r\n", LAT); |
gipmad | 0:8f9b472ff818 | 112 | pc.printf("lon: %f\r\n", LON);*/ |
gipmad | 0:8f9b472ff818 | 113 | } |
gipmad | 0:8f9b472ff818 | 114 | } |
gipmad | 0:8f9b472ff818 | 115 |