Mysql + Arduino, armazenando temperatura com lm35

Olá criei esse sketch simples para mostrar para um aluno como usar o Mysql junto ao arduino.

Com um Processador de timer separado pode ser configurado o tempo do pulso para salvar os dados de tempo em tempo.

Porem o clock do arduino suporta no máximo 30 segundos e ainda tem algumas variações, Porem como é apenas um exemplo vamos lá.

Primeiro de tudo baixe a biblioteca mysql connector no link abaixo:

https://launchpad.net/mysql-arduino

Descompacte o mysql conector e o sha1 na sua pasta de library.

Segue abaixo o sketch e os componenetes nescessarios:

#include "SPI.h"
#include "Ethernet.h"
#include "sha1.h"
#include "mysql.h"
/* Setup for Ethernet Library */
//Configuração dos sensores e leds
const int LM35 = A0;
float temperatura = 0;
int ADClido = 0;
const int LED[] = {2,3,4,5};


//Configuração Da ethernet
byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// the dns server ip
IPAddress dnServer(8, 8, 8, 8);
// the router's gateway address:
IPAddress gateway(192, 168, 0, 1);
// the subnet:
IPAddress subnet(255, 255, 255, 0);
//the IP address is dependent on your network
IPAddress ip(192, 168, 0, 65);
/* Setup for the Connector/Arduino */


//configuração MYSQL
Connector my_conn; // The Connector/Arduino reference
IPAddress server_addr(54,84,79,252); //Ip do servidor mysql separado por virgulas ","
char user[] = "Usuario"; //Usuario MYSQL
char password[] = "Senha"; //Senha MYSQL
char INSERT_DATA[] ="INSERT INTO DB.TABELA (CAMPO) VALUE ('%s')"; //Query de inserção de dados mysql DB= Banco de dados Tabela = Tabela onde vai ser inserido os dados CAMPO = Campo da tabela onde vão os dados.
char query[128]; //array query onde vai ser inserido os dados
char temperaturac[20]; //Array para conversao de dados int - char

/

void setup() {
//Creditos.
Serial.begin(9600);
Serial.println(" ");
Serial.println(" ======================================== ");
Serial.println(" = TEMPERATURA = ");
Serial.println(" = Mysql relatorio de temperatura = ");
Serial.println(" = Criado por: Rafael Henrique da Silva = ");
Serial.println(" ======================================== ");
//inicio do programa :D
analogReference(INTERNAL);
for(int x = 0; x < 4; x++){
pinMode(LED[x], OUTPUT);
}

//Atenção em caso de um servidor dhcp use a linha de baixo, em caso de nao haver um servidor dhcp use a primeira linha.

//Ethernet.begin(mac_addr, ip, dnServer, gateway, subnet);
Ethernet.begin(mac_addr);

delay(1000);

Serial.println("conectando");
if (my_conn.mysql_connect(server_addr, 3306, user, password)){
Serial.println("Conectado com sucesso");
digitalWrite(LED[0], HIGH);
} else {
Serial.println("Falha na conexão");
digitalWrite(LED[1], HIGH);

}
}
void loop() {
ADClido = analogRead(LM35);
temperatura = ADClido * 0.1075268817204301;
dtostrf(temperatura, 1, 1, temperaturac);
sprintf(query, INSERT_DATA, temperaturac);

Serial.print("dados inseridos "); Serial.print(temperaturac); Serial.println(" C");
my_conn.cmd_query(query);
for(int lx = 0; lx < 16; lx++){

digitalWrite(LED[2], HIGH);
delay(100);
digitalWrite(LED[2], LOW);
delay(100);
digitalWrite(LED[3], HIGH);
delay(100);
digitalWrite(LED[3], LOW);
delay(100);
}

delay (30000);

}

Exibições: 1132

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Rafael Silva em 9 novembro 2016 às 16:27
O ip do mysql e o mesmo da maquina que ele foi instalado, se for no seu computador e o ip dele
Comentário de samuel gregorio em 5 novembro 2016 às 9:12

Bom dia! como faço para encontrar o IPAddress server_addr(); no meu mysql? obrigado.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço