Diferencia entre revisiones de «WebClientData»

De ArduWiki
Saltar a: navegación, buscar
(Página creada con «Este ejemplo muestra cómo hacer un envio de datos hacia un servidor Xampp (Apache + MySQL) == Código == <syntaxhighlight lang="c++"> </syntaxhighlight> == Vea también...»)
 
(Referencias externas)
 
(No se muestran 7 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
Este ejemplo muestra cómo hacer un envio de datos hacia un servidor Xampp (Apache + MySQL)
 
Este ejemplo muestra cómo hacer un envio de datos hacia un servidor Xampp (Apache + MySQL)
  
== Código ==
+
== 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 ==
 +
<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>
 +
 +
== 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 9: 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

Campos de tabla1
Nombre Tipo Comentario
id int(11) Auto_Incremet
val varchar(4)
fecha datetime Current_timestamp

Vea también


Referencias externas