Yonariel Hernandez
/
Proyecto-Final_copy_petey
kio
source/main-http.cpp@1:078a6d9a2ae3, 2021-08-05 (annotated)
- 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?
User | Revision | Line number | New 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 |