Estou  tentando fazer uma conexao com internet shields com o meu banco de dados que esta no Servidor HostGator mais nao é toda vez que  consigo conectar e quando conecta a mesma demora para conectar. Tambem nao fica conecta mais que uns 10 segundos, tenho que ficar verificando no loop.

Alguem pode me ajudar com uma solução?

Segue codigo abaixo

#include <SPI.h>
#include <Ethernet.h>
#include <sha1.h>
#include "mysql.h"

byte mac_addr[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
//IPAddress ip(192,168,1,88);
//IPAddress gateway(192,168,1,1);
//IPAddress subnet(255, 255, 255, 0);

IPAddress server_addr(216,172,161,25); //endereço do servidor do BD Estou utilizando o HostGator
char user[] = "usuariodobanco"; //usuário do BD
char password[] = "senhadobanco"; //senha do BD
Connector conexao;
String buf;
char query[128];
char caracter;

byte botao=3;
byte led=7;
byte estadoBotao=0;
byte sensor1=5;
byte sensor2=6;
byte sensor3=13;

byte ativoSensor=0;
byte estadoSensor1=0;
byte estadoSensor2=0;
byte estadoSensor3=0;

void setup() {
  pinMode(led,OUTPUT);
  pinMode(botao,INPUT);
  pinMode(sensor1,INPUT);
  pinMode(sensor2,INPUT);
  pinMode(sensor3,INPUT);
  Serial.begin(9600);
  Ethernet.begin(mac_addr);

  delay(500);
  Serial.println("Conectando ao servidor...");
  if(conexao.mysql_connect(server_addr,3306, user, password)){
  delay(500);
  Serial.println("A conectou");
  digitalWrite(led,HIGH);
}
else
Serial.println("A conexão falhou.");
}
void loop(){
Serial.println(conexao.is_connected());
if (conexao.is_connected() == 0) {
Connector conexao;
conexao.mysql_connect(server_addr, 3306, user, password);
delay(500);
}
estadoSensores();
estadoBotao=digitalRead(botao);
if(estadoBotao==HIGH){
// digitalWrite(led,HIGH);
grava_dados(1);
}else{
//digitalWrite(led,LOW);
}
delay(250);
}

void estadoSensores(){
estadoSensor1=digitalRead(sensor1);
estadoSensor2=digitalRead(sensor2);
estadoSensor3=digitalRead(sensor3);

if(estadoSensor1==HIGH){
grava_dados(1);
Serial.println("P");
}
if(estadoSensor2==HIGH){
grava_dados(2);
}
if(estadoSensor3==HIGH){
grava_dados(3);
}

}

void grava_dados(int i) {
byte x =i;

Serial.println(texto);
if (conexao.is_connected() == 1) {
Serial.println();
Serial.println("conectou ");
Serial.println("iniciando gravacao");
buf=texto;
Serial.println(buf);
buf.toCharArray(query, 128);
conexao.cmd_query(query);
Serial.println(" Dado gravado com sucesso!");
}
else{
Serial.println("A conexao falhou.-- D.G.D");

delay(500);
if(conexao.mysql_connect(server_addr,3306, user, password)){
delay(500);
if (conexao.is_connected() == 1) {
Serial.println("conectou novamente ");
grava_dados(x);
}
}


}
}

Exibições: 338

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço