Estou usando um Shield Ethernet, rodando o arduino como WebClient mas não consigo receber os valores da página através da função read(). O available() sempre retorna falso.
Mas está enviando para o arquivo PHP “rede.php” uma vez que esse cadastra no banco de dados.
#include <SPI.h>
#include <Ethernet.h>
byte mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //define MAC da placa do arduino
IPAddress server(192,168,1,100); // numeric IP do servidor (meu notebook)
IPAddress ip(192,168,1,150);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
EthernetClient client;
int x;
void enviando_dados()
{
Ethernet.begin(mac,ip,gateway,subnet);
if (client.connect(server, 80))
{
client.print(“GET /rede.php?valor=”);
x=99;
client.println(x);
client.println(“Host: http://192.168.1.100”);
while (client.available()) //nunca entra nessa repetição e se coloco a função “client.read();” fora do while retorna -1
{
char c = client.read();
Serial.print(c);
}
}
else
{
Serial.println(“Falha na conexão”);
}
client.stop();
}
void setup() {
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(“Testando a rede:”);
enviando_dados();
delay(5000);
}
sketch_projeto_38.ino (1.08 KB)