Yonariel Hernandez
/
Proyecto-Final_copy_petey
kio
Revision 2:4745484bc533, committed 2021-08-05
- Comitter:
- yonaetworks
- Date:
- Thu Aug 05 01:28:42 2021 +0000
- Parent:
- 1:078a6d9a2ae3
- Commit message:
- funciona URL post/get desde MBEDOS
Changed in this revision
source/main-http.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/source/main-http.cpp Thu Aug 05 00:15:15 2021 +0000 +++ b/source/main-http.cpp Thu Aug 05 01:28:42 2021 +0000 @@ -11,6 +11,7 @@ #include "EthernetInterface.h" + //MAHER WAS HERE DigitalOut PUERTA1(PG_9); @@ -48,47 +49,14 @@ http_response = res->get_body_as_string().c_str(); } +string petname = "señormajer" + int main() { //-------------------------------------------------------------------- INICIALIZACION DE PINES ------------------------------------------------------------------------------------------- - PUERTA1 = 1; - PUERTA2 = 1; - PUERTA3 = 1; - PUERTA4 = 1; - linkregister01 = "http://192.168.1.10/ws/ws.php?op=create-registeri&id=1"; - linkregister02 = "http://192.168.1.10/ws/ws.php?op=create-registeri&id=2"; - linkregister03 = "http://192.168.1.10/ws/ws.php?op=create-registeri&id=3"; - linkregister04 = "http://192.168.1.10/ws/ws.php?op=create-registeri&id=4"; - - int m = linkregister01.length(); - - // declaring character array - char link_char4[m + 1]; - char link_char5[m + 1]; - char link_char6[m + 1]; - char link_char7[m + 1]; - - // copying the contents of the - // string to char array - strcpy(link_char4, linkregister01.c_str()); - strcpy(link_char5, linkregister02.c_str()); - strcpy(link_char6, linkregister03.c_str()); - strcpy(link_char7, linkregister04.c_str()); - - for (int i2 = 0; i2 < m; i2++){ - cout << link_char4[i2]; - cout << link_char5[i2]; - cout << link_char6[i2]; - cout << link_char7[i2]; - } - - for(int k2 = 0; k2 < 54 ; k2++){ - char_linkregister01[k2] = linkregister01[k2]; - char_linkregister02[k2] = linkregister02[k2]; - char_linkregister03[k2] = linkregister03[k2]; - char_linkregister04[k2] = linkregister04[k2]; - } + + // string linkregister01 = "http://192.168.100.204/post.php?name=SOYMBED&submit=send"; //-------------------------------------------------------------------- INICIALIZACION DE TARJETA DE RED ------------------------------------------------------------------------------------------- @@ -99,328 +67,24 @@ return 1; } -//------------------------------------------------------------------- RECEPCION Y ALMACENAMIENTO DE TELEFONO -------------------------------------------------------------------------------------- - t.start(); - unsigned long int T1, T2; - T1 = t.read(); - buffer[0] = '\0'; - - while (true) { - - T2 = t.read(); - if(T2 > (T1 + 2)){ - T1 = T2; - {HttpRequest* get_req = new HttpRequest(network, HTTP_GET, linkdoors); - HttpResponse* get_res = get_req->send(); - if (!get_res) { - printf("HttpRequest failed (error code %d)\n", get_req->get_error()); - return 1; - } - dump_response(get_res); - delete get_req;} - - char doors_ddbb[4]; - doors_ddbb[0] = http_response[0]; - doors_ddbb[1] = http_response[1]; - doors_ddbb[2] = http_response[2]; - doors_ddbb[3] = http_response[3]; - - char logicone[0]; - logicone[0] = '1'; - - if(doors_ddbb[0] == logicone[0]){ - PUERTA1 = 1; - onedbquery[0] = 0; - } - else if (doors_ddbb[0] != logicone[0] && onedbquery[0] == 0){ - PUERTA1 = 0; - {HttpRequest* get_req = new HttpRequest(network, HTTP_GET, char_linkregister01); - HttpResponse* get_res = get_req->send(); - if (!get_res) { - printf("HttpRequest failed (error code %d)\n", get_req->get_error()); - return 1;} - dump_response(get_res); - delete get_req; - printf("[aXessKontrol] Se detecto cambio en la base de datos, agregando registro... Repuesta de DDBB: %s \n", http_response);} - onedbquery[0]++; - mensaje = 0; - } - if(doors_ddbb[1] == logicone[0]){ - PUERTA2 = 1; - onedbquery[1] = 0; - } - else if (doors_ddbb[1] != logicone[0] && onedbquery[1] == 0){ - PUERTA2 = 0; - {HttpRequest* get_req = new HttpRequest(network, HTTP_GET, char_linkregister02); - HttpResponse* get_res = get_req->send(); - if (!get_res) { - printf("HttpRequest failed (error code %d)\n", get_req->get_error()); - return 1;} - dump_response(get_res); - delete get_req; - printf("[aXessKontrol] Se detecto cambio en la base de datos, agregando registro... Repuesta de DDBB: %s \n", http_response);} - onedbquery[1]++; - mensaje = 0; - } - if(doors_ddbb[2] == logicone[0]){ - PUERTA3 = 1; - onedbquery[2] = 0; - - } - else if (doors_ddbb[2] != logicone[0] && onedbquery[2] == 0){ - PUERTA3 = 0; - {HttpRequest* get_req = new HttpRequest(network, HTTP_GET, char_linkregister03); - HttpResponse* get_res = get_req->send(); - if (!get_res) { - printf("HttpRequest failed (error code %d)\n", get_req->get_error()); - return 1;} - dump_response(get_res); - delete get_req; - printf("[aXessKontrol]Se detecto cambio en la base de datos, agregando registro... Repuesta de DDBB: %s \n", http_response);} - onedbquery[2]++; - mensaje = 0; - } - if(doors_ddbb[3] == logicone[0]){ - PUERTA4 = 1; - } - else if (doors_ddbb[3] != logicone[0] && onedbquery[3] == 0){ - PUERTA4 = 0; - {HttpRequest* get_req = new HttpRequest(network, HTTP_GET, char_linkregister04); - HttpResponse* get_res = get_req->send(); - if (!get_res) { - printf("HttpRequest failed (error code %d)\n", get_req->get_error()); - return 1;} - dump_response(get_res); - delete get_req; - printf("[aXessKontrol]Se detecto cambio en la base de datos, agregando registro... Repuesta de DDBB: %s \n", http_response);} - onedbquery[3]++; - mensaje = 0; - } - } - HOME: - - if(mensaje == 0){ - printf("\n[aXessKontrol] Bievenido a la consola de aXessKontrol, aqui se visualiza informacion importante sobre el estado actual del sistema \n"); - printf("[aXessKontrol] El sistema esta disponible para recibir solicitudes \n\n"); - mensaje++; - } - //----------------------------------------------- GET VERIFICACION DE ESTADO DE PINES EN BASE DE DATOS ----------------------------------------------------------------------------- - - while (sim808.readable()) { - char new_char = sim808.getc(); - 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'){ - buffer[len] = new_char; - len++; - if(len == 10 && onetime == 0){ - for(j=0;j<10;j++){ - telbuf[j] = buffer[j]; - printf("[aXessKontrol] Se almaceno el numero %c en la posicion j %d de TELBUF\n", telbuf[j], j); - } - onetime++; - goto A; - } - } - - // new message received, handle - if (new_char == '\n'){ - len = 0; - } - } - } - A: - printf("\n[aXessKontrol] Solicitud recibida.\n[aXessKontrol] El telefono del usuario actual es : %s \n\n", telbuf); - - sim808.printf("ATA\n"); - -//-------------------------------------------CONVERSION Y CONCATENACION DE STRING PARA FORMAR LINK------------------------------------------------------------------------ + //-------------------------------------------------------------------- CREACION DE PET-------------------------------------------------------------------------------------------------- + // Do a GET request to httpbin.org + { + // By default the body is automatically parsed and stored in a buffer, this is memory heavy. + // To receive chunked response, pass in a callback as last parameter to the constructor. + HttpRequest* get_req = new HttpRequest(network, HTTP_GET, "http://192.168.100.204:8443/post.php?name=%petname%"); - - //--------------------------------------------------CREACION DE LINK OPENDOOR----------------------------------------------------------------------------------------- - int n = opendoors.length(); - - // declaring character array - char link_char[n + 1]; - - // copying the contents of the - // string to char array - strcpy(link_char, opendoors.c_str()); - - for (int i = 0; i < n; i++){ - cout << link_char[i]; - } - - for(int k = 0; k < 65 ; k++){ - if(k < 55){ - linkopendoors[k] = opendoors[k]; - } - else if (k >= 55) { - linkopendoors[k] = telbuf[k-55]; - } - } - printf("[aXessKontrol] Iniciando generacion de URLs...\n"); - printf("[aXessKontrol] El URL para abrir creado es el siguiente: %s \n", linkopendoors); - - - //-------------------------------------------------- CREACION DE LINK CLOSEDOOR --------------------------------------------------------------------------------------- - - int n2 = closedoors.length(); - - // declaring character array - char link_char2[n2 + 1]; - - // copying the contents of the - // string to char array - strcpy(link_char2, closedoors.c_str()); - - for (int z = 0; z < n2; z++){ - cout << link_char2[z]; - } - - for(int x = 0; x < 66 ; x++){ - if(x < 56){ - linkclosedoors[x] = closedoors[x]; - } - else if (x >= 56) { - linkclosedoors[x] = telbuf[x-56]; - } - } - - printf("[aXessKontrol] El URL para cerrar creado es el siguiente: %s \n", linkclosedoors); - - - //-------------------------------------------------- CREACION DE LINK REGISTRO --------------------------------------------------------------------------------------- - - int n3 = registers.length(); - - // declaring character array - char link_char3[n3 + 1]; - - // copying the contents of the - // string to char array - strcpy(link_char3, registers.c_str()); - - for (int z = 0; z < n3; z++){ - cout << link_char2[z]; - } - - for(int x = 0; x < 68 ; x++){ - if(x < 58){ - linkregisters[x] = registers[x]; - } - else if (x >= 58) { - linkregisters[x] = telbuf[x-58]; - } - } - - printf("[aXessKontrol] El URL del registro es el siguiente: %s \n", linkregisters); - -//-------------------------------------------------------------------- CREACION DEL GET HTTP ------------------------------------------------------------------------------------------------------ - -//-------------------------------------------------------------------- APERTURA DE PUERTA -------------------------------------------------------------------------------------------------- - printf("[aXessKontrol] Se generaron correctamente las URLs...\n\n"); - wait(0.7); - sim808.printf("ATH\n"); - - - { - HttpRequest* get_req = new HttpRequest(network, HTTP_GET, linkopendoors); - HttpResponse* get_res = get_req->send(); if (!get_res) { printf("HttpRequest failed (error code %d)\n", get_req->get_error()); return 1; } + dump_response(get_res); + printf("\n----- HTTP GET response -----\n", get_res); - //IMPRESION DE RESPUESTA HTTP - dump_response(get_res); - delete get_req; - - printf("[aXessKontrol] La puerta fue abierta, el id del usuario es: %s\n", http_response); - } - char compare[0]; - compare[0] = http_response[0]; - char primero[0]; - char segundo[0]; - char tercero[0]; - char cuarto[0]; - - primero[0] = '1'; - segundo[0] = '2'; - tercero[0] = '3'; - cuarto[0] = '4'; - - if(compare[0] == primero[0]){ - PUERTA1 = 0; - } - else if(compare[0] == segundo[0]){ - PUERTA2 = 0; - } - else if(compare[0] == tercero[0]){ - PUERTA3 = 0; - } - else if(compare[0] == cuarto[0]){ - PUERTA4 = 0; - } - - //-------------------------------------------------------------------- CREACION DE REGISTRO -------------------------------------------------------------------------------------------------- - - { - HttpRequest* get_req = new HttpRequest(network, HTTP_GET, linkregisters); - - HttpResponse* get_res = get_req->send(); - if (!get_res) { - printf("HttpRequest failed (error code %d)\n", get_req->get_error()); - return 1; - } - - //IMPRESION DE RESPUESTA HTTP - dump_response(get_res); + delete get_req; - - printf("[aXessKontrol] Enviando registro de acceso... Respuesta de DDBB: %s\n", http_response); - printf("\n[aXessKontrol] Iniciando cierre en 10 segundos...\n"); - } - - wait(10); - - if(compare[0] == primero[0]){ - PUERTA1 = 1; - } - else if(compare[0] == segundo[0]){ - PUERTA2 = 1; - } - else if(compare[0] == tercero[0]){ - PUERTA3 = 1; - } - else if(compare[0] == cuarto[0]){ - PUERTA4 = 1; } -//-------------------------------------------------------------------- CIERRE DE PUERTA -------------------------------------------------------------------------------------------------- - printf("\n[aXessKontrol] Cerrando la puerta... \n"); - { - HttpRequest* get_req = new HttpRequest(network, HTTP_GET, linkclosedoors); - - HttpResponse* get_res = get_req->send(); - if (!get_res) { - printf("HttpRequest failed (error code %d)\n", get_req->get_error()); - return 1; - } - - //IMPRESION DE RESPUESTA HTTP - dump_response(get_res); - delete get_req; - - printf("[aXessKontrol] La puerta fue cerrada, actualizando campo. Respuesta de DDBB: %s\n", http_response); + } - - printf("\n[aXessKontrol] Preparando recepcion de nuevas solicitudes... \n"); - onetime = 0; - len = 0; - mensaje = 0; - opendoors = "http://192.168.1.10/ws/ws.php?op=micopendoors&telefono="; - closedoors = "http://192.168.1.10/ws/ws.php?op=micclosedoors&telefono="; - registers = "http://192.168.1.10/ws/ws.php?op=create-register&telefono="; - goto HOME; -} - -#endif \ No newline at end of file + #endif \ No newline at end of file