Trama googlemaps con Celular y dongle

Dependencies:   DebouncedIn GPS7 mbed

Committer:
JohnCanaveral05
Date:
Fri Jun 19 17:31:05 2015 +0000
Revision:
0:fb0e78798248
Celular GPS

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JohnCanaveral05 0:fb0e78798248 1 //programa para celular siemens que recibe un mensaje de texto t activa una salida en formato
JohnCanaveral05 0:fb0e78798248 2 //pdu hex
JohnCanaveral05 0:fb0e78798248 3 #include "mbed.h"
JohnCanaveral05 0:fb0e78798248 4 #include "DebouncedIn.h"
JohnCanaveral05 0:fb0e78798248 5 #include "stdio.h"
JohnCanaveral05 0:fb0e78798248 6 #include "string.h"
JohnCanaveral05 0:fb0e78798248 7 #include "GPS.h"
JohnCanaveral05 0:fb0e78798248 8
JohnCanaveral05 0:fb0e78798248 9
JohnCanaveral05 0:fb0e78798248 10
JohnCanaveral05 0:fb0e78798248 11
JohnCanaveral05 0:fb0e78798248 12 Timer t;
JohnCanaveral05 0:fb0e78798248 13 DigitalOut LedVerde(LED2);
JohnCanaveral05 0:fb0e78798248 14 DigitalOut LedRojo(LED1);
JohnCanaveral05 0:fb0e78798248 15 DigitalOut LedAzul(LED3);
JohnCanaveral05 0:fb0e78798248 16
JohnCanaveral05 0:fb0e78798248 17 ///////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 18
JohnCanaveral05 0:fb0e78798248 19 Serial GSM(PTE0,PTE1); //puertos del FRDM para el modem
JohnCanaveral05 0:fb0e78798248 20 Serial pc(USBTX,USBRX);
JohnCanaveral05 0:fb0e78798248 21 GPS gps(PTE22, PTE23); // Puerto del FDRM para el gps
JohnCanaveral05 0:fb0e78798248 22
JohnCanaveral05 0:fb0e78798248 23 ////////////////////////////
JohnCanaveral05 0:fb0e78798248 24 //PARAMETROS
JohnCanaveral05 0:fb0e78798248 25 ////////////////////////////////
JohnCanaveral05 0:fb0e78798248 26
JohnCanaveral05 0:fb0e78798248 27
JohnCanaveral05 0:fb0e78798248 28 short DE[255];
JohnCanaveral05 0:fb0e78798248 29 short DS[255];
JohnCanaveral05 0:fb0e78798248 30
JohnCanaveral05 0:fb0e78798248 31 char buffer[512];
JohnCanaveral05 0:fb0e78798248 32 char buffermsg[100];
JohnCanaveral05 0:fb0e78798248 33 char buffer1[13];
JohnCanaveral05 0:fb0e78798248 34 char mensaje[100];
JohnCanaveral05 0:fb0e78798248 35 int count;
JohnCanaveral05 0:fb0e78798248 36 int i,K,LENOUT,LENIN,C;
JohnCanaveral05 0:fb0e78798248 37
JohnCanaveral05 0:fb0e78798248 38 char Tel[15];
JohnCanaveral05 0:fb0e78798248 39 char cel[15];
JohnCanaveral05 0:fb0e78798248 40 char ojala[15]; // OJO
JohnCanaveral05 0:fb0e78798248 41
JohnCanaveral05 0:fb0e78798248 42 int c=0;
JohnCanaveral05 0:fb0e78798248 43 int cont=0;
JohnCanaveral05 0:fb0e78798248 44 unsigned char CtrlZ = 0x1A;
JohnCanaveral05 0:fb0e78798248 45 bool Flag = false;
JohnCanaveral05 0:fb0e78798248 46 char r[]="";
JohnCanaveral05 0:fb0e78798248 47 char msg[256];
JohnCanaveral05 0:fb0e78798248 48 char char1;
JohnCanaveral05 0:fb0e78798248 49
JohnCanaveral05 0:fb0e78798248 50 int index;
JohnCanaveral05 0:fb0e78798248 51
JohnCanaveral05 0:fb0e78798248 52 //////
JohnCanaveral05 0:fb0e78798248 53 //longitud y latitud
JohnCanaveral05 0:fb0e78798248 54 ////
JohnCanaveral05 0:fb0e78798248 55
JohnCanaveral05 0:fb0e78798248 56
JohnCanaveral05 0:fb0e78798248 57 float lo,la;
JohnCanaveral05 0:fb0e78798248 58 char clo[255], cla[255]; //
JohnCanaveral05 0:fb0e78798248 59 int LENINlo,LENINla,LENINla_lo;
JohnCanaveral05 0:fb0e78798248 60 char la_lo[255];
JohnCanaveral05 0:fb0e78798248 61
JohnCanaveral05 0:fb0e78798248 62 char http2[255];
JohnCanaveral05 0:fb0e78798248 63 char http[] = "http://maps.google.com/maps?q=";
JohnCanaveral05 0:fb0e78798248 64
JohnCanaveral05 0:fb0e78798248 65
JohnCanaveral05 0:fb0e78798248 66
JohnCanaveral05 0:fb0e78798248 67 //////////////
JohnCanaveral05 0:fb0e78798248 68 // convercion oct sept
JohnCanaveral05 0:fb0e78798248 69 ////////////
JohnCanaveral05 0:fb0e78798248 70
JohnCanaveral05 0:fb0e78798248 71
JohnCanaveral05 0:fb0e78798248 72 int iht,Kht,ChtLENOUTht,LENINht;
JohnCanaveral05 0:fb0e78798248 73 int ioct,Koct,LENOUToct,LENINoct,Coct;
JohnCanaveral05 0:fb0e78798248 74 char DEoct[255];
JohnCanaveral05 0:fb0e78798248 75 char DSoct[255];
JohnCanaveral05 0:fb0e78798248 76 char buf[100];
JohnCanaveral05 0:fb0e78798248 77
JohnCanaveral05 0:fb0e78798248 78 /////////////////////////
JohnCanaveral05 0:fb0e78798248 79 //cocanteo rellenos y numero
JohnCanaveral05 0:fb0e78798248 80 //////////////////////////
JohnCanaveral05 0:fb0e78798248 81
JohnCanaveral05 0:fb0e78798248 82 char relle1[]= "0011000A91";
JohnCanaveral05 0:fb0e78798248 83 char relle2[]= "10000AA";
JohnCanaveral05 0:fb0e78798248 84 char relle3[]= "68";
JohnCanaveral05 0:fb0e78798248 85
JohnCanaveral05 0:fb0e78798248 86 /////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 87 // funciones
JohnCanaveral05 0:fb0e78798248 88 ////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 89
JohnCanaveral05 0:fb0e78798248 90 int readBuffer(char *buffer,int count)
JohnCanaveral05 0:fb0e78798248 91 {
JohnCanaveral05 0:fb0e78798248 92 int i=0;
JohnCanaveral05 0:fb0e78798248 93 t.start();
JohnCanaveral05 0:fb0e78798248 94 while(1) {
JohnCanaveral05 0:fb0e78798248 95 while (GSM.readable()) {
JohnCanaveral05 0:fb0e78798248 96 char c = GSM.getc();
JohnCanaveral05 0:fb0e78798248 97 if (c == '\r' || c == '\n') c = '$';
JohnCanaveral05 0:fb0e78798248 98 buffer[i++] = c;
JohnCanaveral05 0:fb0e78798248 99 if(i > count)break;
JohnCanaveral05 0:fb0e78798248 100 }
JohnCanaveral05 0:fb0e78798248 101 if(i > count)break; // ojooo
JohnCanaveral05 0:fb0e78798248 102 if(t.read() > 3) {
JohnCanaveral05 0:fb0e78798248 103 t.stop();
JohnCanaveral05 0:fb0e78798248 104 t.reset();
JohnCanaveral05 0:fb0e78798248 105 break;
JohnCanaveral05 0:fb0e78798248 106 }
JohnCanaveral05 0:fb0e78798248 107 }
JohnCanaveral05 0:fb0e78798248 108
JohnCanaveral05 0:fb0e78798248 109 wait(0.5);
JohnCanaveral05 0:fb0e78798248 110 while(GSM.readable()) {
JohnCanaveral05 0:fb0e78798248 111 char c = GSM.getc();
JohnCanaveral05 0:fb0e78798248 112 }
JohnCanaveral05 0:fb0e78798248 113 return 0;
JohnCanaveral05 0:fb0e78798248 114 }
JohnCanaveral05 0:fb0e78798248 115
JohnCanaveral05 0:fb0e78798248 116 ///////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 117 //Programass
JohnCanaveral05 0:fb0e78798248 118 ///////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 119
JohnCanaveral05 0:fb0e78798248 120 int main(void)
JohnCanaveral05 0:fb0e78798248 121 {
JohnCanaveral05 0:fb0e78798248 122
JohnCanaveral05 0:fb0e78798248 123 LedVerde=1;
JohnCanaveral05 0:fb0e78798248 124 LedRojo=1;
JohnCanaveral05 0:fb0e78798248 125 LedAzul=1;
JohnCanaveral05 0:fb0e78798248 126
JohnCanaveral05 0:fb0e78798248 127
JohnCanaveral05 0:fb0e78798248 128 GSM.baud(9600);
JohnCanaveral05 0:fb0e78798248 129 GSM.format(8,Serial::None,1);
JohnCanaveral05 0:fb0e78798248 130
JohnCanaveral05 0:fb0e78798248 131 GSM.printf("AT\r\n");
JohnCanaveral05 0:fb0e78798248 132 wait(0.5);
JohnCanaveral05 0:fb0e78798248 133 GSM.printf("AT+CNMI=1,1\r\n");
JohnCanaveral05 0:fb0e78798248 134 wait(0.5);
JohnCanaveral05 0:fb0e78798248 135 GSM.printf("AT+CMGF=0\r\n");
JohnCanaveral05 0:fb0e78798248 136 wait(0.5);
JohnCanaveral05 0:fb0e78798248 137 GSM.printf("ATE\r\n");
JohnCanaveral05 0:fb0e78798248 138 wait(0.5);
JohnCanaveral05 0:fb0e78798248 139 GSM.printf("CBST=0,0,1\r\n");
JohnCanaveral05 0:fb0e78798248 140 wait(0.5);
JohnCanaveral05 0:fb0e78798248 141
JohnCanaveral05 0:fb0e78798248 142
JohnCanaveral05 0:fb0e78798248 143 while(1){
JohnCanaveral05 0:fb0e78798248 144
JohnCanaveral05 0:fb0e78798248 145 if (GSM.readable()) {
JohnCanaveral05 0:fb0e78798248 146 readBuffer(buffer,100);
JohnCanaveral05 0:fb0e78798248 147 pc.printf("buffer= %s\n\r ",buffer);
JohnCanaveral05 0:fb0e78798248 148 pc.printf("buffer= %c %c\n\r ",buffer[10],buffer[11]);
JohnCanaveral05 0:fb0e78798248 149 if(buffer[67]=='A'){for(i=0;i<86;i++)
JohnCanaveral05 0:fb0e78798248 150 {buffermsg[i]=buffer[i];}
JohnCanaveral05 0:fb0e78798248 151 pc.printf("mensaje= %s\n\r ",buffermsg);
JohnCanaveral05 0:fb0e78798248 152 pc.printf("mensaje[72]= %c mensaje[73]=%c\n\r ",buffermsg[72],buffermsg[73]);
JohnCanaveral05 0:fb0e78798248 153 buffer[67]='c';
JohnCanaveral05 0:fb0e78798248 154
JohnCanaveral05 0:fb0e78798248 155 if (buffermsg[69] == '2'){ // PARA CUANDO LA CLAVE ES On
JohnCanaveral05 0:fb0e78798248 156 LENIN=2; //numero de caracteres de abajo son los octetos
JohnCanaveral05 0:fb0e78798248 157 DE[0]=0x47;
JohnCanaveral05 0:fb0e78798248 158 DE[1]=0x37;
JohnCanaveral05 0:fb0e78798248 159 }
JohnCanaveral05 0:fb0e78798248 160 if (buffermsg[69] == '3'&& buffermsg[70] == '4'){ // PARA CUANDO LA CLAVE ES Off
JohnCanaveral05 0:fb0e78798248 161 LENIN=3; //numero de caracteres de abajo son los octetos
JohnCanaveral05 0:fb0e78798248 162 DE[0]=0x4F;
JohnCanaveral05 0:fb0e78798248 163 DE[1]=0xB3;
JohnCanaveral05 0:fb0e78798248 164 DE[2]=0x19;
JohnCanaveral05 0:fb0e78798248 165 }
JohnCanaveral05 0:fb0e78798248 166 if (buffermsg[69] == '3'&& buffermsg[70] == 'C'){ // PARA CUANDO LA CLAVE ES Cor
JohnCanaveral05 0:fb0e78798248 167 LENIN=3; //numero de caracteres de abajo son los octetos
JohnCanaveral05 0:fb0e78798248 168 DE[0]=0xC3;
JohnCanaveral05 0:fb0e78798248 169 DE[1]=0xB7;
JohnCanaveral05 0:fb0e78798248 170 DE[2]=0x1C;
JohnCanaveral05 0:fb0e78798248 171 }
JohnCanaveral05 0:fb0e78798248 172
JohnCanaveral05 0:fb0e78798248 173 LENOUT= LENIN*8/7;
JohnCanaveral05 0:fb0e78798248 174 K=7;
JohnCanaveral05 0:fb0e78798248 175 C=0;
JohnCanaveral05 0:fb0e78798248 176 DS[0]=DE[0] & 0x7F; // la primera sola
JohnCanaveral05 0:fb0e78798248 177 pc.printf("%2X\n",DS[0]);
JohnCanaveral05 0:fb0e78798248 178
JohnCanaveral05 0:fb0e78798248 179 for (i=1;i < LENOUT;i++){ // inicia el algoritmo
JohnCanaveral05 0:fb0e78798248 180 DS[i]=(DE[i-1-C]>>K | DE[i-C]<<(8-K))& 0x7F; //valido para todos
JohnCanaveral05 0:fb0e78798248 181 pc.printf("%2X\n",DS[i]);
JohnCanaveral05 0:fb0e78798248 182
JohnCanaveral05 0:fb0e78798248 183 if (K==0) {K=8;C++;}
JohnCanaveral05 0:fb0e78798248 184 K--;
JohnCanaveral05 0:fb0e78798248 185 }
JohnCanaveral05 0:fb0e78798248 186
JohnCanaveral05 0:fb0e78798248 187 for (i=0 ;i<=9;i++)
JohnCanaveral05 0:fb0e78798248 188 {
JohnCanaveral05 0:fb0e78798248 189 Tel[i] = buffermsg[40+i];
JohnCanaveral05 0:fb0e78798248 190 }
JohnCanaveral05 0:fb0e78798248 191 pc.printf("\n");
JohnCanaveral05 0:fb0e78798248 192 pc.printf("%c%c%c%c%c%c%c%c%c%c",Tel[1],Tel[0],Tel[3],Tel[2],Tel[5],Tel[4],Tel[7],Tel[6],Tel[9],Tel[8]);
JohnCanaveral05 0:fb0e78798248 193
JohnCanaveral05 0:fb0e78798248 194 }
JohnCanaveral05 0:fb0e78798248 195
JohnCanaveral05 0:fb0e78798248 196 if(buffer[10]=='S'&& buffer[11]=='M'){
JohnCanaveral05 0:fb0e78798248 197 for(i=0;i<5;i++)
JohnCanaveral05 0:fb0e78798248 198 {buffer1[i]=buffer[2+i];}
JohnCanaveral05 0:fb0e78798248 199 pc.printf("buffer1= %s\n\r ",buffer1);
JohnCanaveral05 0:fb0e78798248 200 buffer[10]='c';
JohnCanaveral05 0:fb0e78798248 201 buffer[11]='c';
JohnCanaveral05 0:fb0e78798248 202 }
JohnCanaveral05 0:fb0e78798248 203 if(buffer1[3]=='T'){pc.printf("AT+CMGL=0\n\r");
JohnCanaveral05 0:fb0e78798248 204 wait(0.5);
JohnCanaveral05 0:fb0e78798248 205 GSM.printf("AT+CMGL=0\r\n");
JohnCanaveral05 0:fb0e78798248 206 buffer1[3]='p';
JohnCanaveral05 0:fb0e78798248 207 }
JohnCanaveral05 0:fb0e78798248 208
JohnCanaveral05 0:fb0e78798248 209
JohnCanaveral05 0:fb0e78798248 210 if(DS[0]-67 == 0&& DS[1]-111==0) // Cor en octetos es 436f72
JohnCanaveral05 0:fb0e78798248 211 {
JohnCanaveral05 0:fb0e78798248 212 pc.printf("\n");
JohnCanaveral05 0:fb0e78798248 213 LedAzul=0;
JohnCanaveral05 0:fb0e78798248 214
JohnCanaveral05 0:fb0e78798248 215 DS[0] = '\0';
JohnCanaveral05 0:fb0e78798248 216 DS[1] = '\0';
JohnCanaveral05 0:fb0e78798248 217
JohnCanaveral05 0:fb0e78798248 218 if(gps.sample())
JohnCanaveral05 0:fb0e78798248 219 {
JohnCanaveral05 0:fb0e78798248 220 lo =gps.longitude;
JohnCanaveral05 0:fb0e78798248 221 la =gps.latitude;
JohnCanaveral05 0:fb0e78798248 222 pc.printf("longitud_entera=%f, Latitud entera=%f\n", lo, la);
JohnCanaveral05 0:fb0e78798248 223
JohnCanaveral05 0:fb0e78798248 224 wait(0.5);
JohnCanaveral05 0:fb0e78798248 225 //LONGITUD/
JohnCanaveral05 0:fb0e78798248 226 sprintf (clo, "%f", lo);
JohnCanaveral05 0:fb0e78798248 227 pc.printf ( "\nlongitud = %s\n",clo);
JohnCanaveral05 0:fb0e78798248 228 LENINlo=strlen(clo);
JohnCanaveral05 0:fb0e78798248 229
JohnCanaveral05 0:fb0e78798248 230 /* for (ilo=0;ilo<LENINlo;ilo++){
JohnCanaveral05 0:fb0e78798248 231 pc.printf("%c,",clo[ilo]);
JohnCanaveral05 0:fb0e78798248 232 } */
JohnCanaveral05 0:fb0e78798248 233
JohnCanaveral05 0:fb0e78798248 234 wait(0.5);
JohnCanaveral05 0:fb0e78798248 235 //LATITUD/
JohnCanaveral05 0:fb0e78798248 236 sprintf (cla, "%f", la);
JohnCanaveral05 0:fb0e78798248 237 pc.printf ( "\nlatitud = %s\n",cla);
JohnCanaveral05 0:fb0e78798248 238 LENINla=strlen(cla);
JohnCanaveral05 0:fb0e78798248 239
JohnCanaveral05 0:fb0e78798248 240 /*for (ila1=0;ila1<LENINla1;ila1++){
JohnCanaveral05 0:fb0e78798248 241 pc.printf("%c,",cla[ila1]);
JohnCanaveral05 0:fb0e78798248 242 }*/
JohnCanaveral05 0:fb0e78798248 243
JohnCanaveral05 0:fb0e78798248 244
JohnCanaveral05 0:fb0e78798248 245 ///////////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 246 // CONCATENO LONGITUD Y LATITUD
JohnCanaveral05 0:fb0e78798248 247 ///////////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 248
JohnCanaveral05 0:fb0e78798248 249 strcpy(la_lo,cla);
JohnCanaveral05 0:fb0e78798248 250 strcat(la_lo,",");
JohnCanaveral05 0:fb0e78798248 251 strcat(la_lo,clo);
JohnCanaveral05 0:fb0e78798248 252
JohnCanaveral05 0:fb0e78798248 253 pc.printf ( "\nla_lo: %s\n",la_lo);
JohnCanaveral05 0:fb0e78798248 254
JohnCanaveral05 0:fb0e78798248 255 LENINla_lo=strlen(la_lo);
JohnCanaveral05 0:fb0e78798248 256
JohnCanaveral05 0:fb0e78798248 257 /*for (j=0;j<LENINla_lo;j++){
JohnCanaveral05 0:fb0e78798248 258 pc.printf("%c\n",la_lo[j]);
JohnCanaveral05 0:fb0e78798248 259 }*/
JohnCanaveral05 0:fb0e78798248 260
JohnCanaveral05 0:fb0e78798248 261 ////////////////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 262 // CONCATENO LONGITUD, LATITUD Y EL http//:
JohnCanaveral05 0:fb0e78798248 263 ////////////////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 264 strcpy(http2,http);
JohnCanaveral05 0:fb0e78798248 265 strcat(http2,la_lo);
JohnCanaveral05 0:fb0e78798248 266 pc.printf ( "%s\n",http2);
JohnCanaveral05 0:fb0e78798248 267 pc.printf ( "\n" );
JohnCanaveral05 0:fb0e78798248 268
JohnCanaveral05 0:fb0e78798248 269
JohnCanaveral05 0:fb0e78798248 270 //////////////////////////////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 271 // convierto http2 de oct a sep
JohnCanaveral05 0:fb0e78798248 272 ////////////////////////////////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 273
JohnCanaveral05 0:fb0e78798248 274 LENINht=strlen(http2);
JohnCanaveral05 0:fb0e78798248 275 pc.printf("%d\n",LENINht);
JohnCanaveral05 0:fb0e78798248 276 for (iht=0;iht<LENINht;iht++){
JohnCanaveral05 0:fb0e78798248 277 pc.printf("%2X",http2[iht]);
JohnCanaveral05 0:fb0e78798248 278 }
JohnCanaveral05 0:fb0e78798248 279 pc.printf ( "\n" );
JohnCanaveral05 0:fb0e78798248 280
JohnCanaveral05 0:fb0e78798248 281 /////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 282
JohnCanaveral05 0:fb0e78798248 283 LENINoct=strlen(http2);
JohnCanaveral05 0:fb0e78798248 284 pc.printf("%d\n",LENINoct);
JohnCanaveral05 0:fb0e78798248 285 for (ioct=0;ioct<LENINoct;ioct++)
JohnCanaveral05 0:fb0e78798248 286 {
JohnCanaveral05 0:fb0e78798248 287 DEoct[ioct]=http2[ioct];
JohnCanaveral05 0:fb0e78798248 288 pc.printf("%2X,%d\n",DEoct[ioct],ioct);
JohnCanaveral05 0:fb0e78798248 289 }
JohnCanaveral05 0:fb0e78798248 290 ////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 291
JohnCanaveral05 0:fb0e78798248 292 Koct=0;
JohnCanaveral05 0:fb0e78798248 293 Coct=0;
JohnCanaveral05 0:fb0e78798248 294
JohnCanaveral05 0:fb0e78798248 295 for (ioct=0;ioct < LENINoct;ioct++)
JohnCanaveral05 0:fb0e78798248 296 {
JohnCanaveral05 0:fb0e78798248 297 DSoct[ioct]=DEoct[ioct+Coct]>>Koct | DEoct[ioct+Coct+1]<<(7-Koct);
JohnCanaveral05 0:fb0e78798248 298 if (DSoct[ioct]==0x00){
JohnCanaveral05 0:fb0e78798248 299 LENOUToct=ioct;
JohnCanaveral05 0:fb0e78798248 300 pc.printf("\n");
JohnCanaveral05 0:fb0e78798248 301 pc.printf("%s",DEoct);
JohnCanaveral05 0:fb0e78798248 302 pc.printf("out =%d",LENOUToct);
JohnCanaveral05 0:fb0e78798248 303 for (ioct=0;ioct<LENOUToct;ioct++){
JohnCanaveral05 0:fb0e78798248 304 pc.printf("%2X,%d\r\n",DSoct[ioct]&0x000000FF,ioct);
JohnCanaveral05 0:fb0e78798248 305 }
JohnCanaveral05 0:fb0e78798248 306 }
JohnCanaveral05 0:fb0e78798248 307 // pc.printf("LENOUT:%d,LENIN:%d\r\n",LENOUToct,strlen(DEoct));
JohnCanaveral05 0:fb0e78798248 308
JohnCanaveral05 0:fb0e78798248 309 //}
JohnCanaveral05 0:fb0e78798248 310 Koct++;
JohnCanaveral05 0:fb0e78798248 311 if (Koct==7)
JohnCanaveral05 0:fb0e78798248 312 {
JohnCanaveral05 0:fb0e78798248 313 Koct=0;Coct++;
JohnCanaveral05 0:fb0e78798248 314 } // se chequea que ya se acabaron los bits en un ciclo de conversion.
JohnCanaveral05 0:fb0e78798248 315 }
JohnCanaveral05 0:fb0e78798248 316
JohnCanaveral05 0:fb0e78798248 317 /////////////////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 318 // CONCATENO LOS RELLENOS Y EL NUMERO DEL CELULAR
JohnCanaveral05 0:fb0e78798248 319 ////////////////////////////////////////////////////////
JohnCanaveral05 0:fb0e78798248 320
JohnCanaveral05 0:fb0e78798248 321
JohnCanaveral05 0:fb0e78798248 322
JohnCanaveral05 0:fb0e78798248 323
JohnCanaveral05 0:fb0e78798248 324 wait(5);
JohnCanaveral05 0:fb0e78798248 325 index=56;
JohnCanaveral05 0:fb0e78798248 326 GSM.printf("AT+CMGS=%d\r\n",index);
JohnCanaveral05 0:fb0e78798248 327 pc.printf("AT+CMGS=%d\r\n",index);
JohnCanaveral05 0:fb0e78798248 328 pc.printf("0011000A91");
JohnCanaveral05 0:fb0e78798248 329 GSM.printf("0011000A91");
JohnCanaveral05 0:fb0e78798248 330 for (i=0 ;i<=9;i++)
JohnCanaveral05 0:fb0e78798248 331 {
JohnCanaveral05 0:fb0e78798248 332 pc.printf("%c",Tel[i]);
JohnCanaveral05 0:fb0e78798248 333 GSM.printf("%c",Tel[i]);
JohnCanaveral05 0:fb0e78798248 334 }
JohnCanaveral05 0:fb0e78798248 335 pc.printf("10000AA");
JohnCanaveral05 0:fb0e78798248 336 GSM.printf("0000AA");
JohnCanaveral05 0:fb0e78798248 337 pc.printf("31");
JohnCanaveral05 0:fb0e78798248 338 GSM.printf("31");
JohnCanaveral05 0:fb0e78798248 339
JohnCanaveral05 0:fb0e78798248 340 for (ioct=0;ioct<=((LENOUToct*7)/8);ioct++)
JohnCanaveral05 0:fb0e78798248 341 {
JohnCanaveral05 0:fb0e78798248 342 pc.printf("%02X",DSoct[ioct]);
JohnCanaveral05 0:fb0e78798248 343 GSM.printf("%02X",DSoct[ioct]);
JohnCanaveral05 0:fb0e78798248 344 }
JohnCanaveral05 0:fb0e78798248 345 wait(0.5);
JohnCanaveral05 0:fb0e78798248 346 GSM.putc((char)0x1A);
JohnCanaveral05 0:fb0e78798248 347 GSM.scanf("%s",buf);
JohnCanaveral05 0:fb0e78798248 348 GSM.scanf("%s",buf);
JohnCanaveral05 0:fb0e78798248 349 GSM.scanf("%s",buf);
JohnCanaveral05 0:fb0e78798248 350 //GSM.scanf("%s",buf);
JohnCanaveral05 0:fb0e78798248 351 pc.printf(">%s\n",buf);
JohnCanaveral05 0:fb0e78798248 352 pc.printf("\n");
JohnCanaveral05 0:fb0e78798248 353
JohnCanaveral05 0:fb0e78798248 354 } // if
JohnCanaveral05 0:fb0e78798248 355
JohnCanaveral05 0:fb0e78798248 356
JohnCanaveral05 0:fb0e78798248 357
JohnCanaveral05 0:fb0e78798248 358 }
JohnCanaveral05 0:fb0e78798248 359
JohnCanaveral05 0:fb0e78798248 360 if(DS[0]-79==0 && DS[1]-102==0) // Off en octetos es 4F6666
JohnCanaveral05 0:fb0e78798248 361 {
JohnCanaveral05 0:fb0e78798248 362 LedAzul=1; //apaga con Lgeverde
JohnCanaveral05 0:fb0e78798248 363 LedVerde = 0;
JohnCanaveral05 0:fb0e78798248 364 LedRojo=1;
JohnCanaveral05 0:fb0e78798248 365 }
JohnCanaveral05 0:fb0e78798248 366
JohnCanaveral05 0:fb0e78798248 367 if(DS[0]-71==0 && DS[1]-110==0) // On en octetos es 476E
JohnCanaveral05 0:fb0e78798248 368 {
JohnCanaveral05 0:fb0e78798248 369 LedAzul=1; //apaga con Lgeverde
JohnCanaveral05 0:fb0e78798248 370 LedRojo =0;
JohnCanaveral05 0:fb0e78798248 371 LedVerde = 1;
JohnCanaveral05 0:fb0e78798248 372 }
JohnCanaveral05 0:fb0e78798248 373 }
JohnCanaveral05 0:fb0e78798248 374 }
JohnCanaveral05 0:fb0e78798248 375 }