Estoy aprendiendo a trabajar con la comunicación cliente-servidor. Puedo comunicarme con mi servidor y puedo almacenar valores en la tabla. Pero quiero recibir uno de los datos específicos de la base de datos.
Aquí quiero obtener el valor 'abc' de la columna 'Actual' para almacenarlo en una variable en mi Arduino.
A continuación se muestra el código que he hecho hasta ahora. Sería muy feliz si pudiera resolver el problema.
Aquí está la estructura de mi base de datos
---------------- ----------------------------------- | Dispositivo | Anterior | Siguiente | Distancia | Actual | -------------------------------------------------- - | katup123 | xyz | abc | 2.600 | abc | -------------------------------------------------- -
Aquí está mi código PHP:
locator.php
<? php $ con = mysqli_connect ("your_domain.com "," peter "," abc123 "," ubicar "); // Verifica la conexión si (mysqli_connect_errno ()) {echo" No se pudo conectar a MySQL: ". mysqli_connect_error ();} $ resultado = mysqli_query ($ con, "SELECCIONAR Actual DESDE ubicar DONDE Dispositivo = 'katup123'"); while ($ fila = mysqli_fetch_array ($ resultado)) {echo $ fila ['Actual']; echo "<br>"; }? >
Aquí está mi código Arduino:
// Incluir la biblioteca GSM # incluir <GSM.h> # definir PINNUMBER "" // Datos APN #define GPRS_APN "GPRS_APN" // reemplace su GPRS APNgpsll # defina GPRS_LOGIN "login" // reemplace con su inicio de sesión GPRS # defina GPRS_PASSWORD "contraseña" // reemplace con su contraseña GPRS // inicialice la instancia de la bibliotecaGSM gsmAccess; Cliente GSMClient; GPRS gprs; // URL, ruta & puerto (por ejemplo: arduino.cc) char server [] = "your_domain.com"; char path [] = "/locater.php";int port = 80; // El puerto 80 es el predeterminado para HTTPvoid setup () {Serial.begin (9600); Serial.println ("Iniciando cliente web Arduino."); // estado de conexión booleano notConnected = true; // Iniciar escudo GSM
// Si su SIM tiene PIN, páselo como parámetro de begin () entre comillas while (notConnected) {if ((gsmAccess.begin (PINNUMBER) == GSM_READY) & (gprs.attachGPRS (GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) = = GPRS_READY)) notConnected = falso; else {Serial.println ("No conectado"); retraso (1000); }} Serial.println ("GSM inicializado"); Serial.println ("conectando ...");} void loop () {char result [20]; Serial.print ("Conectando a la base de datos del servidor"); if (client.connect (servidor, puerto)) {client.print ("GET /locator.php?"); Serial.print ("OBTENER /locator.php?"); client.println ("HTTP / 1.1"); Serial.println ("HTTP / 1.1"); client.println ("Host: www.your_domain.com"); Serial.println ("Host: www.your_domain.com"); client.println ("Usuario-Agente: Arduino"); Serial.println ("Usuario-Agente: Arduino"); client.println ("Aceptar: texto / html"); Serial.println ("Aceptar: texto / html"); client.println ("Conexión: cerrar"); Serial.println ("Conexión: cerrar"); cliente.println (); Serial.println (); Serial.println ("\ nCOMPLETO! \ N"); client.stop (); } else {Serial.println ("conexión fallida"); Serial.println ("\ n FALLÓ! \ N"); } delay (5000);}
Aquí quiero almacenar el valor 'abc' en mi variable 'result'. No sé cómo hacerlo.