Sebastian Parra
/
GPRS
The micro controler used was the STM32F746ZG
main.cpp@0:d14c82c59346, 2018-02-06 (annotated)
- Committer:
- juansparra
- Date:
- Tue Feb 06 22:38:06 2018 +0000
- Revision:
- 0:d14c82c59346
Used with the Sim808
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
juansparra | 0:d14c82c59346 | 1 | #include "mbed.h" |
juansparra | 0:d14c82c59346 | 2 | |
juansparra | 0:d14c82c59346 | 3 | char CtrlZ = 0x1A; |
juansparra | 0:d14c82c59346 | 4 | char buffer[256],buffer_GPS[256],posbuffer=5,posbufferinterrup=0,imprima=0; |
juansparra | 0:d14c82c59346 | 5 | Serial sim808(PE_8,PE_7);//Serial xxxx(SERIAL_TX, SERIAL_RX); |
juansparra | 0:d14c82c59346 | 6 | |
juansparra | 0:d14c82c59346 | 7 | Serial pc(SERIAL_TX, SERIAL_RX); |
juansparra | 0:d14c82c59346 | 8 | |
juansparra | 0:d14c82c59346 | 9 | |
juansparra | 0:d14c82c59346 | 10 | void obtener(){ |
juansparra | 0:d14c82c59346 | 11 | |
juansparra | 0:d14c82c59346 | 12 | char ob = sim808.getc(); |
juansparra | 0:d14c82c59346 | 13 | if(ob==13||ob==10) |
juansparra | 0:d14c82c59346 | 14 | {imprima=1; |
juansparra | 0:d14c82c59346 | 15 | posbuffer=posbufferinterrup; |
juansparra | 0:d14c82c59346 | 16 | posbufferinterrup=0; |
juansparra | 0:d14c82c59346 | 17 | } |
juansparra | 0:d14c82c59346 | 18 | else |
juansparra | 0:d14c82c59346 | 19 | {buffer[posbufferinterrup]=ob; |
juansparra | 0:d14c82c59346 | 20 | posbufferinterrup++; |
juansparra | 0:d14c82c59346 | 21 | } |
juansparra | 0:d14c82c59346 | 22 | |
juansparra | 0:d14c82c59346 | 23 | } |
juansparra | 0:d14c82c59346 | 24 | DigitalIn mybutton(USER_BUTTON); |
juansparra | 0:d14c82c59346 | 25 | DigitalOut myled(LED1); |
juansparra | 0:d14c82c59346 | 26 | |
juansparra | 0:d14c82c59346 | 27 | |
juansparra | 0:d14c82c59346 | 28 | |
juansparra | 0:d14c82c59346 | 29 | int main() { |
juansparra | 0:d14c82c59346 | 30 | sim808.baud(9600); |
juansparra | 0:d14c82c59346 | 31 | sim808.attach(&obtener); |
juansparra | 0:d14c82c59346 | 32 | while(1) { |
juansparra | 0:d14c82c59346 | 33 | if (mybutton == 1) { // Button is pressed |
juansparra | 0:d14c82c59346 | 34 | myled = !myled; // Toggle the LED state |
juansparra | 0:d14c82c59346 | 35 | wait(2); // 200 ms |
juansparra | 0:d14c82c59346 | 36 | //myled = !myled; // Toggle the LED state |
juansparra | 0:d14c82c59346 | 37 | //wait(2); // 200 ms |
juansparra | 0:d14c82c59346 | 38 | |
juansparra | 0:d14c82c59346 | 39 | |
juansparra | 0:d14c82c59346 | 40 | |
juansparra | 0:d14c82c59346 | 41 | |
juansparra | 0:d14c82c59346 | 42 | do |
juansparra | 0:d14c82c59346 | 43 | { |
juansparra | 0:d14c82c59346 | 44 | imprima=0; |
juansparra | 0:d14c82c59346 | 45 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 46 | sim808.printf("AT+CGPSPWR=1"); |
juansparra | 0:d14c82c59346 | 47 | pc.printf("AT+CGPSPWR=1"); |
juansparra | 0:d14c82c59346 | 48 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 49 | wait(.9); |
juansparra | 0:d14c82c59346 | 50 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 51 | {} |
juansparra | 0:d14c82c59346 | 52 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 53 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 54 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 55 | {pc.putc(imprima+48); |
juansparra | 0:d14c82c59346 | 56 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 57 | } |
juansparra | 0:d14c82c59346 | 58 | |
juansparra | 0:d14c82c59346 | 59 | if((buffer[0]=='O')and(buffer[1]=='K')) |
juansparra | 0:d14c82c59346 | 60 | imprima=1; |
juansparra | 0:d14c82c59346 | 61 | |
juansparra | 0:d14c82c59346 | 62 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 63 | |
juansparra | 0:d14c82c59346 | 64 | |
juansparra | 0:d14c82c59346 | 65 | |
juansparra | 0:d14c82c59346 | 66 | do |
juansparra | 0:d14c82c59346 | 67 | { |
juansparra | 0:d14c82c59346 | 68 | imprima=0; |
juansparra | 0:d14c82c59346 | 69 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 70 | sim808.printf("AT+CGPSSTATUS?"); |
juansparra | 0:d14c82c59346 | 71 | pc.printf("AT+CGPSSTATUS?"); |
juansparra | 0:d14c82c59346 | 72 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 73 | wait(.9); |
juansparra | 0:d14c82c59346 | 74 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 75 | {} |
juansparra | 0:d14c82c59346 | 76 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 77 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 78 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 79 | {pc.putc(imprima+48); |
juansparra | 0:d14c82c59346 | 80 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 81 | } |
juansparra | 0:d14c82c59346 | 82 | |
juansparra | 0:d14c82c59346 | 83 | if((buffer[24]=='D')or(buffer[23]=='D')) |
juansparra | 0:d14c82c59346 | 84 | imprima=1; |
juansparra | 0:d14c82c59346 | 85 | |
juansparra | 0:d14c82c59346 | 86 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 87 | |
juansparra | 0:d14c82c59346 | 88 | |
juansparra | 0:d14c82c59346 | 89 | |
juansparra | 0:d14c82c59346 | 90 | do |
juansparra | 0:d14c82c59346 | 91 | { |
juansparra | 0:d14c82c59346 | 92 | imprima=0; |
juansparra | 0:d14c82c59346 | 93 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 94 | sim808.printf("AT+CGNSSEQ?"); |
juansparra | 0:d14c82c59346 | 95 | pc.printf("AT+CGNSSEQ?"); |
juansparra | 0:d14c82c59346 | 96 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 97 | wait(.9); |
juansparra | 0:d14c82c59346 | 98 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 99 | {} |
juansparra | 0:d14c82c59346 | 100 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 101 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 102 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 103 | {pc.putc(imprima+48); |
juansparra | 0:d14c82c59346 | 104 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 105 | } |
juansparra | 0:d14c82c59346 | 106 | |
juansparra | 0:d14c82c59346 | 107 | if((buffer[12]=='C')or(buffer[13]=='C')) |
juansparra | 0:d14c82c59346 | 108 | imprima=1; |
juansparra | 0:d14c82c59346 | 109 | |
juansparra | 0:d14c82c59346 | 110 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 111 | |
juansparra | 0:d14c82c59346 | 112 | |
juansparra | 0:d14c82c59346 | 113 | |
juansparra | 0:d14c82c59346 | 114 | do |
juansparra | 0:d14c82c59346 | 115 | { |
juansparra | 0:d14c82c59346 | 116 | imprima=0; |
juansparra | 0:d14c82c59346 | 117 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 118 | sim808.printf("AT+CGNSURC?"); |
juansparra | 0:d14c82c59346 | 119 | pc.printf("AT+CGNSURC?"); |
juansparra | 0:d14c82c59346 | 120 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 121 | wait(.9); |
juansparra | 0:d14c82c59346 | 122 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 123 | {} |
juansparra | 0:d14c82c59346 | 124 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 125 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 126 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 127 | {pc.putc(imprima+48); |
juansparra | 0:d14c82c59346 | 128 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 129 | } |
juansparra | 0:d14c82c59346 | 130 | |
juansparra | 0:d14c82c59346 | 131 | if((buffer[8]=='C')or(buffer[7]=='C')) |
juansparra | 0:d14c82c59346 | 132 | imprima=1; |
juansparra | 0:d14c82c59346 | 133 | |
juansparra | 0:d14c82c59346 | 134 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 135 | |
juansparra | 0:d14c82c59346 | 136 | |
juansparra | 0:d14c82c59346 | 137 | |
juansparra | 0:d14c82c59346 | 138 | |
juansparra | 0:d14c82c59346 | 139 | |
juansparra | 0:d14c82c59346 | 140 | |
juansparra | 0:d14c82c59346 | 141 | do |
juansparra | 0:d14c82c59346 | 142 | { |
juansparra | 0:d14c82c59346 | 143 | imprima=0; |
juansparra | 0:d14c82c59346 | 144 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 145 | sim808.printf("AT+CGNSINF"); |
juansparra | 0:d14c82c59346 | 146 | pc.printf("AT+CGNSINF"); |
juansparra | 0:d14c82c59346 | 147 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 148 | wait(.9); |
juansparra | 0:d14c82c59346 | 149 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 150 | {} |
juansparra | 0:d14c82c59346 | 151 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 152 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 153 | for(imprima=0;imprima<52;imprima++) |
juansparra | 0:d14c82c59346 | 154 | {buffer_GPS[imprima]=buffer[imprima]; |
juansparra | 0:d14c82c59346 | 155 | pc.putc(imprima+48); |
juansparra | 0:d14c82c59346 | 156 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 157 | } |
juansparra | 0:d14c82c59346 | 158 | |
juansparra | 0:d14c82c59346 | 159 | if((buffer[7]=='N')or(buffer[8]=='N')) |
juansparra | 0:d14c82c59346 | 160 | imprima=1; |
juansparra | 0:d14c82c59346 | 161 | |
juansparra | 0:d14c82c59346 | 162 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 163 | |
juansparra | 0:d14c82c59346 | 164 | |
juansparra | 0:d14c82c59346 | 165 | |
juansparra | 0:d14c82c59346 | 166 | |
juansparra | 0:d14c82c59346 | 167 | |
juansparra | 0:d14c82c59346 | 168 | |
juansparra | 0:d14c82c59346 | 169 | |
juansparra | 0:d14c82c59346 | 170 | |
juansparra | 0:d14c82c59346 | 171 | |
juansparra | 0:d14c82c59346 | 172 | do |
juansparra | 0:d14c82c59346 | 173 | { |
juansparra | 0:d14c82c59346 | 174 | imprima=0; |
juansparra | 0:d14c82c59346 | 175 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 176 | sim808.printf("AT+CIPSHUT"); |
juansparra | 0:d14c82c59346 | 177 | pc.printf("shut"); |
juansparra | 0:d14c82c59346 | 178 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 179 | wait(.9); |
juansparra | 0:d14c82c59346 | 180 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 181 | {} |
juansparra | 0:d14c82c59346 | 182 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 183 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 184 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 185 | {pc.putc(imprima+48); |
juansparra | 0:d14c82c59346 | 186 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 187 | } |
juansparra | 0:d14c82c59346 | 188 | |
juansparra | 0:d14c82c59346 | 189 | if((buffer[0]=='S')and(buffer[1]=='H')) |
juansparra | 0:d14c82c59346 | 190 | imprima=1; |
juansparra | 0:d14c82c59346 | 191 | |
juansparra | 0:d14c82c59346 | 192 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 193 | |
juansparra | 0:d14c82c59346 | 194 | |
juansparra | 0:d14c82c59346 | 195 | |
juansparra | 0:d14c82c59346 | 196 | do |
juansparra | 0:d14c82c59346 | 197 | { |
juansparra | 0:d14c82c59346 | 198 | imprima=0; |
juansparra | 0:d14c82c59346 | 199 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 200 | sim808.printf("AT+CIPMUX=0"); |
juansparra | 0:d14c82c59346 | 201 | pc.printf("AT+CIPMUX=0"); |
juansparra | 0:d14c82c59346 | 202 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 203 | wait(.9); |
juansparra | 0:d14c82c59346 | 204 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 205 | {} |
juansparra | 0:d14c82c59346 | 206 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 207 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 208 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 209 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 210 | |
juansparra | 0:d14c82c59346 | 211 | if((buffer[0]=='O')and(buffer[1]=='K')) |
juansparra | 0:d14c82c59346 | 212 | imprima=1; |
juansparra | 0:d14c82c59346 | 213 | else |
juansparra | 0:d14c82c59346 | 214 | imprima=0; |
juansparra | 0:d14c82c59346 | 215 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 216 | |
juansparra | 0:d14c82c59346 | 217 | myled = !myled; // Toggle the LED state |
juansparra | 0:d14c82c59346 | 218 | wait(2); // 200 ms |
juansparra | 0:d14c82c59346 | 219 | myled = !myled; // Toggle the LED state |
juansparra | 0:d14c82c59346 | 220 | wait(2); // 200 ms |
juansparra | 0:d14c82c59346 | 221 | |
juansparra | 0:d14c82c59346 | 222 | |
juansparra | 0:d14c82c59346 | 223 | do |
juansparra | 0:d14c82c59346 | 224 | { |
juansparra | 0:d14c82c59346 | 225 | imprima=0; |
juansparra | 0:d14c82c59346 | 226 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 227 | sim808.printf("AT+CGATT=1"); |
juansparra | 0:d14c82c59346 | 228 | pc.printf("AT+CGATT=1"); |
juansparra | 0:d14c82c59346 | 229 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 230 | wait(.9); |
juansparra | 0:d14c82c59346 | 231 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 232 | {} |
juansparra | 0:d14c82c59346 | 233 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 234 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 235 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 236 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 237 | if((buffer[0]=='O')and(buffer[1]=='K')) |
juansparra | 0:d14c82c59346 | 238 | imprima=1; |
juansparra | 0:d14c82c59346 | 239 | else |
juansparra | 0:d14c82c59346 | 240 | imprima=0; |
juansparra | 0:d14c82c59346 | 241 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 242 | |
juansparra | 0:d14c82c59346 | 243 | |
juansparra | 0:d14c82c59346 | 244 | |
juansparra | 0:d14c82c59346 | 245 | do |
juansparra | 0:d14c82c59346 | 246 | { |
juansparra | 0:d14c82c59346 | 247 | imprima=0; |
juansparra | 0:d14c82c59346 | 248 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 249 | sim808.printf("AT+CSTT="); |
juansparra | 0:d14c82c59346 | 250 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 251 | sim808.printf("internet.comcel.com.co"); |
juansparra | 0:d14c82c59346 | 252 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 253 | sim808.putc(44); |
juansparra | 0:d14c82c59346 | 254 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 255 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 256 | sim808.putc(44); |
juansparra | 0:d14c82c59346 | 257 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 258 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 259 | |
juansparra | 0:d14c82c59346 | 260 | pc.printf("AT+CSTT=internet"); |
juansparra | 0:d14c82c59346 | 261 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 262 | wait(.9); |
juansparra | 0:d14c82c59346 | 263 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 264 | {} |
juansparra | 0:d14c82c59346 | 265 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 266 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 267 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 268 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 269 | if((buffer[0]=='O')and(buffer[1]=='K')) |
juansparra | 0:d14c82c59346 | 270 | imprima=1; |
juansparra | 0:d14c82c59346 | 271 | else |
juansparra | 0:d14c82c59346 | 272 | imprima=0; |
juansparra | 0:d14c82c59346 | 273 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 274 | |
juansparra | 0:d14c82c59346 | 275 | |
juansparra | 0:d14c82c59346 | 276 | |
juansparra | 0:d14c82c59346 | 277 | |
juansparra | 0:d14c82c59346 | 278 | do |
juansparra | 0:d14c82c59346 | 279 | { |
juansparra | 0:d14c82c59346 | 280 | imprima=0; |
juansparra | 0:d14c82c59346 | 281 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 282 | sim808.printf("AT+CIICR"); |
juansparra | 0:d14c82c59346 | 283 | pc.printf("AT+CIICR"); |
juansparra | 0:d14c82c59346 | 284 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 285 | wait(.9); |
juansparra | 0:d14c82c59346 | 286 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 287 | {} |
juansparra | 0:d14c82c59346 | 288 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 289 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 290 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 291 | {pc.putc(imprima+48); |
juansparra | 0:d14c82c59346 | 292 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 293 | } |
juansparra | 0:d14c82c59346 | 294 | |
juansparra | 0:d14c82c59346 | 295 | if((buffer[0]=='O')and(buffer[1]=='K')) |
juansparra | 0:d14c82c59346 | 296 | imprima=1; |
juansparra | 0:d14c82c59346 | 297 | else |
juansparra | 0:d14c82c59346 | 298 | imprima=0; |
juansparra | 0:d14c82c59346 | 299 | |
juansparra | 0:d14c82c59346 | 300 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 301 | |
juansparra | 0:d14c82c59346 | 302 | |
juansparra | 0:d14c82c59346 | 303 | |
juansparra | 0:d14c82c59346 | 304 | |
juansparra | 0:d14c82c59346 | 305 | do |
juansparra | 0:d14c82c59346 | 306 | { |
juansparra | 0:d14c82c59346 | 307 | imprima=0; |
juansparra | 0:d14c82c59346 | 308 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 309 | sim808.printf("AT+CIFSR"); |
juansparra | 0:d14c82c59346 | 310 | pc.printf("AT+CIFSR"); |
juansparra | 0:d14c82c59346 | 311 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 312 | wait(.9); |
juansparra | 0:d14c82c59346 | 313 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 314 | {} |
juansparra | 0:d14c82c59346 | 315 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 316 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 317 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 318 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 319 | if((buffer[0]>='1')and(buffer[1]>='0')) |
juansparra | 0:d14c82c59346 | 320 | imprima=1; |
juansparra | 0:d14c82c59346 | 321 | else |
juansparra | 0:d14c82c59346 | 322 | imprima=0; |
juansparra | 0:d14c82c59346 | 323 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 324 | |
juansparra | 0:d14c82c59346 | 325 | |
juansparra | 0:d14c82c59346 | 326 | |
juansparra | 0:d14c82c59346 | 327 | |
juansparra | 0:d14c82c59346 | 328 | |
juansparra | 0:d14c82c59346 | 329 | |
juansparra | 0:d14c82c59346 | 330 | |
juansparra | 0:d14c82c59346 | 331 | |
juansparra | 0:d14c82c59346 | 332 | do |
juansparra | 0:d14c82c59346 | 333 | { |
juansparra | 0:d14c82c59346 | 334 | imprima=0; |
juansparra | 0:d14c82c59346 | 335 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 336 | sim808.printf("AT+CIPSTART="); |
juansparra | 0:d14c82c59346 | 337 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 338 | sim808.printf("TCP"); |
juansparra | 0:d14c82c59346 | 339 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 340 | sim808.putc(44); |
juansparra | 0:d14c82c59346 | 341 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 342 | sim808.printf("200.93.168.133"); // |
juansparra | 0:d14c82c59346 | 343 | |
juansparra | 0:d14c82c59346 | 344 | |
juansparra | 0:d14c82c59346 | 345 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 346 | sim808.putc(44); |
juansparra | 0:d14c82c59346 | 347 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 348 | sim808.printf("10800"); |
juansparra | 0:d14c82c59346 | 349 | |
juansparra | 0:d14c82c59346 | 350 | sim808.putc(34); |
juansparra | 0:d14c82c59346 | 351 | |
juansparra | 0:d14c82c59346 | 352 | pc.printf("CIPSTART=TCP"); |
juansparra | 0:d14c82c59346 | 353 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 354 | wait(.9); |
juansparra | 0:d14c82c59346 | 355 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 356 | {} |
juansparra | 0:d14c82c59346 | 357 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 358 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 359 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 360 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 361 | if((buffer[0]=='O')and(buffer[1]=='K')) |
juansparra | 0:d14c82c59346 | 362 | imprima=1; |
juansparra | 0:d14c82c59346 | 363 | else |
juansparra | 0:d14c82c59346 | 364 | imprima=0; |
juansparra | 0:d14c82c59346 | 365 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 366 | |
juansparra | 0:d14c82c59346 | 367 | |
juansparra | 0:d14c82c59346 | 368 | |
juansparra | 0:d14c82c59346 | 369 | |
juansparra | 0:d14c82c59346 | 370 | |
juansparra | 0:d14c82c59346 | 371 | do |
juansparra | 0:d14c82c59346 | 372 | { |
juansparra | 0:d14c82c59346 | 373 | imprima=0; |
juansparra | 0:d14c82c59346 | 374 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 375 | sim808.printf("AT+CIPSEND"); |
juansparra | 0:d14c82c59346 | 376 | pc.printf("AT+CIPSEND"); |
juansparra | 0:d14c82c59346 | 377 | sim808.putc(13); |
juansparra | 0:d14c82c59346 | 378 | wait(.9); |
juansparra | 0:d14c82c59346 | 379 | while(imprima==0) |
juansparra | 0:d14c82c59346 | 380 | {} |
juansparra | 0:d14c82c59346 | 381 | pc.putc(13); |
juansparra | 0:d14c82c59346 | 382 | pc.putc(10); |
juansparra | 0:d14c82c59346 | 383 | for(imprima=0;imprima<posbuffer;imprima++) |
juansparra | 0:d14c82c59346 | 384 | pc.putc(buffer[imprima]); |
juansparra | 0:d14c82c59346 | 385 | if(buffer[0]=='>') |
juansparra | 0:d14c82c59346 | 386 | imprima=1; |
juansparra | 0:d14c82c59346 | 387 | else |
juansparra | 0:d14c82c59346 | 388 | imprima=0; |
juansparra | 0:d14c82c59346 | 389 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 390 | |
juansparra | 0:d14c82c59346 | 391 | |
juansparra | 0:d14c82c59346 | 392 | do |
juansparra | 0:d14c82c59346 | 393 | { |
juansparra | 0:d14c82c59346 | 394 | imprima=0; |
juansparra | 0:d14c82c59346 | 395 | posbuffer=0; |
juansparra | 0:d14c82c59346 | 396 | sim808.printf("porfin desde el mbed."); |
juansparra | 0:d14c82c59346 | 397 | |
juansparra | 0:d14c82c59346 | 398 | for(imprima=0;imprima<52;imprima++) |
juansparra | 0:d14c82c59346 | 399 | {sim808.putc(buffer_GPS[imprima]); |
juansparra | 0:d14c82c59346 | 400 | } |
juansparra | 0:d14c82c59346 | 401 | sim808.putc(0x1a); |
juansparra | 0:d14c82c59346 | 402 | wait(3); |
juansparra | 0:d14c82c59346 | 403 | |
juansparra | 0:d14c82c59346 | 404 | imprima=1; |
juansparra | 0:d14c82c59346 | 405 | }while(imprima==0); |
juansparra | 0:d14c82c59346 | 406 | |
juansparra | 0:d14c82c59346 | 407 | |
juansparra | 0:d14c82c59346 | 408 | myled = !myled; // Toggle the LED state |
juansparra | 0:d14c82c59346 | 409 | wait(6); // 200 ms |
juansparra | 0:d14c82c59346 | 410 | myled = !myled; // Toggle the LED state |
juansparra | 0:d14c82c59346 | 411 | wait(1); // 200 ms |
juansparra | 0:d14c82c59346 | 412 | myled = !myled; // Toggle the LED state |
juansparra | 0:d14c82c59346 | 413 | wait(6); // 200 ms |
juansparra | 0:d14c82c59346 | 414 | myled = !myled; // Toggle the LED state |
juansparra | 0:d14c82c59346 | 415 | wait(1); // 200 ms |
juansparra | 0:d14c82c59346 | 416 | |
juansparra | 0:d14c82c59346 | 417 | } |
juansparra | 0:d14c82c59346 | 418 | } |
juansparra | 0:d14c82c59346 | 419 | } |
juansparra | 0:d14c82c59346 | 420 |