Bonjour je m'appelle Simon, je souhaite avoir de l'aide pour mon projet ,
nous devons moi et mon groupe simuler un Mini Data center, l'en noncer est tel :
{
Problématique
On souhaite récupérer la quantité de chaleur pour chauffer des bureaux d'un local serveurs. On veut aussi
contrôler à distance la température ambiante et alerter par message le responsable en cas de température
maximale autorisé atteinte.
Fonctionnalités
L'administrateur réseau doit pouvoir être informé à distance de la température d'un local serveurs.
Un message d'alerte doit avertir un technicien de maintenance en cas de température limite.
Un système d'extraction et d'évacuation du flux de chaleur doit permettre de chauffer un local
distant.
}
Donc on est trois on a chaqu'un une partis, moi je m'occupe d'alerter le technicien de maintenant en cas de température limite, j'aimerais que quand le capteur de température détecte la température limite imaginons x° cela envoi un sms sur le téléphone de technicien et ensuite un email.
Mais j'arrive pas à trouver de solution pour coder un envois l'envoi d'un sms quand mon capteur LM35 détecte une température supérieur a 24°C
Voila toute aide sur la programmation, idée, conseil est la bienvenue ! Merci d'avance.
Merci mais ce système permet seulement de recevoir un sms sur demande moi je cherche a ce que quand le capteur de température atteint x° cela envoi un sms et (si possible) un email.. et je suis pas très fort en arduino..
Je ne comprend pas trop, si tu ne veux pas "taper" un peu dans l'Arduino, pourquoi venir quémander de l'aide ?
Les solutions toutes cuites existent rarement par rapport à un cahier des charge spécifique.
En gros on te donne des infos, tu décortiques et tu analyses.... (tu peux également poser des questions dans cette démarche) et ensuite tu composes.... et on sera là pour un coup de main, mais pas pour du tout cuit.
Et si possible car je ne c'est pas si avec arduino c'est possible, de faire un envoi d'email alerte.
avec arduino tout est possible! la seule limite c'est l'imagination! pour les alertes emails, l'ethernet shield reste quand même le mieux je pense...http://arduino.cc/en/Main/ArduinoEthernetShield
Bonjour Simon, je cherche à faire le même truc (du moins très similaire) On peut travailler en parallèle sur ce projet.
Je ne sais pas si tu à<as des équipements arduino?
J'ai un Ethenet shield monté sur un Duemilanove. L'exemple ''web temperature'' est un bon départ selon moi. Tu cliques sur le bouton et la température affiche à l'écran. Il faudrait juste ramasser les infos pour établir un seuil haut et un seuil bas pour l'envoie de email.
L'envoie de sms peux être simple selon le fournisseur, mais en gros ''ton_numeros_de_tel@ton_fournisseur'' ex: 8005559214@rogers.net envoie un email sous forme de sms sur un téléphone. Sinon il y a des serveurs qui peuvent le faire. Donc 2 email, un sur ton cell et un sur ta boîte courriel.
Peut-être commenceé avec le code du webserver et le modifier? Je vais l'afficher plus tard.
Pas de problème BTguillaume, on vas pouvoir s'entre aider, et non j'ai pas encore fait l'achat du matériel vue que je ne c'est pas encore exactement ce qu'il me faut, aussi merci à tous et non je ne cherche pas de réponse toute cuite, mais une grande aide vue que je suis pas super fort en arduino, mais je suis motiver, et sur tous obliger de le faire, mais cela m'intéresse beaucoup !
Aussi le mieux entre le capteur LM35 et le DS18B20 c'est le quelle ?
Pour introduire une variable quelqu'un peu me dire ou commencer. Le test serait avec l'exemple du site :
if (x > 120){
digitalWrite(LEDpin1, HIGH);
digitalWrite(LEDpin2, HIGH);
}
Si je comprend bien une valeur plus grand que 120 fera réagire la ledpin 1 et 2?
Il faut aussi mettre #define ledpin1 et 2.
EtherShield es=EtherShield();
// prepare the webpage by writing the data to the tcp send buffer
uint16_t print_webpage(uint8_t *buf);
int8_t analyse_cmd(char *str);
// get current temperature
#define TEMP_PIN 3
#define LEDpin 1
#define LEDpin 2
void getCurrentTemp( int *sign, int *whole, int *fract);
Maltar:
Pas de problème BTguillaume, on vas pouvoir s'entre aider, et non j'ai pas encore fait l'achat du matériel vue que je ne c'est pas encore exactement ce qu'il me faut, aussi merci à tous et non je ne cherche pas de réponse toute cuite, mais une grande aide vue que je suis pas super fort en arduino, mais je suis motiver, et sur tous obliger de le faire, mais cela m'intéresse beaucoup !
Aussi le mieux entre le capteur LM35 et le DS18B20 c'est le quelle ?
J'ai commencé avec un duemilanove et enc28j60.
le code affiche la température en pesant sur le bouton . Il faut un ds18b20 (1-wire) sur une entrée numérique (la 3) dans l'exemple.
Pour ma pars il faut pas que cela ce face via bouton, mais automatiquement, moi je doit seulment m'occuper de l'alerte, c'est à dire, quand il y a une température x°, un email et un sms sont envoyez ^^
Dans ce cas, tu gère une temporisation, pour prélever la température, toutes les 30 sec par exemple, et dans le cas où le seuil est dépassé, tu déclenches l'action souhaité (connexion a un socket serveur, envoi d'un signal sur une sortie du arduino, etc...)
J'ai fait ça rapidement au boulot, pour expliquer la gestion de timer et de flag de dépassement pour ne pas envoyer une alerte à tous les cycles, mais uniquement quant il ya dépassement du seuil.
Pour la gestion Eternet, tu trouveras de nombreux exemples et tutoriel expliquant comment se connecter à un socket serveur.
// Définir la constante 10 sec
#define TPS_ATTENTE 10000
// Définir le seuil de température à 25°
#define SEUIL_TEMP 25
// Définir la sortie qui déclenchera l'allumage d'une led
#define PIN_LED 13
// déclarer les variables de gestion de temps
long previousMillis = 0;
unsigned long currentMillis = 0;
float temperature;
bool seuil_depasse;
void setup()
{
// Démarrage du timer
currentMillis = millis();
previousMillis = currentMillis;
// Placer le flag de détection de dépassement de seuil à faux
seuil_depasse = false;
// Définir la PIN de sortie
pinMode(PIN_LED, OUTPUT);
}
void loop()
{
// Vérification de la temporisation
currentMillis = millis();
if(currentMillis - previousMillis > TPS_ATTENTE)
{
Serial.println("Releve de temperature");
// Code pour récupérer la valeur de température et la stocker en degrés dans la variable : temperature
if(seuil_depasse && temperature < SEUIL_TEMP)
{
// Etteindre la LED
digitalWrite(PIN_LED, LOW);
// Remettre le flag de seuil dépassé à faux
seuil_depasse = false;
}
else if( !seuil_depasse && temperature >= SEUIL_TEMP)
{
// Allumer la LED
digitalWrite(PIN_LED, HIGH);
// mettre le flag de seuil dépassé à vrai
seuil_depasse = true;
// Mettre ici le code de connexion à un socket pour envoyer une trame d'alerte
// Afin que le serveur recevant cette trame, s'occupe d'envoyer un mail ou un SMS
}
}
}