Tarea_GSM Equipo Rojo 2019_1 Universidad Nacional de Colombia, Materia:Procesadores. Este código envía la ubicación del módem a un smartphone al mandarle "Coordenadas" o "coordenadas"

Dependencies:   mbed GPS_G

Committer:
procesadores_FAC
Date:
Fri Jun 19 17:45:34 2015 +0000
Revision:
0:b2a6aa7c0c8c
Child:
1:e2bd083802c0
Tarea UnalMed;

Who changed what in which revision?

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