Pregunta:
Fecha: 20-11-2020 13:12:21
(En Español)
#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
Votos: 0 - Respuestas: 2 - Vistas: 5 Compartir en: Google Facebook Twitter LinkedIn Link
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.[No resuelta]
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
Votos: 0 - Respuestas: 2 - Vistas: 5 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 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? Votos: 1 - Link respuesta -
Fecha: 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
Votos: 1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión