Diferencia entre revisiones de «WebClientData»
De ArduWiki
(→Código) |
(→Referencias externas) |
||
(No se muestran 6 ediciones intermedias del mismo usuario) | |||
Línea 3: | Línea 3: | ||
== Código Arduino == | == Código Arduino == | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
+ | #include <SPI.h> | ||
+ | #include <Ethernet.h> | ||
+ | |||
+ | byte mac[] = {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; | ||
+ | IPAddress server(192,168,0,20); | ||
+ | EthernetClient client; | ||
+ | |||
+ | int pot; | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | if (Ethernet.begin(mac) == 0) { | ||
+ | Serial.println("Fallo la configuracion DHCP"); | ||
+ | //Hacerlo para siempre | ||
+ | for(;;) | ||
+ | ; | ||
+ | } | ||
+ | delay(1000); | ||
+ | Serial.println("conectando..."); | ||
+ | |||
+ | if (client.connect(server, 80)) { | ||
+ | Serial.println("conectado"); | ||
+ | //Requerimiento: | ||
+ | client.print("GET /arduino/mysql.php?valor="); | ||
+ | pot = analogRead(A0); | ||
+ | client.print(pot); | ||
+ | client.println(" HTTP/1.0″); | ||
+ | //client.println("GET /arduino/ethernet.php HTTP/1.0"); | ||
+ | client.println(); | ||
+ | } else { | ||
+ | Serial.println("Fallo la coneccion"); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void loop(){ | ||
+ | //Si hay un cliente imprime sus datos | ||
+ | if (client.available()) { | ||
+ | char c = client.read(); | ||
+ | Serial.print(c); | ||
+ | } | ||
+ | |||
+ | //Si el servidor se desconecta, para cliente | ||
+ | if (!client.connected()) { | ||
+ | Serial.println(); | ||
+ | Serial.println("desconectando..."); | ||
+ | client.stop(); | ||
+ | //Hacerlo para siempre | ||
+ | for(;;) | ||
+ | ; | ||
+ | } | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Código PHP == | == Código PHP == | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="PHP"> |
+ | $db = 'tiempos'; | ||
+ | $mysqli = new mysqli('localhost', 'Usuario', 'Clave', $db) OR exit('Fallo al conectar a MySQL o BD'); | ||
+ | $sql = 'INSERT INTO tabla1 SET val='. $_REQUEST['valor']; | ||
+ | //echo $sql; | ||
+ | $res = $mysqli->query($sql) OR exit('Revisa el query<p>'. $sql); | ||
+ | if ($mysqli->affected_rows != 1){ | ||
+ | echo 'Error...'; | ||
+ | } | ||
+ | //Cierra conexión | ||
+ | $mysqli->close(); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== MySQL == | == MySQL == | ||
+ | {| class="wikitable" | ||
+ | |+Campos de tabla1 | ||
+ | |- | ||
+ | !Nombre!!Tipo!!Comentario | ||
+ | |- | ||
+ | |id||int(11)||Auto_Incremet | ||
+ | |- | ||
+ | |val||varchar(4)|| | ||
+ | |- | ||
+ | |fecha||datetime||Current_timestamp | ||
+ | |} | ||
== Vea también == | == Vea también == | ||
Línea 15: | Línea 87: | ||
== Referencias externas == | == Referencias externas == | ||
+ | * [http://panamahitek.com/conectar-arduino-base-datos-mysql/ Conectar Arduino con MySQL] - Panama Hitek | ||
+ | * [https://www.rinconingenieril.es/arduino-ethernet-y-mysql/ Arduino a MySQL] - Rincon Ingenieril | ||
+ | * [https://www.apachefriends.org/es/index.html Apache + MySQL + PHP] - Apache friends | ||
+ | |||
[[Category:Ejemplos]] | [[Category:Ejemplos]] | ||
[[Category:Libreria Ethernet]] | [[Category:Libreria Ethernet]] |
Revisión actual del 16:03 19 sep 2019
Este ejemplo muestra cómo hacer un envio de datos hacia un servidor Xampp (Apache + MySQL)
Código Arduino
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0xDE,0xAD,0xBE,0xEF,0xFE,0xED};
IPAddress server(192,168,0,20);
EthernetClient client;
int pot;
void setup() {
Serial.begin(9600);
if (Ethernet.begin(mac) == 0) {
Serial.println("Fallo la configuracion DHCP");
//Hacerlo para siempre
for(;;)
;
}
delay(1000);
Serial.println("conectando...");
if (client.connect(server, 80)) {
Serial.println("conectado");
//Requerimiento:
client.print("GET /arduino/mysql.php?valor=");
pot = analogRead(A0);
client.print(pot);
client.println(" HTTP/1.0″);
//client.println("GET /arduino/ethernet.php HTTP/1.0");
client.println();
} else {
Serial.println("Fallo la coneccion");
}
}
void loop(){
//Si hay un cliente imprime sus datos
if (client.available()) {
char c = client.read();
Serial.print(c);
}
//Si el servidor se desconecta, para cliente
if (!client.connected()) {
Serial.println();
Serial.println("desconectando...");
client.stop();
//Hacerlo para siempre
for(;;)
;
}
}
Código PHP
$db = 'tiempos';
$mysqli = new mysqli('localhost', 'Usuario', 'Clave', $db) OR exit('Fallo al conectar a MySQL o BD');
$sql = 'INSERT INTO tabla1 SET val='. $_REQUEST['valor'];
//echo $sql;
$res = $mysqli->query($sql) OR exit('Revisa el query<p>'. $sql);
if ($mysqli->affected_rows != 1){
echo 'Error...';
}
//Cierra conexión
$mysqli->close();
MySQL
Nombre | Tipo | Comentario |
---|---|---|
id | int(11) | Auto_Incremet |
val | varchar(4) | |
fecha | datetime | Current_timestamp |
Vea también
Referencias externas
- Conectar Arduino con MySQL - Panama Hitek
- Arduino a MySQL - Rincon Ingenieril
- Apache + MySQL + PHP - Apache friends