New question

Question:

Date: 20-11-2020 13:12:21 (In Spanish)

ayuda, tengo instalado un sensor en arduino y quiero enviar el dato a una BD phpmyadmin inst. en la placa Raspberry pi, pero no me envía el dato, agradeceré su ayuda.[Unresolved]

mi código
#include <Ethernet.h>
#include <SPI.h>
#include <MySQL_Connection.h>
// Configuracion del Ethernet Shield
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFF, 0xEE}; // Direccion MAC
byte ip[] = { 192,168,0,9 }; // Direccion IP del Arduino
byte server[] = { 192,168,0,6 }; // Direccion IP del servidor
EthernetClient client;
float temperatura;
int analog_pin = 0;

void setup(void) {
Ethernet.begin(mac, ip); // Inicializamos el Ethernet Shield
delay(1000); // Esperamos 1 segundo de cortesia
Serial.begin(9600);
}

void loop(void) {
temperatura = analogRead(analog_pin);
temperatura = 5.0*temperatura*100.0/1024.0;
//Display in Serial Monitor
Serial.print(temperatura); //Return temperature to Monitor
Serial.println(" oC");
// Proceso de envio de muestras al servidor
Serial.println("Connecting...");
if (client.connect(server, 80)>0) { // Conexion con el servidor
client.print("GET /tutoiot/iot.php?valor="); // Envio los datos por GET NOTA: e puesto /iot.php? y config.php,
client.print(temperatura);
client.println(" HTTP/1.0");
client.println("User-Agent: Arduino 1.0");
client.println();
Serial.println("Conectado");
} else {
Serial.println("Fallo en la conexion");
}
if (!client.connected()) {
Serial.println("Disconnected!");
}
client.stop();
client.flush();
delay(30000); // Espero un minuto antes de tomar otra muestra
}


mis scrips o archivos creados son los siguientes:
sudo nano /var/www/html/config.php
<?php
// config.php
// Credenciales
$dbhost = "localhost";
$dbuser = "pi";
$dbpass = "pi";
$dbname = "bdpi";
//Conexion con la base de datos
$con = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
?>
sudo nano /var/www/html/dht11.php
<?php
// dht11.php
//Importamos la configuracion
require("config.php");
// Leemos los valores que nos llegan por GET
$Temperatura = mysqli_real_escape_string($con, $_GET['valor']);
// Einsertamos los valores en la tabla
$query = "INSERT INTO Valores(valor) VALUES('".$valor."')";
// Ejecutamos la instruccion
mysqli_query($con, $query);
mysqli_close($con);
?>
mi base de datos se llama: bdpi y mi tabla se llama: valores con la extructura de id, valor y tiempo.
y en el monitor serial si aparece el valor del sensor





Tags: $_GET - MariaDB - MySQL - MySQL Developing - PHP MySQLi - phpMyAdmin - Privileges - Protocols - Script PHP - SQL Server - SSH Server Votes: 0 - Answers: 2 - Views: 5 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 21-11-2020 02:30:20 ¿Podrías marcar tu código con las etiquetas del editor de mensajes? Así sería mucho más simple de leer y comentar.

    Por otra parte, veo que tienes una parte que es código C, ¿puede ser?
      Votes: 1 - Link answer
     
  • Date: 25-11-2020 07:27:23 Sí, la primera parte es el código del cliente (Arduino).

    La siguiente es el código PHP para el servidor.

    Me parece que la falla está aquí:

    // Leemos los valores que nos llegan por GET
    $Temperatura = mysqli_real_escape_string($con, $_GET['valor']);
    // Einsertamos los valores en la tabla
    $query = "INSERT INTO Valores(valor) VALUES('".$valor."')";
    


    Debería de ser así:
    // Leemos los valores que nos llegan por GET
    $Temperatura = mysqli_real_escape_string($con, $_GET['valor']);
    // Einsertamos los valores en la tabla
    $query = "INSERT INTO Valores(valor) VALUES('".$Temperatura."')"; //<- El nombre de variable estaba mal
    
      Votes: 1 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In
 
frjcbbae garagebible.com