-
Notifications
You must be signed in to change notification settings - Fork 0
/
MySQL-and-DALLAS18b20
83 lines (65 loc) · 2.39 KB
/
MySQL-and-DALLAS18b20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
__ __ ___ ___ _ ___ ___ ___ ___ ____ ___
| \ \ _ _ / __]| . || | | __] | __]/ __]| . \[__ /[_ ]
| || | |\__ \| | || |_ | _] | _] \__ \| _/ [_ \ / /
|_|_|_| \ |[___/`___\|___| |___] |___][___/|_| [___/[___]
[__/
/*
Created in 04/05/2023.
*/
#include <WiFi.h>
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>
#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 4
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
IPAddress server_addr(85, 10, 205, 173); //endereço IP do servidor MySQL.
char user[] = "XXXXXXXXXXXXXXXX"; //nome do usuário do MySQL.
char password[] = "XXXXXXXXXXXXXXXX"; //senha do usuário do MySQL.
char ssid_wifi[] = "XXXXXXXXXXXXXXXX"; //nome da rede WiFi.
char senha_wifi[] = "XXXXXXXXXXXXXXXX."; //senha da rede WiFi.
//char INSERT_DATA[] = "INSERT INTO NOME_DO_BANCO_DE_DADOS.NOME_DA_TABELA (COLUNA1, COLUNA2) VALUES (%d,%s)";
char INSERT_DATA[] = "INSERT INTO dataBaseName.temperatura (ID_ESP, temperatura) VALUES (%d,%s)";
int id = 01;
WiFiClient client;
MySQL_Connection conn((Client *)&client);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid_wifi, senha_wifi);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Conectando ao Wi-Fi...");
}
// Start up the library
sensors.begin();
}
void loop() {
sensors.requestTemperatures(); // Send the command to get temperatures
DataSend(id, sensors.getTempCByIndex(0));
//delay(2000);
}
void DataSend(int id, float temp) {
char query[128];
char temperatura[10];
if (conn.connect(server_addr, 3306, user, password)) {
delay(1000);
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
// Guarda os dados.
dtostrf(temp, 1, 1, temperatura);
sprintf(query, INSERT_DATA, id, temperatura);
// Executa o query.
cur_mem->execute(query);
// Excluir o cursor e libera memória usada.
delete cur_mem;
Serial.println();
Serial.println("Dados registrados."); //
} else {
Serial.println();
Serial.println("Falha na conexão."); //
}
conn.close();
}