A baixo meu código completo o que realmente estou tentando usar.
já adicionei tempo a cada situação, já tentei colocar HTTP/1.1 no final do meu GET ou a baixo ou antes, já tentei colocar o meu GET uma parte em cada linha, com println ou somente print, já tentei fazer outro web service em um site diferente.
quando executa ele entra na condição de conectado, mais ele fala com minha pagina em php, porque mesmo que eu abra ela sem passar parâmetros ela muda os valores da minha tabela e isso não esta acontecendo.
Alguém tem alguma ideia do que posso fazer?????
//----------------------------------------------------------
#include <SPI.h>
#include <Ethernet.h>
//declarando Variaveis
long previousMillis = 0; // Variável de controle do tempo
long tempoInterval = 5000; // Intervalo entre atualizações no Banco
int quantidadeReles = 14; //quantidade de reles
int equipamento = 1; //definindo ID do equipamento
int aberto = 0; //estado do rele que aciona a conexao com o banco dados
//Definindo Reles
//rele01
const int rele1 = 3;
int estadorele1 = 0;
//rele02
const int rele2 = 2;
int estadorele2 = 0;
//rele03
const int rele3 = A0;//4
int estadorele3 = 0;
//rele04
const int rele4 = A1;//5
int estadorele4 = 0;
//rele05
const int rele5 = A2;//6
int estadorele5 = 0;
//rele06
const int rele6 = A3;//7
int estadorele6 = 0;
//rele07
const int rele7 = A5;//9
int estadorele7 = 0;
//rele08
const int rele8 = 4;
int estadorele8 = 0;
//rele9
const int rele9 = 5;
int estadorele9 = 0;
//rele10
const int rele10 = 6;
int estadorele10 = 0;
//rele11
const int rele11 = 7;
int estadorele11 = 0;
//rele12
const int rele12 = 8;
int estadorele12 = 0;
//rele13
const int rele13 = 9;
int estadorele13 = 0;
//declarando dados de rede
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
IPAddress ip(192, 168, 0, 99); // ip in lan
IPAddress gateway(192, 168, 0, 1); // internet access via router
IPAddress subnet(255,255,255,0); //subnet mask
//byte ip[] = { 192, 168, 0, 99 }; //Ip da Placa
//byte servidor[] = { 192, 168, 0, 29 }; //Endereço WebService local
const char servidor[] = "controlefull.000webhostapp.com";
int portaweb = 80;
EthernetClient client; //Tipo de Serviço a ser utilizado
void setup() {
definindoPortas(); //Função que define o tipo e numero de cada porta
iniciandoComunicacaoSerial(); //Inicializa Comunicação Monitor Serial
Ethernet.begin(mac, ip); //iniciando protocolo de rede
delay(3000); //Tempo de espera antes de começar os processos
} // fim do setup
void loop() {
atualizarStatus();
} // fim do loop
//Inicio das Funções
void atualizarStatus(){
unsigned long currentMillis = millis(); //Tempo atual em ms
//Lógica de verificação do tempo
if (currentMillis - previousMillis > tempoInterval) {
previousMillis = currentMillis; // Salva o tempo atual
informaPlacaAtiva();
}else{
//Para Não
}
//executa constantemente na Função
verificarPortas(); //Verifica se existe algum rele aberto
}
void informaPlacaAtiva(){
if (client.connect(servidor, portaweb)) {
Serial.println("conectado");
//manda informações para WebService
client.println("GET /login/statusplaca.php?equipamento=1&status=9 HTTP/1.0");
// client.print("equipamento=");
// client.print(equipamento);
// client.print("&status=");
// client.println("1");
client.stop();
Serial.println("Placa Ativa");
}else { //caso de erro ao se conectar
client.stop(); //Finaliza conexão
Serial.println("falha na conexao - informar placa ativa");
delay(5000); //Tempo de espera antes de tentar conectar novamente
}
}
void conexao(String i){
if (client.connect(servidor, portaweb)) {
Serial.println("conectado");
//manda informações para WebService
client.print("GET /login/salvardados.php?");
client.print("equipamento=");
client.print(equipamento);
client.print("&porta");
client.print("=");
client.print(i);
client.print("&status=");
client.println("0");
client.stop();
}else {//caso de erro ao se conectar
client.stop(); //Finaliza conexão
Serial.println("falha na conexao - informar placa ativa");
delay(5000); //Tempo de espera antes de tentar conectar novamente
}
}
void verificarPortas(){
int reles[quantidadeReles]; //Variavel com array contendo status de cada rele
String ri; //Armazena i como string
//Criando array e setando valores
reles[1] = digitalRead(rele1);
reles[2] = digitalRead(rele2);
reles[3] = digitalRead(rele3);
reles[4] = digitalRead(rele4);
reles[5] = digitalRead(rele5);
reles[6] = digitalRead(rele6);
reles[7] = digitalRead(rele1);
reles[8] = digitalRead(rele8);
reles[9] = digitalRead(rele9);
reles[10] = digitalRead(rele10);
reles[11] = digitalRead(rele11);
reles[12] = digitalRead(rele12);
reles[13] = digitalRead(rele13);
for (int i=1; i <= quantidadeReles; i++){
if(reles == aberto){
- ri = String(i); //variavel contendo valor de i como String*
- conexao(ri); //Chama função que atualiza status*
- }*
- }*
}
*void definindoPortas(){ *
- pinMode(rele1, INPUT);*
- pinMode(rele2, INPUT);*
- pinMode(rele3, INPUT);*
- pinMode(rele4, INPUT);*
- pinMode(rele5, INPUT);*
- pinMode(rele6, INPUT);*
- pinMode(rele7, INPUT);*
- pinMode(rele8, INPUT);*
- pinMode(rele9, INPUT);*
- pinMode(rele10, INPUT);*
- pinMode(rele11, INPUT);*
- pinMode(rele12, INPUT);*
- pinMode(rele13, INPUT);*
}
void iniciandoComunicacaoSerial(){