Go Down

Topic: alarme incendie interconnécté !!SOS! (Read 1 time) previous topic - next topic

Yace

Mar 18, 2016, 12:05 am Last Edit: Apr 13, 2016, 07:27 pm by Yace
Bonsoir, J'ai un projet qui consiste à faire communiquer trois alarmes detecteur de fumée et envoyer leur niveau de batterie et l'alerte lorsqu'elle sonne tout cela sur un serveur. Ma tache est de prévenir l'utilisateur par sms au moin un fois par jour de l'état des alarmes et directement en cas d'alerte. Pour cela j'ai une Arduino UNO et un gprs gsm shield v2. j'arrive très bien à envoyer des sms mais maintenant je me retrouve bloquée je sais que l'arduino n'as pas de "notion du temps" et le deuxieme soucis et comment récuperer les informations du serveur sachant que l'arduino sera connécté en USB a la raspberry  j'ai un programme pas encore terminée qui ressemble à ça mais je le sens très mauvais pour tout vous dire...Si vous avez des idées ou des solutions je uis preneur. Je precise que c'est moi qui doit recuperer les informations du serveur qui sont mise à disposition.

Code: [Select]
#include <SoftwareSerial.h>
#include <String.h>
long Battery1 = random(100); // valeur au hasard pour programme test
long battery2 = random (100);// valeur au hasard pour programme test
long Battery3 = random (100);// valeur au hasard pour programme test
int serialAvailable;
SoftwareSerial gprsSerial (7,8);

void setup() {
  // put your setup code here, to run once:
 gprsSerial.begin(19200); // GPRS shield baud rate
  Serial.begin(19200);  
  delay(500);
}

void loop()
{
    int donneesALire = Serial.available(); //lecture du nombre de caractères disponibles dans le buffer
    if(donneesALire > 0) //si le buffer n'est pas vide
    {
      Sendsms();
        //Il y a des données, on les lit et on fait du traitement
    }
    //on a fini de traiter la réception ou il n'y a rien à lire
}


void Sendsms(){
    gprsSerial.print ("AT+CMGF= 1 \r"); // initialise Le mode ASCII
    delay(100);
    
    gprsSerial.println("AT+CMGS = \"0695765871\""); // destinataire du message
    delay(100);
// contenu du message
    gprsSerial.println("Niveau batterie 1: ");
  gprsSerial.println(Battery1); //the content of the message
   gprsSerial.println("niveau batterie 2: ");
    gprsSerial.println( battery2);
  gprsSerial.println("Niveau batterie 3:");
      gprsSerial.println(Battery3);
  delay(100);
  gprsSerial.print((char)26);//the ASCII code of the ctrl+z is 26 (required according to the datasheet)
  delay(100);
  gprsSerial.println();
delay(86400000);
}


Zorro_X

#1
Mar 18, 2016, 07:05 am Last Edit: Mar 18, 2016, 07:44 am by Zorro_X
le code c'est dans des balises [ code ] pas [ quote ]...
t'es bloquée pour quoi faire, pour envoyer un SMS par jour ?

infobarquee

bonjour,
vire ton numéro de tel en éditant ton message
AUCUNE AIDE PAR MP

Yace

Hello, désolé j'avais perdu mes identifiants, Eh bien pour ce qui est d'envoyer un message par jour je pense que le serveur va s'en charger ce qui me pose problème maintenant c'est plutot le moyen de recuperer les informations Le Serial.read() pourquoi par mais tout est envoyer en plusieur message avec un char du coup j'ai penser au Str[] etc... mais je ne comprend rien à celle ci. Du coup je voudrais recuperer trois variable envoyer dans la liaison serie et lancer le programme quand ces trois variables sont remplie, cependant pour faire ça il faut les récuperer. Ca fais beaucoup je ne sais pas si j'ai été clair...
Merci d'avance!

Zorro_X


Yace

disons qu'il va m'envoyer dans la liaison serie 4 valeur (exemple 54 , 28 , 32), comment les assigner à troise variable differentes je suis quasi sur de la fonction Serial.read()mais bon... Je me demandais aussi s'il ne pouvais directement m'nvoyer le message entier dans la liaison serie?

Artouste

disons qu'il va m'envoyer dans la liaison serie 4 valeur (exemple 54 , 28 , 32), comment les assigner à troise variable differentes je suis quasi sur de la fonction Serial.read()mais bon... Je me demandais aussi s'il ne pouvais directement m'nvoyer le message entier dans la liaison serie?
Bonsoir
tu n'es vraiment pas clair dans tes explications ! :smiley-cool:

Go Up