Pessoal, realizei a conexão com o BD através da lib. em questão.
A conexão esta sendo realizada normalmente, porém, o valor de leitura (umidade e temperatura) esta salvando zero no BD.
No serial monitor a leitura é informada corretamente.
Obs: Estou utilizando o Ethernet Wiznet W5100 e sensor de temperatura e umidade DHT11
#include <Ethernet.h>
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>
#include "DHT.h"
#define DHTPIN A2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server_addr(xxx, xxx, x, xxx);
IPAddress ip(xxx, xxx, x, xxx);
IPAddress subnet(xxx, xxx, x, x);
char user[] = "meuusuario";
char password[] = "senha";
char INSERT_SQL[] = "INSERT INTO tcc.sensor (humidity, temperature) VALUES (humidity, temperature)";
EthernetClient client;
MySQL_Connection conn((Client *)&client);
void setup() {
Serial.begin(9600);
dht.begin();
while (!Serial);
}
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(humidity) || isnan(temperature) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" *C ");
Ethernet.begin(mac_addr, ip);
Serial.println("Connecting...");
if (conn.connect(server_addr, 3306, user, password)) {
delay(1000);
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
//sprintf(INSERT_SQL);
cur_mem->execute(INSERT_SQL);
delete cur_mem;
Serial.println("Data recorded.");
}
else
Serial.println("Connection failed.");
}
Tags:
As respostas para este tópico estão encerradas.
Funcionou?
Realizei as alterações conforme sugeriu.
Aparentemente esta funcionando agora :D
Muito obrigada pela dica!
Estarei testando outros sensores..
Depois dou um feedback do resultado.
Michele Honda
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por