kio

Dependencies:   mbed-http

Committer:
yonaetworks
Date:
Thu Aug 05 00:08:53 2021 +0000
Revision:
0:29132844de96
Child:
1:078a6d9a2ae3
kio

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yonaetworks 0:29132844de96 1 #include "select-demo.h"
yonaetworks 0:29132844de96 2 #if DEMO == DEMO_HTTP
yonaetworks 0:29132844de96 3 #include "mbed.h"
yonaetworks 0:29132844de96 4 #include "http_request.h"
yonaetworks 0:29132844de96 5 #include "network-helper.h"
yonaetworks 0:29132844de96 6 #include "mbed_mem_trace.h"
yonaetworks 0:29132844de96 7 #include <iostream>
yonaetworks 0:29132844de96 8 #include <cstring>
yonaetworks 0:29132844de96 9 #include <Thread.h>
yonaetworks 0:29132844de96 10 #include <stdio.h>
yonaetworks 0:29132844de96 11 #include "EthernetInterface.h"
yonaetworks 0:29132844de96 12
yonaetworks 0:29132844de96 13 DigitalOut PUERTA1(PG_9);
yonaetworks 0:29132844de96 14 DigitalOut PUERTA2(PG_14);
yonaetworks 0:29132844de96 15 DigitalOut PUERTA3(PF_15);
yonaetworks 0:29132844de96 16 DigitalOut PUERTA4(PE_13);
yonaetworks 0:29132844de96 17
yonaetworks 0:29132844de96 18 Serial sim808(PD_5, PD_6,9600);
yonaetworks 0:29132844de96 19 int onetime = 0, i=0, j=0, onedbquery[4];
yonaetworks 0:29132844de96 20 const int kMaxBufferSize = 100;
yonaetworks 0:29132844de96 21 char buffer[kMaxBufferSize];
yonaetworks 0:29132844de96 22 string opendoors = "http://192.168.1.10/ws/ws.php?op=micopendoors&telefono=";
yonaetworks 0:29132844de96 23 string closedoors = "http://192.168.1.10/ws/ws.php?op=micclosedoors&telefono=";
yonaetworks 0:29132844de96 24 string registers = "http://192.168.1.10/ws/ws.php?op=create-register&telefono=";
yonaetworks 0:29132844de96 25 char linkdoors[40]= "http://192.168.1.10/ws/ws.php?op=doors";
yonaetworks 0:29132844de96 26 string linkregister01 = "";
yonaetworks 0:29132844de96 27 string linkregister02;
yonaetworks 0:29132844de96 28 string linkregister03;
yonaetworks 0:29132844de96 29 string linkregister04;
yonaetworks 0:29132844de96 30 char char_linkregister01[55];
yonaetworks 0:29132844de96 31 char char_linkregister02[55];
yonaetworks 0:29132844de96 32 char char_linkregister03[55];
yonaetworks 0:29132844de96 33 char char_linkregister04[55];
yonaetworks 0:29132844de96 34 char linkopendoors[100];
yonaetworks 0:29132844de96 35 char linkclosedoors[100];
yonaetworks 0:29132844de96 36 char linkregisters[100];
yonaetworks 0:29132844de96 37 string link_string;
yonaetworks 0:29132844de96 38 string http_response = "";
yonaetworks 0:29132844de96 39 int len = 0;
yonaetworks 0:29132844de96 40 char telbuf[11];
yonaetworks 0:29132844de96 41 int mensaje=0;
yonaetworks 0:29132844de96 42 Timer t;
yonaetworks 0:29132844de96 43
yonaetworks 0:29132844de96 44 void dump_response(HttpResponse* res) {
yonaetworks 0:29132844de96 45 http_response = res->get_body_as_string().c_str();
yonaetworks 0:29132844de96 46 }
yonaetworks 0:29132844de96 47
yonaetworks 0:29132844de96 48 int main() {
yonaetworks 0:29132844de96 49
yonaetworks 0:29132844de96 50 //-------------------------------------------------------------------- INICIALIZACION DE PINES -------------------------------------------------------------------------------------------
yonaetworks 0:29132844de96 51
yonaetworks 0:29132844de96 52 PUERTA1 = 1;
yonaetworks 0:29132844de96 53 PUERTA2 = 1;
yonaetworks 0:29132844de96 54 PUERTA3 = 1;
yonaetworks 0:29132844de96 55 PUERTA4 = 1;
yonaetworks 0:29132844de96 56 linkregister01 = "http://192.168.1.10/ws/ws.php?op=create-registeri&id=1";
yonaetworks 0:29132844de96 57 linkregister02 = "http://192.168.1.10/ws/ws.php?op=create-registeri&id=2";
yonaetworks 0:29132844de96 58 linkregister03 = "http://192.168.1.10/ws/ws.php?op=create-registeri&id=3";
yonaetworks 0:29132844de96 59 linkregister04 = "http://192.168.1.10/ws/ws.php?op=create-registeri&id=4";
yonaetworks 0:29132844de96 60
yonaetworks 0:29132844de96 61 int m = linkregister01.length();
yonaetworks 0:29132844de96 62
yonaetworks 0:29132844de96 63 // declaring character array
yonaetworks 0:29132844de96 64 char link_char4[m + 1];
yonaetworks 0:29132844de96 65 char link_char5[m + 1];
yonaetworks 0:29132844de96 66 char link_char6[m + 1];
yonaetworks 0:29132844de96 67 char link_char7[m + 1];
yonaetworks 0:29132844de96 68
yonaetworks 0:29132844de96 69 // copying the contents of the
yonaetworks 0:29132844de96 70 // string to char array
yonaetworks 0:29132844de96 71 strcpy(link_char4, linkregister01.c_str());
yonaetworks 0:29132844de96 72 strcpy(link_char5, linkregister02.c_str());
yonaetworks 0:29132844de96 73 strcpy(link_char6, linkregister03.c_str());
yonaetworks 0:29132844de96 74 strcpy(link_char7, linkregister04.c_str());
yonaetworks 0:29132844de96 75
yonaetworks 0:29132844de96 76 for (int i2 = 0; i2 < m; i2++){
yonaetworks 0:29132844de96 77 cout << link_char4[i2];
yonaetworks 0:29132844de96 78 cout << link_char5[i2];
yonaetworks 0:29132844de96 79 cout << link_char6[i2];
yonaetworks 0:29132844de96 80 cout << link_char7[i2];
yonaetworks 0:29132844de96 81 }
yonaetworks 0:29132844de96 82
yonaetworks 0:29132844de96 83 for(int k2 = 0; k2 < 54 ; k2++){
yonaetworks 0:29132844de96 84 char_linkregister01[k2] = linkregister01[k2];
yonaetworks 0:29132844de96 85 char_linkregister02[k2] = linkregister02[k2];
yonaetworks 0:29132844de96 86 char_linkregister03[k2] = linkregister03[k2];
yonaetworks 0:29132844de96 87 char_linkregister04[k2] = linkregister04[k2];
yonaetworks 0:29132844de96 88 }
yonaetworks 0:29132844de96 89
yonaetworks 0:29132844de96 90 //-------------------------------------------------------------------- INICIALIZACION DE TARJETA DE RED -------------------------------------------------------------------------------------------
yonaetworks 0:29132844de96 91
yonaetworks 0:29132844de96 92
yonaetworks 0:29132844de96 93 NetworkInterface* network = connect_to_default_network_interface();
yonaetworks 0:29132844de96 94 if (!network) {
yonaetworks 0:29132844de96 95 printf("Cannot connect to the network, see serial output\n");
yonaetworks 0:29132844de96 96 return 1;
yonaetworks 0:29132844de96 97 }
yonaetworks 0:29132844de96 98
yonaetworks 0:29132844de96 99 //------------------------------------------------------------------- RECEPCION Y ALMACENAMIENTO DE TELEFONO --------------------------------------------------------------------------------------
yonaetworks 0:29132844de96 100 t.start();
yonaetworks 0:29132844de96 101 unsigned long int T1, T2;
yonaetworks 0:29132844de96 102 T1 = t.read();
yonaetworks 0:29132844de96 103 buffer[0] = '\0';
yonaetworks 0:29132844de96 104
yonaetworks 0:29132844de96 105 while (true) {
yonaetworks 0:29132844de96 106
yonaetworks 0:29132844de96 107 T2 = t.read();
yonaetworks 0:29132844de96 108 if(T2 > (T1 + 2)){
yonaetworks 0:29132844de96 109 T1 = T2;
yonaetworks 0:29132844de96 110 {HttpRequest* get_req = new HttpRequest(network, HTTP_GET, linkdoors);
yonaetworks 0:29132844de96 111 HttpResponse* get_res = get_req->send();
yonaetworks 0:29132844de96 112 if (!get_res) {
yonaetworks 0:29132844de96 113 printf("HttpRequest failed (error code %d)\n", get_req->get_error());
yonaetworks 0:29132844de96 114 return 1;
yonaetworks 0:29132844de96 115 }
yonaetworks 0:29132844de96 116 dump_response(get_res);
yonaetworks 0:29132844de96 117 delete get_req;}
yonaetworks 0:29132844de96 118
yonaetworks 0:29132844de96 119 char doors_ddbb[4];
yonaetworks 0:29132844de96 120 doors_ddbb[0] = http_response[0];
yonaetworks 0:29132844de96 121 doors_ddbb[1] = http_response[1];
yonaetworks 0:29132844de96 122 doors_ddbb[2] = http_response[2];
yonaetworks 0:29132844de96 123 doors_ddbb[3] = http_response[3];
yonaetworks 0:29132844de96 124
yonaetworks 0:29132844de96 125 char logicone[0];
yonaetworks 0:29132844de96 126 logicone[0] = '1';
yonaetworks 0:29132844de96 127
yonaetworks 0:29132844de96 128 if(doors_ddbb[0] == logicone[0]){
yonaetworks 0:29132844de96 129 PUERTA1 = 1;
yonaetworks 0:29132844de96 130 onedbquery[0] = 0;
yonaetworks 0:29132844de96 131 }
yonaetworks 0:29132844de96 132 else if (doors_ddbb[0] != logicone[0] && onedbquery[0] == 0){
yonaetworks 0:29132844de96 133 PUERTA1 = 0;
yonaetworks 0:29132844de96 134 {HttpRequest* get_req = new HttpRequest(network, HTTP_GET, char_linkregister01);
yonaetworks 0:29132844de96 135 HttpResponse* get_res = get_req->send();
yonaetworks 0:29132844de96 136 if (!get_res) {
yonaetworks 0:29132844de96 137 printf("HttpRequest failed (error code %d)\n", get_req->get_error());
yonaetworks 0:29132844de96 138 return 1;}
yonaetworks 0:29132844de96 139 dump_response(get_res);
yonaetworks 0:29132844de96 140 delete get_req;
yonaetworks 0:29132844de96 141 printf("[aXessKontrol] Se detecto cambio en la base de datos, agregando registro... Repuesta de DDBB: %s \n", http_response);}
yonaetworks 0:29132844de96 142 onedbquery[0]++;
yonaetworks 0:29132844de96 143 mensaje = 0;
yonaetworks 0:29132844de96 144 }
yonaetworks 0:29132844de96 145 if(doors_ddbb[1] == logicone[0]){
yonaetworks 0:29132844de96 146 PUERTA2 = 1;
yonaetworks 0:29132844de96 147 onedbquery[1] = 0;
yonaetworks 0:29132844de96 148 }
yonaetworks 0:29132844de96 149 else if (doors_ddbb[1] != logicone[0] && onedbquery[1] == 0){
yonaetworks 0:29132844de96 150 PUERTA2 = 0;
yonaetworks 0:29132844de96 151 {HttpRequest* get_req = new HttpRequest(network, HTTP_GET, char_linkregister02);
yonaetworks 0:29132844de96 152 HttpResponse* get_res = get_req->send();
yonaetworks 0:29132844de96 153 if (!get_res) {
yonaetworks 0:29132844de96 154 printf("HttpRequest failed (error code %d)\n", get_req->get_error());
yonaetworks 0:29132844de96 155 return 1;}
yonaetworks 0:29132844de96 156 dump_response(get_res);
yonaetworks 0:29132844de96 157 delete get_req;
yonaetworks 0:29132844de96 158 printf("[aXessKontrol] Se detecto cambio en la base de datos, agregando registro... Repuesta de DDBB: %s \n", http_response);}
yonaetworks 0:29132844de96 159 onedbquery[1]++;
yonaetworks 0:29132844de96 160 mensaje = 0;
yonaetworks 0:29132844de96 161 }
yonaetworks 0:29132844de96 162 if(doors_ddbb[2] == logicone[0]){
yonaetworks 0:29132844de96 163 PUERTA3 = 1;
yonaetworks 0:29132844de96 164 onedbquery[2] = 0;
yonaetworks 0:29132844de96 165
yonaetworks 0:29132844de96 166 }
yonaetworks 0:29132844de96 167 else if (doors_ddbb[2] != logicone[0] && onedbquery[2] == 0){
yonaetworks 0:29132844de96 168 PUERTA3 = 0;
yonaetworks 0:29132844de96 169 {HttpRequest* get_req = new HttpRequest(network, HTTP_GET, char_linkregister03);
yonaetworks 0:29132844de96 170 HttpResponse* get_res = get_req->send();
yonaetworks 0:29132844de96 171 if (!get_res) {
yonaetworks 0:29132844de96 172 printf("HttpRequest failed (error code %d)\n", get_req->get_error());
yonaetworks 0:29132844de96 173 return 1;}
yonaetworks 0:29132844de96 174 dump_response(get_res);
yonaetworks 0:29132844de96 175 delete get_req;
yonaetworks 0:29132844de96 176 printf("[aXessKontrol]Se detecto cambio en la base de datos, agregando registro... Repuesta de DDBB: %s \n", http_response);}
yonaetworks 0:29132844de96 177 onedbquery[2]++;
yonaetworks 0:29132844de96 178 mensaje = 0;
yonaetworks 0:29132844de96 179 }
yonaetworks 0:29132844de96 180 if(doors_ddbb[3] == logicone[0]){
yonaetworks 0:29132844de96 181 PUERTA4 = 1;
yonaetworks 0:29132844de96 182 }
yonaetworks 0:29132844de96 183 else if (doors_ddbb[3] != logicone[0] && onedbquery[3] == 0){
yonaetworks 0:29132844de96 184 PUERTA4 = 0;
yonaetworks 0:29132844de96 185 {HttpRequest* get_req = new HttpRequest(network, HTTP_GET, char_linkregister04);
yonaetworks 0:29132844de96 186 HttpResponse* get_res = get_req->send();
yonaetworks 0:29132844de96 187 if (!get_res) {
yonaetworks 0:29132844de96 188 printf("HttpRequest failed (error code %d)\n", get_req->get_error());
yonaetworks 0:29132844de96 189 return 1;}
yonaetworks 0:29132844de96 190 dump_response(get_res);
yonaetworks 0:29132844de96 191 delete get_req;
yonaetworks 0:29132844de96 192 printf("[aXessKontrol]Se detecto cambio en la base de datos, agregando registro... Repuesta de DDBB: %s \n", http_response);}
yonaetworks 0:29132844de96 193 onedbquery[3]++;
yonaetworks 0:29132844de96 194 mensaje = 0;
yonaetworks 0:29132844de96 195 }
yonaetworks 0:29132844de96 196 }
yonaetworks 0:29132844de96 197 HOME:
yonaetworks 0:29132844de96 198
yonaetworks 0:29132844de96 199 if(mensaje == 0){
yonaetworks 0:29132844de96 200 printf("\n[aXessKontrol] Bievenido a la consola de aXessKontrol, aqui se visualiza informacion importante sobre el estado actual del sistema \n");
yonaetworks 0:29132844de96 201 printf("[aXessKontrol] El sistema esta disponible para recibir solicitudes \n\n");
yonaetworks 0:29132844de96 202 mensaje++;
yonaetworks 0:29132844de96 203 }
yonaetworks 0:29132844de96 204 //----------------------------------------------- GET VERIFICACION DE ESTADO DE PINES EN BASE DE DATOS -----------------------------------------------------------------------------
yonaetworks 0:29132844de96 205
yonaetworks 0:29132844de96 206 while (sim808.readable()) {
yonaetworks 0:29132844de96 207 char new_char = sim808.getc();
yonaetworks 0:29132844de96 208 if(new_char == '0' || new_char == '1' || new_char == '2' || new_char == '3' || new_char == '4' || new_char == '5' || new_char == '6' || new_char == '7' || new_char == '8' || new_char == '9'){
yonaetworks 0:29132844de96 209 buffer[len] = new_char;
yonaetworks 0:29132844de96 210 len++;
yonaetworks 0:29132844de96 211 if(len == 10 && onetime == 0){
yonaetworks 0:29132844de96 212 for(j=0;j<10;j++){
yonaetworks 0:29132844de96 213 telbuf[j] = buffer[j];
yonaetworks 0:29132844de96 214 printf("[aXessKontrol] Se almaceno el numero %c en la posicion j %d de TELBUF\n", telbuf[j], j);
yonaetworks 0:29132844de96 215 }
yonaetworks 0:29132844de96 216 onetime++;
yonaetworks 0:29132844de96 217 goto A;
yonaetworks 0:29132844de96 218 }
yonaetworks 0:29132844de96 219 }
yonaetworks 0:29132844de96 220
yonaetworks 0:29132844de96 221 // new message received, handle
yonaetworks 0:29132844de96 222 if (new_char == '\n'){
yonaetworks 0:29132844de96 223 len = 0;
yonaetworks 0:29132844de96 224 }
yonaetworks 0:29132844de96 225 }
yonaetworks 0:29132844de96 226 }
yonaetworks 0:29132844de96 227 A:
yonaetworks 0:29132844de96 228 printf("\n[aXessKontrol] Solicitud recibida.\n[aXessKontrol] El telefono del usuario actual es : %s \n\n", telbuf);
yonaetworks 0:29132844de96 229
yonaetworks 0:29132844de96 230 sim808.printf("ATA\n");
yonaetworks 0:29132844de96 231
yonaetworks 0:29132844de96 232 //-------------------------------------------CONVERSION Y CONCATENACION DE STRING PARA FORMAR LINK------------------------------------------------------------------------
yonaetworks 0:29132844de96 233
yonaetworks 0:29132844de96 234
yonaetworks 0:29132844de96 235 //--------------------------------------------------CREACION DE LINK OPENDOOR-----------------------------------------------------------------------------------------
yonaetworks 0:29132844de96 236 int n = opendoors.length();
yonaetworks 0:29132844de96 237
yonaetworks 0:29132844de96 238 // declaring character array
yonaetworks 0:29132844de96 239 char link_char[n + 1];
yonaetworks 0:29132844de96 240
yonaetworks 0:29132844de96 241 // copying the contents of the
yonaetworks 0:29132844de96 242 // string to char array
yonaetworks 0:29132844de96 243 strcpy(link_char, opendoors.c_str());
yonaetworks 0:29132844de96 244
yonaetworks 0:29132844de96 245 for (int i = 0; i < n; i++){
yonaetworks 0:29132844de96 246 cout << link_char[i];
yonaetworks 0:29132844de96 247 }
yonaetworks 0:29132844de96 248
yonaetworks 0:29132844de96 249 for(int k = 0; k < 65 ; k++){
yonaetworks 0:29132844de96 250 if(k < 55){
yonaetworks 0:29132844de96 251 linkopendoors[k] = opendoors[k];
yonaetworks 0:29132844de96 252 }
yonaetworks 0:29132844de96 253 else if (k >= 55) {
yonaetworks 0:29132844de96 254 linkopendoors[k] = telbuf[k-55];
yonaetworks 0:29132844de96 255 }
yonaetworks 0:29132844de96 256 }
yonaetworks 0:29132844de96 257 printf("[aXessKontrol] Iniciando generacion de URLs...\n");
yonaetworks 0:29132844de96 258 printf("[aXessKontrol] El URL para abrir creado es el siguiente: %s \n", linkopendoors);
yonaetworks 0:29132844de96 259
yonaetworks 0:29132844de96 260
yonaetworks 0:29132844de96 261 //-------------------------------------------------- CREACION DE LINK CLOSEDOOR ---------------------------------------------------------------------------------------
yonaetworks 0:29132844de96 262
yonaetworks 0:29132844de96 263 int n2 = closedoors.length();
yonaetworks 0:29132844de96 264
yonaetworks 0:29132844de96 265 // declaring character array
yonaetworks 0:29132844de96 266 char link_char2[n2 + 1];
yonaetworks 0:29132844de96 267
yonaetworks 0:29132844de96 268 // copying the contents of the
yonaetworks 0:29132844de96 269 // string to char array
yonaetworks 0:29132844de96 270 strcpy(link_char2, closedoors.c_str());
yonaetworks 0:29132844de96 271
yonaetworks 0:29132844de96 272 for (int z = 0; z < n2; z++){
yonaetworks 0:29132844de96 273 cout << link_char2[z];
yonaetworks 0:29132844de96 274 }
yonaetworks 0:29132844de96 275
yonaetworks 0:29132844de96 276 for(int x = 0; x < 66 ; x++){
yonaetworks 0:29132844de96 277 if(x < 56){
yonaetworks 0:29132844de96 278 linkclosedoors[x] = closedoors[x];
yonaetworks 0:29132844de96 279 }
yonaetworks 0:29132844de96 280 else if (x >= 56) {
yonaetworks 0:29132844de96 281 linkclosedoors[x] = telbuf[x-56];
yonaetworks 0:29132844de96 282 }
yonaetworks 0:29132844de96 283 }
yonaetworks 0:29132844de96 284
yonaetworks 0:29132844de96 285 printf("[aXessKontrol] El URL para cerrar creado es el siguiente: %s \n", linkclosedoors);
yonaetworks 0:29132844de96 286
yonaetworks 0:29132844de96 287
yonaetworks 0:29132844de96 288 //-------------------------------------------------- CREACION DE LINK REGISTRO ---------------------------------------------------------------------------------------
yonaetworks 0:29132844de96 289
yonaetworks 0:29132844de96 290 int n3 = registers.length();
yonaetworks 0:29132844de96 291
yonaetworks 0:29132844de96 292 // declaring character array
yonaetworks 0:29132844de96 293 char link_char3[n3 + 1];
yonaetworks 0:29132844de96 294
yonaetworks 0:29132844de96 295 // copying the contents of the
yonaetworks 0:29132844de96 296 // string to char array
yonaetworks 0:29132844de96 297 strcpy(link_char3, registers.c_str());
yonaetworks 0:29132844de96 298
yonaetworks 0:29132844de96 299 for (int z = 0; z < n3; z++){
yonaetworks 0:29132844de96 300 cout << link_char2[z];
yonaetworks 0:29132844de96 301 }
yonaetworks 0:29132844de96 302
yonaetworks 0:29132844de96 303 for(int x = 0; x < 68 ; x++){
yonaetworks 0:29132844de96 304 if(x < 58){
yonaetworks 0:29132844de96 305 linkregisters[x] = registers[x];
yonaetworks 0:29132844de96 306 }
yonaetworks 0:29132844de96 307 else if (x >= 58) {
yonaetworks 0:29132844de96 308 linkregisters[x] = telbuf[x-58];
yonaetworks 0:29132844de96 309 }
yonaetworks 0:29132844de96 310 }
yonaetworks 0:29132844de96 311
yonaetworks 0:29132844de96 312 printf("[aXessKontrol] El URL del registro es el siguiente: %s \n", linkregisters);
yonaetworks 0:29132844de96 313
yonaetworks 0:29132844de96 314 //-------------------------------------------------------------------- CREACION DEL GET HTTP ------------------------------------------------------------------------------------------------------
yonaetworks 0:29132844de96 315
yonaetworks 0:29132844de96 316 //-------------------------------------------------------------------- APERTURA DE PUERTA --------------------------------------------------------------------------------------------------
yonaetworks 0:29132844de96 317 printf("[aXessKontrol] Se generaron correctamente las URLs...\n\n");
yonaetworks 0:29132844de96 318 wait(0.7);
yonaetworks 0:29132844de96 319 sim808.printf("ATH\n");
yonaetworks 0:29132844de96 320
yonaetworks 0:29132844de96 321
yonaetworks 0:29132844de96 322 {
yonaetworks 0:29132844de96 323 HttpRequest* get_req = new HttpRequest(network, HTTP_GET, linkopendoors);
yonaetworks 0:29132844de96 324
yonaetworks 0:29132844de96 325 HttpResponse* get_res = get_req->send();
yonaetworks 0:29132844de96 326 if (!get_res) {
yonaetworks 0:29132844de96 327 printf("HttpRequest failed (error code %d)\n", get_req->get_error());
yonaetworks 0:29132844de96 328 return 1;
yonaetworks 0:29132844de96 329 }
yonaetworks 0:29132844de96 330
yonaetworks 0:29132844de96 331 //IMPRESION DE RESPUESTA HTTP
yonaetworks 0:29132844de96 332 dump_response(get_res);
yonaetworks 0:29132844de96 333 delete get_req;
yonaetworks 0:29132844de96 334
yonaetworks 0:29132844de96 335 printf("[aXessKontrol] La puerta fue abierta, el id del usuario es: %s\n", http_response);
yonaetworks 0:29132844de96 336 }
yonaetworks 0:29132844de96 337 char compare[0];
yonaetworks 0:29132844de96 338 compare[0] = http_response[0];
yonaetworks 0:29132844de96 339 char primero[0];
yonaetworks 0:29132844de96 340 char segundo[0];
yonaetworks 0:29132844de96 341 char tercero[0];
yonaetworks 0:29132844de96 342 char cuarto[0];
yonaetworks 0:29132844de96 343
yonaetworks 0:29132844de96 344 primero[0] = '1';
yonaetworks 0:29132844de96 345 segundo[0] = '2';
yonaetworks 0:29132844de96 346 tercero[0] = '3';
yonaetworks 0:29132844de96 347 cuarto[0] = '4';
yonaetworks 0:29132844de96 348
yonaetworks 0:29132844de96 349 if(compare[0] == primero[0]){
yonaetworks 0:29132844de96 350 PUERTA1 = 0;
yonaetworks 0:29132844de96 351 }
yonaetworks 0:29132844de96 352 else if(compare[0] == segundo[0]){
yonaetworks 0:29132844de96 353 PUERTA2 = 0;
yonaetworks 0:29132844de96 354 }
yonaetworks 0:29132844de96 355 else if(compare[0] == tercero[0]){
yonaetworks 0:29132844de96 356 PUERTA3 = 0;
yonaetworks 0:29132844de96 357 }
yonaetworks 0:29132844de96 358 else if(compare[0] == cuarto[0]){
yonaetworks 0:29132844de96 359 PUERTA4 = 0;
yonaetworks 0:29132844de96 360 }
yonaetworks 0:29132844de96 361
yonaetworks 0:29132844de96 362 //-------------------------------------------------------------------- CREACION DE REGISTRO --------------------------------------------------------------------------------------------------
yonaetworks 0:29132844de96 363
yonaetworks 0:29132844de96 364 {
yonaetworks 0:29132844de96 365 HttpRequest* get_req = new HttpRequest(network, HTTP_GET, linkregisters);
yonaetworks 0:29132844de96 366
yonaetworks 0:29132844de96 367 HttpResponse* get_res = get_req->send();
yonaetworks 0:29132844de96 368 if (!get_res) {
yonaetworks 0:29132844de96 369 printf("HttpRequest failed (error code %d)\n", get_req->get_error());
yonaetworks 0:29132844de96 370 return 1;
yonaetworks 0:29132844de96 371 }
yonaetworks 0:29132844de96 372
yonaetworks 0:29132844de96 373 //IMPRESION DE RESPUESTA HTTP
yonaetworks 0:29132844de96 374 dump_response(get_res);
yonaetworks 0:29132844de96 375 delete get_req;
yonaetworks 0:29132844de96 376
yonaetworks 0:29132844de96 377 printf("[aXessKontrol] Enviando registro de acceso... Respuesta de DDBB: %s\n", http_response);
yonaetworks 0:29132844de96 378 printf("\n[aXessKontrol] Iniciando cierre en 10 segundos...\n");
yonaetworks 0:29132844de96 379 }
yonaetworks 0:29132844de96 380
yonaetworks 0:29132844de96 381 wait(10);
yonaetworks 0:29132844de96 382
yonaetworks 0:29132844de96 383 if(compare[0] == primero[0]){
yonaetworks 0:29132844de96 384 PUERTA1 = 1;
yonaetworks 0:29132844de96 385 }
yonaetworks 0:29132844de96 386 else if(compare[0] == segundo[0]){
yonaetworks 0:29132844de96 387 PUERTA2 = 1;
yonaetworks 0:29132844de96 388 }
yonaetworks 0:29132844de96 389 else if(compare[0] == tercero[0]){
yonaetworks 0:29132844de96 390 PUERTA3 = 1;
yonaetworks 0:29132844de96 391 }
yonaetworks 0:29132844de96 392 else if(compare[0] == cuarto[0]){
yonaetworks 0:29132844de96 393 PUERTA4 = 1;
yonaetworks 0:29132844de96 394 }
yonaetworks 0:29132844de96 395 //-------------------------------------------------------------------- CIERRE DE PUERTA --------------------------------------------------------------------------------------------------
yonaetworks 0:29132844de96 396 printf("\n[aXessKontrol] Cerrando la puerta... \n");
yonaetworks 0:29132844de96 397 {
yonaetworks 0:29132844de96 398 HttpRequest* get_req = new HttpRequest(network, HTTP_GET, linkclosedoors);
yonaetworks 0:29132844de96 399
yonaetworks 0:29132844de96 400 HttpResponse* get_res = get_req->send();
yonaetworks 0:29132844de96 401 if (!get_res) {
yonaetworks 0:29132844de96 402 printf("HttpRequest failed (error code %d)\n", get_req->get_error());
yonaetworks 0:29132844de96 403 return 1;
yonaetworks 0:29132844de96 404 }
yonaetworks 0:29132844de96 405
yonaetworks 0:29132844de96 406 //IMPRESION DE RESPUESTA HTTP
yonaetworks 0:29132844de96 407 dump_response(get_res);
yonaetworks 0:29132844de96 408 delete get_req;
yonaetworks 0:29132844de96 409
yonaetworks 0:29132844de96 410 printf("[aXessKontrol] La puerta fue cerrada, actualizando campo. Respuesta de DDBB: %s\n", http_response);
yonaetworks 0:29132844de96 411 }
yonaetworks 0:29132844de96 412
yonaetworks 0:29132844de96 413 printf("\n[aXessKontrol] Preparando recepcion de nuevas solicitudes... \n");
yonaetworks 0:29132844de96 414 onetime = 0;
yonaetworks 0:29132844de96 415 len = 0;
yonaetworks 0:29132844de96 416 mensaje = 0;
yonaetworks 0:29132844de96 417 opendoors = "http://192.168.1.10/ws/ws.php?op=micopendoors&telefono=";
yonaetworks 0:29132844de96 418 closedoors = "http://192.168.1.10/ws/ws.php?op=micclosedoors&telefono=";
yonaetworks 0:29132844de96 419 registers = "http://192.168.1.10/ws/ws.php?op=create-register&telefono=";
yonaetworks 0:29132844de96 420 goto HOME;
yonaetworks 0:29132844de96 421 }
yonaetworks 0:29132844de96 422
yonaetworks 0:29132844de96 423 #endif