/*
Código demonstrativo para a aula de Bancos de Dados aplicados à Internet das Coisas,
Curso de Engenharia e Administração de Sistemas de Banco de Dados,
Faculdade de Tecnologia - UNICAMP.
// https://github.com/electric-sheep-co/arduino-redis/tree/master/examples
// https://redis.io/learn/howtos/quick-start/cheat-sheet
// https://github.com/electric-sheep-co/arduino-redis/blob/master/Redis.h
*/
#include <Redis.h>
#include <WiFi.h>
// Substitua seu_endereco pelo seu endereço do Banco REDIS
#define REDIS_ADDR "seu_endereco"
// Substitua sua_porta pela sua porta do Banco REDIS
#define REDIS_PORT sua_porta
// Substitua sua_senha pela sua senha do Banco REDIS
#define REDIS_PASSWORD "sua_senha"
WiFiClient redisConn;
char id_list[20] = "hwzz";
void setup() {
Serial.begin(115200);
Serial.println();
WiFi.begin("Wokwi-GUEST", "");
while (WiFi.status() != WL_CONNECTED) {
delay(250);
}
Serial.println("-----------------------------------------------");
Serial.print("Endereco IP: ");
Serial.println(WiFi.localIP());
Serial.println("-----------------------------------------------");
delay(1000);
}
void loop() {
char a0[5], a1[5], a2[5], a3[5];
sprintf(a0, "%d", analogRead(33));
sprintf(a1, "%d", analogRead(32));
sprintf(a2, "%d", analogRead(35));
sprintf(a3, "%d", analogRead(34));
if (!redisConn.connect(REDIS_ADDR, REDIS_PORT)) {
Serial.println("Falha de conexao com o servidor Redis!");
return;
}
Redis redis(redisConn);
auto connRet = redis.authenticate(REDIS_PASSWORD);
if (connRet == RedisSuccess) {
Serial.println("Conexao iniciada com o servidor Redis!");
} else {
Serial.printf("Falha de autenticacao com o servidor Redis (%d)\n", (int)connRet);
return;
}
int record = atoi(redis.get("List_Registro").c_str());
record++;
sprintf(id_list, "hwzz:%05d", record);
Serial.println();
Serial.print("LIST -> ");
Serial.println(id_list);
Serial.println("---------------------------------------");
char valor[3];
itoa(record, valor, 10);
redis.set("List_Registro", valor);
redis.rpush(id_list, a0, false);
Serial.print("A0: ");
Serial.println(a0);
redis.rpush(id_list, a1, false);
Serial.print("A1: ");
Serial.println(a1);
redis.rpush(id_list, a2, false);
Serial.print("A2: ");
Serial.println(a2);
redis.rpush(id_list, a3, false);
Serial.print("A3: ");
Serial.println(a3);
redisConn.stop();
Serial.println("Conexao encerrada com o servidor Redis!");
Serial.println();
delay(15000);
}