kio

Dependencies:   mbed-http

Committer:
yonaetworks
Date:
Thu Aug 05 00:15:15 2021 +0000
Revision:
1:078a6d9a2ae3
Parent:
0:29132844de96
Child:
2:4745484bc533
kio2

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