const int LEDROUGE = 49; // broche 53 du micro-contrôleur se nomme maintenant : LEDROUGE
const int LEDBLEU = 53; // broche 51 du micro-contrôleur se nomme maintenant : LEDBLEU
const int buzzer = 31;//broche 31 du micro-contrôleur se nomme maintenant : buzzer
int seuil = 600 ;
int delai = 1 ;
char date ;
char temps ;
char heure ;
char buf[256];
char buf2[256];
int hsol1; //Humidite su sol, mesure analogique
int hsol2; //Humidite su sol, mesure analogique
int hsol3; //Humidite su sol, mesure analogique
int hsol4; // Humidite sur sol, mesure analogique
int secheresse; //0 ou 1 si seuil atteint
int hum1;
int inond1;
int hum2;
int inond2;
int hum3;
int inond3;
int hum4;
int inond4;
// Ces deux bibliothèques sont indispensables pour le shield
// PARAMETRAGE DE CONNEXION A LA BASE DE DONNEES MYSQL
IPAddress server_addr(192, 168, 5, 20);
unsigned int Port=3306;
char user[] = "admin";
char password[] = "lomson4646";
boolean sqlconnect= true;
char sqlDbase[] = " USE sonde";
Connector my_conn; // The Connector/Arduino reference
void softwareReset( uint8_t prescaller) {
// start watchdog with the provided prescaller
wdt_enable( prescaller);
// wait for the prescaller time to expire
// without sending the reset signal by using
// the wdt_reset() method
while(1) {}
}
void setup() //fonction d'initialisation de la carte
{
Serial.begin(9600);
Serial.println("Demarrage de la sonde"); // Inscrit cette citation dans les logs
Ethernet.begin(mac_addr, ip_addr, dns_addr, gateway_addr, netmask);
Wire.begin();
// put your setup code here, to run once:
wdt_enable(WDTO_8S);
//contenu de l'initialisation
pinMode(LEDROUGE, OUTPUT); //LEDROUGE est une broche de sortie
pinMode(LEDBLEU, OUTPUT); //LEDVERTE est une broche de sortie
}
void loop()
//boucle principale
//*****************************************************************************************************
//SONDE
{
// Si la valeur hsol est plus petite que seuil alors on allume la led rouge et le buzzer
Serial.println ("Si hsol est infèrieur à seuil on allume la led et le buzzer"); // Inscrit cette citation dans les logs
hsol1 = analogRead(PinAnalogiqueHumidite); // Lit la tension analogique
Serial.print ("Valeur du capteur 1 : ");
Serial.println(hsol1);
hsol2 = analogRead(PinAnalogiqueHumidite2);
Serial.print ("Valeur du capteur 2 : "); // Lit la tension analogique
Serial.println(hsol2);
hsol3 = analogRead(PinAnalogiqueHumidite3); // Lit la tension analogique
Serial.print ("Valeur du capteur 3 : ");
Serial.println(hsol3);
hsol4 = analogRead(PinAnalogiqueHumidite4); // Lit la tension analogique
Serial.print ("Valeur du capteur 4 : ");
Serial.println(hsol4);
if (hsol1<seuil || hsol2<seuil || hsol3<seuil || hsol4<seuil)
// Si la valeur hsol1 est plus petite que seuil alors on allume la led et le buzzer
{
Serial.println ("Alerte inondation"); // Inscrit cette citation dans les logs
Serial.println ("Allumage de la LEDROUGE"); // Inscrit cette citation dans les logs
digitalWrite(LEDROUGE, HIGH);
}
else
{
Serial.println ("Extinction de la LEDROUGE"); // Inscrit cette citation dans les logs
digitalWrite(LEDROUGE, LOW);
}
Serial.println ("=-------------=");
Serial.println ();
// CLIGNOTEMENT LED BLEU
Serial.println("Allumage de la LEDBLEU"); // Inscrit cette ciation dans les logs
digitalWrite(LEDBLEU, HIGH);
delay(250);
Serial.println("Extinction de la LEDBLEU"); // Inscrit cette citation dans les logs
digitalWrite(LEDBLEU, LOW);
delay(250);
Serial.println ("=-------------=");
Serial.println ();
if (my_conn.mysql_connect(server_addr, 3306, user, password))
{
Serial.println("Connexion au serveur réussi");
Serial.print("Connexion à la base de données...");
Serial.println(sqlDbase);
//my_conn.cmd_query(sqlDbase) ;
Serial.println("Connexion à la base de données réussi");
Serial.println("Ecriture base de données dans table sonde1_inond...");
//sprintf(buf,"UPDATE sonde_inond SET capteur1='%s', capteur2='%s', capteur3='%s', capteur4='%s', temps=NOW() WHERE id=1;",hum1Str,inond1Str,hum2Str,inond2Str,hum3Str,inond3Str,hum4Str,inond4Str) ;
//my_conn.cmd_query(buf);
//Serial.println("Ecriture base de données dans table sonde1_inond_hist...");
//sprintf(buf2,"INSERT INTO sonde_inond_hist ( capteur1, capteur2, capteur3, capteur4, temps) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', NOW())",hum1Str,inond1Str,hum2Str,inond2Str,hum3Str,inond3Str,hum4Str,inond4Str,temps);
//my_conn.cmd_query(buf2);
my_conn.disconnect();
Serial.println("Deconnexion de la base...");
}
else
{
Serial.println("erreur de connexion");
}