kio

Dependencies:   mbed-http

Files at this revision

API Documentation at this revision

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