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);
}
}
}
}
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por