Arduino - Como mandar datos de php a arduino?

 
Vista:
sin imagen de perfil
Val: 9
Ha disminuido 1 puesto en Arduino (en relación al último mes)
Gráfica de Arduino

Como mandar datos de php a arduino?

Publicado por Marcos (6 intervenciones) el 16/09/2018 17:27:21
Hola buenas tardes, tengo un problemas y es que tengo una pagina web con unos botones que tiene que encender un actuador, el tema es que no puedo mandar esos datos a arduino, y no puedo crear la estructura del html en el sketch de arduino (algo que no me conviene), ademas de que cuando quiero recibir los datos en php en el arduino me imprimi br/ pero cuando pongo una variable fija me imprimi bien.. Adjunto el codigo

Codigo de Arduino

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <Ethernet.h>
#include <SPI.h>
 
////////////////////////////////////////////////////////////////////////
//CONFIGURE
////////////////////////////////////////////////////////////////////////
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // Direccion MAC
byte ip[] = { 192, 168, 0, 150 }; // Direccion IP del Arduino
byte server[] = { 192,168,0,101 }; // ip del Hosting
IPAddress dnServer(192,168,0,101);
// the router's gateway address:
IPAddress gateway(192,168,0,1);
// the subnet:
IPAddress subnet(255, 255, 255, 0);
EthernetClient client;


String location = "http://192.168.0.100/javascript/index.php HTTP/1.0";


//EthernetClient client;

char inString[32]; // string for incoming serial data
int stringPos = 0; // string index counter
boolean startRead = false; // is reading?

void setup(){
  Ethernet.begin(mac);
  Serial.begin(9600);
}

void loop(){
  String pageValue = connectAndRead(); //connect to the server and read the output

  Serial.println(pageValue); //print out the findings.

  delay(3000); //wait 3 seconds before connecting again
}

String connectAndRead(){
  //connect to the server

  Serial.println("connecting...");

  //port 80 is typical of a www page
  if (client.connect(server, 80)) {
    Serial.println("connected");
    client.print("GET ");
    client.println(location);
    client.println();

    //Connected - Read the page
    return readPage(); //go and read the output

  }else{
    return "connection failed";
  }

}

String readPage(){
  //read the page, and capture & return everything between '<' and '>'

  stringPos = 0;
  memset( &inString, 0, 32 ); //clear inString memory

  while(true){

    if (client.available()) {
      char c = client.read();

      if (c == '<' ) { //'<' is our begining character
        startRead = true; //Ready to start reading the part 
      }else if(startRead){

        if(c != '>'){ //'>' is our ending character
          inString[stringPos] = c;
          stringPos ++;
        }else{
          //got what we need here! We can disconnect now
          startRead = false;
          client.stop();
          client.flush();
          Serial.println("disconnecting.");
          return inString;

        }

      }
    }

  }

}



Codigo PHP


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<form method="get">
		<input type="submit" name="enviar" value="Encender">
		<input type="submit" name="enviar" value="Apagar">
	</form>
 
 
 
 
 
 
</body>
</html>
 
 
 
 
 
 
 
<?php
 
 
	// $azar = 1;//base_convert (rand (10000,9999999), 10, 36);
	// echo '<'. $azar . '>'; 
//$var = $_POST['enviar'];
	$var = 12121;
echo '<'. $var .'>';
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como mandar datos de php a arduino?

Publicado por pto (1 intervención) el 27/11/2020 21:54:58
Hola pudiste solucionar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar