Arduino Forum

International => Français => Réalisations et Projets Finis => Topic started by: matth122 on May 03, 2015, 02:52 pm

Title: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on May 03, 2015, 02:52 pm
Bonjour,
Apres avoir cherché et encore cherché je n'ai pas ou peu trouvé de projet similaire
Du coup je me suis lancé et j'y suis arrivé malgré mes faibles voire inexistantes compétences dans ce domaine.  

Voici donc  mon projet fini de transmetteur d'alarme téléphonique.( fini bien que pouvant surement être améliorée. )

Matériel utilisé.
Un ARDUINO UNO
Un shield MP3 de chez SPARKFUN
Un shield GSM de chez TINYSINE

Le shield MP3 est couplé sur l'Arduino mais le shield GSM dois être séparé a cause d'incompatibilités des pins

De  1 à 5 entrée d'alarme possible.
Possibilité d'appeler plusieurs numéro de téléphone l'un après l'autre.( ici programmé a 4)

Une fois l' arduino branché  et le réseau gsm "accroché" le transmetteur est prêt à être utilisé

Shuntez une entrée et vous recevrez un appel avec un message vocal correspondant à l'entrée sélectionnée.

il ne vous restera plus qu'a créer les messages vocaux et les enregistrer sur la carte SD au format MP3.



Voici le code


Code: [Select]

/*
.................Sketch d'un transmetteur d'alarme.............................
4 commandes d'entrée déclenchent un appel téléphonique,
lorsque la communication est établie on active le fichier mp3 correspondant
a l'entrée activée, puis un compteur est activé affin d'appeler 4 numéros différents a la suite  
dans ce sketch, toutes les pins de l'Arduino uno sont utilisée il ne reste qu'une entrée analog de libre  
qui peut être ajoutée comme entrée d'alarme supplémentairement,  comme sortie led ou alarme sonore.
CRÉE PAR MATTH122

*/

#define DEBUG
#include <SoftwareSerial.h>
SoftwareSerial SIM900(5, 10);

///////////////////////// INTEGRATION SHIELD AUDIO///////////////
#include <SPI.h> //bus SPI
#include <SdFat.h> //SD card
#include <SdFatUtil.h> //SD card tools
#include <SFEMP3Shield.h> //shield library
SFEMP3Shield MP3player; //player
SdFat sd; //card

////////////////DECLARATION DES VARIABLES//////////////////

const int nbcall = 4 //METTRE LE NOMBRE DE NUMERO A APPELER
const int volume = 40 // VOLUME DE LECTURE PLUS LE CHIFFRE EST HAUT MOINS LE SOND EST FORT

 const int Bouton1 = A0;  //plus de pin digital libre on utilise les analog
 const int Bouton2 = A1;  
 const int Bouton3 = A2;  
 const int Bouton4 = A3;
  boolean etatBouton1 = 0;
  boolean etatBouton2 = 0;
  boolean etatBouton3 = 0;
  boolean etatBouton4 = 0;

int appel = 1; // le nombre sera incremente pour appeler les numeros suivant

void setup() {
  Serial.begin(19200);
  delay(300);
  SIM900.begin(19200);
  delay(300);
  Serial.println("DEBUTS DU SETUP");

  pinMode(Bouton1, INPUT);
  
  /////////////////SETUP PLAYER//////////////////////
  sd.begin(SD_SEL, SPI_HALF_SPEED)//start card
  MP3player.begin(); //start player
  MP3player.setVolume(volume, volume);

//////////////////// ALLUMAGE SHIELD GSM ET ATTENTE CONNECTION AU RESEAU GSM ///////////////////
  SIM900power();
  while( (envoyer_Commande_AT("AT+CREG?", "+CREG: 5", 5000) ||
          envoyer_Commande_AT("AT+CREG?", "+CREG: 1,5", 5000) == 0 ); // ENVOIE DE LA COMMANDE AT TANT QUE 5 OU 1,5 N'EST PAS RECU
          Serial.println("FIN DU SETUP");
 }

////////////////////COMMANDE ALLUMAGE SHIELD GSM /////////////////////
void SIM900power()
{
 digitalWrite(A5, HIGH);
 delay(1000);
 digitalWrite(A5, LOW);
}
///////////////LECTURE MP3 SUIVANT APPUIS BOUTON////////////////////
void PLAYMP3()
{
    if (etatBouton1 == 1)
  {
    MP3player.playTrack(1);
    Serial.println("track 1"); // LIGNE DE CONTROLE
    delay(9000); // ATTEND 9 SECONDES
    SIM900.println("ATH");   // MET FIN A LA COMMUNICATON
    delay(500);
    Serial.println("communication terminee"); // LIGNE DE CONTROLE
    appel ++ ;  // INCREMENTE DE 1 LA VALEUR DE -APPEL- POUR PASSER AU NUMERO SUIVANT
    delay(500);
  }
    if (etatBouton2 == 1)
  {
    MP3player.playTrack(2);
    Serial.println("track 2");
    delay(9000);
    SIM900.println("ATH");  
    delay(9000);
    Serial.println("communication terminee");
    appel ++ ;
  }
    if (etatBouton3 == 1)
  {
    MP3player.playTrack(1);
    Serial.println("track 3");
    delay(10000);
    SIM900.println("ATH");  
    delay(10000);
    Serial.println("communication terminee");
    appel ++;  
  }
    if (etatBouton4 == 1)
  {
    MP3player.playTrack(1);
    Serial.println("track 4");
    delay(10000);
    SIM900.println("ATH");
    delay(10000);
    Serial.println("communication terminee");
    appel ++ ;
  }
}


////////////////SAVOIR SI LE TELEPHONE A ETE DECROCHE ////////////////
void decroche()
{
   while(envoyer_Commande_AT("AT+CLCC?", "+CLCC: 1,0,0,0,0", 5000))== 0)
      Serial.println("appel en cours");
      delay(500);
   if (envoyer_Commande_AT("AT+CLCC?", "OK", 1000) == 1)
    {
      Serial.println(" telephone decroche");
      PLAYMP3();
    }
}


////////////////////// EFFECTUER LES APPEL + COMPTAGE//////////////////
void affiche(int valeur_recue)
{
     if(valeur_recue = 1)
    {
      Serial.println("valeur 1"); // LIGNE DE CONTROLE
      Serial.println("appel en cours");
      SIM900.println("ATD + +33XXXXXXXX;"); // REMPLACER LES X PAR LE NUMERO DE TELEPHONE DU DESTINATAIRE
      delay(2000);
      decroche();
        
    }
    if(valeur_recue = 2)
    {
       Serial.println("valeur 2");
       Serial.println("appel en cours");
       SIM900.println("ATD + +33XXXXXXXX;");
      
       delay(2000);
        decroche();
    }
    if(valeur_recue = 3)
    {
        Serial.println("valeur 3");
        Serial.println("appel en cours");
        SIM900.println("ATD + +33XXXXXXXXX;");
        delay(2000);
        decroche();
    }
    if(valeur_recue = 4)
    {
        Serial.println("valeur 4");
        Serial.println("appel en cours");
        SIM900.println("ATD + +33XXXXXXXXX;");
        delay(2000);
        decroche();
        appel = 1; // REINITIALISE APPEL A 1
    }
}
 
//////////////////////fin /////////////////////////

void loop()

{
    etatBouton1 = digitalRead(Bouton1);
    etatBouton2 = digitalRead(Bouton2);
    etatBouton3 = digitalRead(Bouton3);
    etatBouton4 = digitalRead(Bouton4);
  if(etatBouton1 == 1 || etatBouton2 == 1  || etatBouton3 == 1 || etatBouton4 == 1)
     {
    Serial.println("BOUTON APPUYE"); //LIGNE DE CONTROLE
    affiche(appel);  // EFFECTUE LE PREMIER APPEL SELON LE COMPTEUR
    }
}  
  

//////////////////////// MISE EN MEMOIRE COMMANDE AT///////////////////////////////////
uint8_t envoyer_Commande_AT(char* commande_AT, char* reponse_Esperee, unsigned int timeout)
{

  uint8_t x = 0,  answer = 0;
  char reponse[100];
  unsigned long previous;

  // Initialisation de la chaine de caractère (string).
  memset(reponse, '\0', 100);

  delay(100);

  // Initialisation du tampon d'entrée (input buffer).
  while ( SIM900.available() > 0)
  {
    SIM900.read();
  }
  // Envoi de la commande AT.
   SIM900.println(commande_AT);

  // Réponse du SIM900.
  // Cette boucle vérifie s'il y a des données disponibles dans le tampon.
  // Ces données sont comparées avec la réponse attendue.

  x = 0;
  previous = millis();

  do
  {
    if (SIM900.available() != 0)
    {
      reponse[x] = SIM900.read();
      x++;
      // Comparaison des données
      if (strstr(reponse, reponse_Esperee) != NULL)
      {
        answer = 1;
      }
    }
  } while ((answer == 0) && ((millis() - previous) < timeout));
  
   #ifdef DEBUG
   Serial.println(reponse);
   #endif
  return answer;

}





Voila si ce projet peut être utile à d'autre...
 
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2
Post by: matth122 on Jul 06, 2015, 07:44 pm
Bonjour,

Après m'avoir bien servi dans sa fonction de transmetteur GSM, sur le quel j'ai ajouté un récepteur 433Mhz avec un décodeur pour être utilisé avec des détecteurs d'ouverture de porte sans fil,

Mon montage passe maintenant à la version 2 et ce voit ajouté un écran lcd 16X2 et un clavier 4X4

Je souhaitais pouvoir entrer les numéros de téléphone via un clavier et faire la sélection de deux mode de fonctionnement:
soit effectuer un appel vocal soit envoyer un sms.

C'est maintenant chose faite puisque après de longues heures de recherche et de programmation mon transmetteur GSM fonctionne comme je le souhaite. j'aurais souhaité que l'on puisse stopper les appels grâce au dtmf mais mon shield GSM ne fait pas le décodage peut être dans une prochaine version

Le fonctionnement reste le même que la version 1, avec en plus 
on entre via un menu le numéro de téléphone de la, ou des personnes à prévenir en cas d'alarme,
puis on choisi le mode d'appel soit appel vocal soit envoie de SMS
pour le moment le type de message SMS est unique je n'ai pas fait de sélection en fonction de l'entrée
contrairement au mode vocal ou chaque entrée diffusent un message vocal préenregistré différent.

Pour le matériel on garde le même sauf l'arduino uno qui deviens mega 2560

Le shield mp3 sparkfun nest pas compatible avec la mega  le bus spi n'étant pas au même endroit que sur la uno. Faite le câblage en conséquence.


Attention cependant les numéros ne sont pas enregistré dans l'eeprom donc en cas de coupure électrique tout s'efface.

Edit:
ça fait longtemps que je suis pas revenu ici
je me suis en peut remis su le programme et voila

j'ajoute de la version 2.1

pas de nouveauté un simple remaniement du menu ..

note-1 : l'affichage correspond a mon clavier qui possède des flèches, haut, bas et droite, gauche.
adaptez le programme en fonction de vos besoin
note-2: j'ai désactivé l'initialisation de la carte mp3 et la demande de connections gsm pour pouvoir utiliser le programme avec seulement le clavier et l'afficheur lcd .

Si mon programme vous a été utile et si vous l'avez modifié peut être pourriez vous le partager ici.  Merci


Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Jul 26, 2015, 01:11 pm
Bonjour,
je trouve votre projet excellent et je pense que je vais le réaliser pour permettre un report en cas d'alarme intrusion. Il ne me reste plus qu'à trouver un moyen de l'alimenter à partir d'une alimentation secourue et ça devrait rouler.
L'idée de rajouter un clavier pour permettre à l'utilisateur de modifier les numéro ou autre est pas mal quel type d'écran et de clavier avez-vous choisi ? Un écran tactile pourrait être une idée intéressante mais il faut voir le coût et la conso.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Jul 29, 2015, 08:48 am
J'ai utilise un simple écran lcd 16 x2
Quand au clavier j'en ai récupéré un sur une ancienne centrale de contrôle d'accès mais un simple clavier 16 touches peut faire l'affaire c'est programmé en tant que tel.
Pour mettre un écran tactile ça doit être faisable mais je me suis pas penche dessus, par contre il faut refaire tout le code sur la partie ecran\clavier.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Jul 29, 2015, 09:59 pm
Bonsoir,
j'ai 2 questions
Est-Ce possible d'utiliser un autre shield que celui de Spatkfun pour la lecture MP3 ?

 j'ai un Shield qui prend en charge le DTMF, si j'ai bien compris, peut-on si on le souhaite, interagir avec l'arduino dans le but d'interrompre les appels ou encore de faire une mise en/hors service (par exemple)?
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Jul 29, 2015, 11:24 pm
Oui c'est possible de mettre un autre shield que sparkfun, il faudra enlever dans le code tout ce qui le concerne et le remplacer par les codes du nouveau shield.
Dans mon projet j'avais l'intention de faire le decodage dtmf pour interrompre les appels lors de la réception. Si je suis le premier a recevoir un appel et que je peux intervenir pas besoin au transmetteur d 'appeller les autres numéros. Mais mon shield n'étant pas compatible avec le décodage j'ai laisse tombé. Pour le décodage il faut que le transmetteur appel on lui envoie l'information en appuyant sur une touche et on programme la réception pour une action voulu (ici on veux interrompre l'appel) pour mettre en\hors service il faut appelez le transmetteur c'est, je pense faisable, mais j'en vois pas l'intérêt
Il y a toujours la possibilité d'agir avec le transmetteur en lui envoyant des sms et il réagira en fonction du texte envoyé.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Jul 30, 2015, 01:03 pm
Et comment avez-vous fais pourl'alimentation?  (Surtout en cas de coupure )
J'ai pensé à prendre une alimentation 12v secourue avec un régulateur mais je me demande s'il n'y a pas plus simple.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Jul 30, 2015, 03:03 pm
Pour l'alimentation pour le moment j'ai encore rien fait a l'heure actuel je tourne toujours sur la version 1, j'ai juste mis un simple bloc alime 9v ( je men sert pour le boulot pour surveiller une porte)
La version 2  est en stand by pour le moment j'ai plus trop de temps (j'attends les vacances),
Je compte pour l'alimenter mettre une petite alime secourue sur batterie avec sortie régulée 5v pour tout alimenter .
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Aug 02, 2015, 09:28 am
Bonjour,
J'attends de recevoir le matériel et je vous dirai quand j'aurai tout mis en fonction. Par contre la version 1 du code comporte quelques erreurs de parenthèses/point-virgule (sans doute des copier/coller).
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Aug 02, 2015, 12:54 pm
Oui je sais pour les erreurs j'ai pas trop eu le temps de corriger, du coup , ca fait un peut réfléchir  contrairement à un programme "clé en main"  ... ;-)
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Aug 04, 2015, 02:42 pm
Bonjour,
Je me pose des questions depuis un petit moment mais je ne trouve pas de réponse très convaincante :
- quelle est la différence entre le mode PDU et texte pour les SMS ? a quoi les différencie-t-on ? je sais qu'un est en ASCII et que l'autre est vieux...

Ensuite peut-on utiliser les mode appel et SMS en même temps avec le SIM900 ?
(les appels pour prévenir d'une alarme, les SMS pour envoyer un ordre au module).

Merci par avance.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Aug 04, 2015, 10:18 pm
Je n'ai aucune idée de ce qu'es le mode PDU, je ne vais pas pouvoir t'aider la dessus.
Quand tu dis "mode appel et sms en même temps" veux tu entendre par la que pendant que le module appel et, est donc en communication, tu lui envoie un sms ?
Si c'est le cas j'ignore si le sim900 peut le gérer mais l'arduino j'en doute,  (a confirmer par un expert de la chose en tout cas ....)
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Aug 05, 2015, 09:10 am
je me suis mal exprimé, en faite ce que je veux c'est envoyer un SMS pour donner des ordres à l'arduino, c'est le seul cas ou je veux utiliser les SMS. Les appels ne me serviront que pour signaler une alarme et l'acquitter. Après si j'ai posé la question pour les modes "texte" et "PDU" c'est parce que j'ai vu qu'on peut passer le SIM900 en mode texte pour facilité l'utilisation des SMS.

Edit : Une petite chose (encore...) pourquoi avoir mis "SoftwareSerial SIM900(5, 10);" qui définie l'utilisation du port 5 et 10 (si j'ai bien compris) alors que par défaut, des ports sont déjà prédéfini ?
Pour ma part j'utilise ce shield (http://sandboxelectronics.com/?product=dtmf-enabled-sim900-gprsgsm-shield) est-ce-que j'ai possibilité de forcé l'allumage du shield (sans passer par le bouton power tout en gardant le fonctionnement des leds ?  j'ai vu que pour allumer il faut mettre D8 sur "on" mais je me demande s'il n'y a pas de commande prédéfinie.
Merci pour ton aide.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Aug 05, 2015, 10:33 pm
bonsoir,

Envoyer un sms et faire réagir l'arduino en fonction du texte reçu, il existe plein de tuto qui expliquent comment faire ça devrais pas être trop compliqué.

j'ai mis les ports 5 et 10 (sur la version 1) car c'etait les deux dernier port de disponibles le shield mp3 étant gourmand en ports ,
j'aurais pus attribuer les 0 et 1 mais je voulais garder la main sur la connexion USB, c'est a toi de choisir en fonction des ports de disponible.
pour allumer ton shield tu peux utiliser la broche D8 (le shield mp3 de sparkfun utilise la Broche 8 donc faut en prendre une autre sur l'arduino)  il faut la mettre sur on quelque secondes et la remettre sur off

ceci le fait dans mon programme

void SIM900power()
{
 digitalWrite(A5, HIGH);  // ici la sortie A5 active le shield gsm
 delay(1000);
 digitalWrite(A5, LOW);
}

chez moi par contre si le shield est déjà allumé et qu'on fait un reset par exemple ça l'éteins il faudrait mettre une condition d'exécution du void SIM900power que si le shield est éteins

pour ce qui est de ton shield gsm il est marqué qu'il fait DTMF mais ils ne disent pas que c'est en réception (ou alors j'ai mal compris) en tout cas s'il décode le dtmf il m'intéresse 

de rien pour l'aide n'hésite pas si tu a besoin d'une explication sur le programme ou autre .
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Aug 06, 2015, 08:22 am
Merci pour ta réponse, je vais tester le DTMF et je te dirai. Pour le moment je n'ai rien reçu j'attends...
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Aug 06, 2015, 09:36 am
Est-ce que c'est possible ou risqué de superposer les 2 shields sur l'arduino ?
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Aug 06, 2015, 05:14 pm
Si tu veux mettre les deux shield (mp3 et gsm ) sur l'arduino il n'y a aucun risque, mais ça risque de pas fonctionner car ils utilisent les même pin pour des fonctions différentes.
Vérifie dans les datasheets les broches utilisee par le shield mp3 et celle du gsm
Il me semble que tu peux si tu utilise en rx et tx les broches 0 et 1 mais le gsm ayant besoin de la broche 8 pour être allumé (broche utilisée par le shield mp3) tu peux couper la broche du gsm et tu soude un fil pour le mettre ailleur, et tu devra retirer le shield gsm a chaque fois que tu branche l'arduino sur le pc (les pins 0 et 1 servant a la communication usb )
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Aug 06, 2015, 06:06 pm
ok merci, il vaut mieux que je sépare un des shield alors.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: amel01 on Aug 20, 2015, 11:02 am
Bonjour , est il possible de nous envoyer les connexions des deux shields avec l'arduino?
mercii
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Aug 20, 2015, 08:24 pm
Bonjour , est il possible de nous envoyer les connexions des deux shields avec l'arduino?
mercii
Ça dépend de quel version du programme, ce n'est pas le même arduino ... Et les branchement
ne sont pas les mêmes

En lisant le fil de la discutions et en regardant le programme tu dravrais trouver facilement les branchements pour faire fonctionner le tout.

Après si tu as des soucis expose ton problème et j'essayerais de t'aider

Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: tuto92 on Aug 28, 2015, 04:14 pm
Bonjour à tous,

je suis débutant dans le monde Arduino. En fait, je suis en train de développer une application qui permet d'émettre un appel vocal de la carte Arduino UNO. Une fois le destinataire de l'appel accroche le téléphone, il doit entendre un fichier MP3.
Le problème est que le fichier MP3 ne peut pas être entendu clairement. Le destinataire ne peut entendre que du bruit. Je pense que le problème est dû au fait que le fichier MP3 doit subir une conversion analogique numérique puis une conversion numérique analogique pour enfin être bien entendu de la part du destinataire.
J'utilise comme matériel: une carte Arduino UNO, un shield Sparkfun MP3, un shield GSM arduino M10.
J'ai effectué les connexions nécessaires entre ces trois composants, le Sparkfun est lié directement à la carte Arduino et le shield GSM est connecté au sparkfun par les fils.
J'ai lié la pin 8 du sparkfun à la pin M1P du shield GSM.
J'ai besoin de savoir si la conversion analogique numérique d'un fichier MP3 est possible ou non. Pouvez-vous m'aider à résoudre mon problème. J'ai vraiment besoin de votre aide.

Merci.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Aug 28, 2015, 11:26 pm
Pas besoins de convertir le mp3 tu le met tel quel sur la carte sd .. Attention il faut renommer ton fichier mp3 pour que ça fonctionne avec mes sketch track001.mp3 pour la piste 1 track002.mp3 pour la 2 etc ....
  Pense a la formater en fat
Plus d'information ici
https://learn.sparkfun.com/tutorials/mp3-player-shield-hookup


Pour vérifier que ça fonctionne met déjà un casque ou un petit hp sur la prise Jack du shield mp3 si ta du sond c'est que ça fonctionne raccorde simplement le jack du mp3 au jack micro du shield gsm et normalement la personne qui décroche devrais entre dire la diffusion du mp3 ..
Pour faire mes test au début j'ai mis un mp3 de musique

Pourquoi avoir relié la pin 8 (reset) du shield mp3 sur le shield gsm ??
Il aurais falut raccorder les bornes libre à côté de la prise Jack sur le shield gsm

Regarde bien le lien que je t'ai donné il te donnera toutes les infos sur le shield mp3
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: amel01 on Sep 07, 2015, 11:55 am
Bonjour ,
J'ai pu écouter des notes avec voice call mais le shield que j'ai n'est pas sim900 , un autre pour arduino d'ou j'ai pas pu utilisé (sim900.read ) d'ailleur ça donne quelque chose cryptée .
la lecture mp3 fonctionne et l'appel s'effectue avec les notes !
Comment je peux faire les deux je veux juste lors de l'appel il y a ecoute de fichier mp3 en telephone
j'ai besoin d'aide urgeeeeeeente s'il vous plait :(
merciiiiiiiiii
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 07, 2015, 06:40 pm
j'ai besoin d'aide urgeeeeeeente s'il vous plait :(
merciiiiiiiiii
on veux bien aidé mais il faudrait un peut plus d'information .
quel est le matériel utilisé
comment est t'il branché
quel sketch est utilisé si c'est le mien d'origine ou si des modification on été faite si le shield gsm n'a pas de sim 900 je suis pas sur que mon sketch fonctionne !!
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 08, 2015, 07:55 pm
Bonsoir a tous,
me revoilà après un petit moment mais boulot oblige...
En faite, j'ai enfin tous reçu, mais pas moyen de faire fonctionner mon GSM avec les sketchs qui m'ont été fournit. (petit rappel : http://sandboxelectronics.com/?product=dtmf-enabled-sim900-gprsgsm-shield)
j'ai beau le mettre directement sur mon arduino ou le cabler, rien a faire. la LED network clignote très rapidement donc pas de réseau.
j'ai réussi a lire le numéro IMEI du shield avec le programme qui correspond mais pas moyen de faire autre chose. il y a quelque chose qui m'inquiète quand même c'est pour le changement de frequence (correspondant a EUROPE USA...) pas moyen de la changer. le prog me dit que c'est fait mais lorsque je relie une nouvelle fois pour voir si mon changement est ok, le prog me dit "erreur".
Si quelqu'un à une idée ?
cela fait un petit moment que je cherche.
merci à vous.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 09, 2015, 12:39 pm
Moacc95 ...

Question bête pour commencer la sim est bien mise ? Et as tu enlever le code pin de la sim, commencer tous les test sans le code, en mettre un après si besoin !

Logiquement si on met juste l'alimentation et une sim valide ça devrais suffire pour accrocher le réseau.
Des fois une mauvaise couverture peut suffire, j'ai aussi lu quelque part que certain avais résolu leur problème juste en chantant l'antenne, après avoir galerer à mettre le firmeware du shield gsm à jour

Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: tuto92 on Sep 10, 2015, 12:29 pm
Bonjour à tous,
au fait, comme je vous ai déjà parlé, je suis en train de développer une application qui permet d'émettre un appel vocal de la carte Arduino UNO. Une fois le destinataire de l'appel accroche le téléphone, il doit entendre un fichier MP3.
Le matériel utilisé est: une carte Arduino UNO, un shield sparkfun MP3, un shield GSM arduino M10.
Malheureusement, le code que vous avez présenté n'est pas supporté par le shield GSM, il ne peut être supporté que par la SIM900.
J'ai réussi à faire fonctionner le MP3 à part et l'appel vocal à part.
J'ai réussi aussi à connecter un micro vers le gsm, dans ce cas la voix est transmise au cours de l'appel.
Le problème est que le MP3 ne peut pas être entendu lors du décrochement de l'appel mais j'arrive pas à savoir si le problème intervient du code

" if(vcs.voiceCall(remoteNumber))
        { Serial.println("Call Established. Enter line to end");
      MP3player.playTrack(1); 
 delay(5000);
   // Wait for some input from the line
          while(Serial.read()!='\n' && (vcs.getvoiceCallStatus()==TALKING));         
          // And hang up
          vcs.hangCall();
            Serial.println("daccroche");
        }
"

ou d'un manque des liaisons hard.(voir figure de liaison)

https://scontent-mrs1-1.xx.fbcdn.net/hphotos-xta1/v/t34.0-12/11998552_901574626563950_152136791_n.jpg?oh=c9be027e53380038cc72e502558040eb&oe=55F2CC0F

https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-xtf1/v/t34.0-12/11999994_901307483257331_155008139_n.jpg?oh=ebbe4cc52341062c2d38a54545a2d13d&oe=55F3C88D&__gda__=1442052304_6d0993e9c04887d64088a2da05b16135

La connexion micro avec shield GSM est:
J'ai connecté la masse avec M1N et la sortie data avec M1P.



J'ai vraiment besoin de votre aide urgente.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 10, 2015, 05:44 pm
Bonjour,
Finalement je suis arrivée à faire fonctionner mon shield en mettant une alim sur l'arduino. Les ports USB du PC doivent être un peu faibles.
J'ai ensuite chargé un des programme par defaut (celui qui permet de regler la fréquence) et niquel ensuite.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 10, 2015, 06:48 pm
si les deux montage marchent séparément en les mixant ça devrais fonctionner.
 
je vois mal sur les photos peux tu me confirmer les branchement de RX et TX du gsm  sachant que tu n'as que les broches 3,4,(a condition que les straps ne soit pas en place)  5, et 10 de dispo
 ne pas utiliser la broche 2 ça rentre en conflit

La connexion micro avec shield GSM est:
J'ai connecté la masse avec M1N et la sortie data avec M1P.
Qu'est ce que tu appel la sortie data ?

sur la carte mp3 de sparkfun a droite de la ou tu met la sd card tu a une prise jack pour mettre éventuellement un casque, et encore a droite trois trous pour souder directement des fil  pour la sortie du son, c'est la dessus que tu dois souder tes fils et les mettrent sur l'entrée micro du shield m10. soit m1p et m1n
par contre je ne sais pas le quel des deux est la masse, a vérifier au testeur je pense c'est plus sur 

et comme pour moacc95 vérifie que ton alime du pc est assez puissante pour le shield gsm


@Moacc95  cool tu as trouvé, perso sur mon pc portable ça marche très bien sans alime externe   
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 10, 2015, 07:55 pm
je reviens vers vous car je sèche...
mon shield fonctionne bien s'il est sur l'arduino mais pas lorsque je le déporte (sans doute un pb de cablage). Je voudrais savoir qu'elle doivent-être les branchement indispensable pour faire fonctionner mes shield (hormis l'alim  :) ) parce que du coup je suis incapable de faire tourner le prog du tranmetteur.
Merci à vous.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 10, 2015, 09:24 pm
je reviens vers vous car je sèche...
mon shield fonctionne bien s'il est sur l'arduino mais pas lorsque je le déporte (sans doute un pb de cablage).
De quel shield tu parle , le mp3 ou le gsm
Pour le gsm une alime, les deux fils RX et TX et un fil sur la broche 8(du gsm) pour l'allumer devrais suffir.

Ne sachant pas ce que tu utilise comme shield mp3 je ne peux pas t'aider plus .
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 11, 2015, 05:36 pm
le shield de sparkfun
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 11, 2015, 06:31 pm
tu trouvera toutes les infos sur le shield ici https://learn.sparkfun.com/tutorials/mp3-player-shield-hookup

Les broches a utilisé sont 2,6,7,8,9,11,12,13  sans oublier l'alime GND et +5v
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 12, 2015, 08:22 am
Bonjour merci pour les réponses.
Pour info mon shield prend bien en charge le DTMF.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 12, 2015, 09:02 am
De rien .
Tu a utilisé quel sketch pour tester le dtmf ?
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 12, 2015, 11:08 am
Voilà,
je t'ai mis le script. Assures toi bien d'avoir la librairie GSMSHIELD.

http://www.upsilonaudio.com/arduino/sim900-sim908-bibliotheque-arduino/partie-4-gestion-appels/
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 17, 2015, 05:40 pm
Salut,
j'ai réussi à faire fonctionner le programme (pas le shield MP3 pour le moment car pas besoin). Maintenant je cherche à utiliser le DTMF mais j'avoue que je ne comprends pas trop le prog de base pour le réadapter.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 19, 2015, 11:43 am
Mon shield n'étant pas compatible je ne me suis pas penché sur la question !

le sketche donné plus haut ne fonctionne pas,( je l'avais déjà essayé en fait ).
 
il faut faire attention car les librairies du gsm et du mp3 ne sont pas compatibles entre elle, (il y a surement une modification a faire, mais j'ai pas trouvé), c'est pourquoi j'ai fait mon sketch que avec des commande AT  pour le gsm du coup il faut addapter en fonction pour le DTMF

avec la librairie je pense que tout ce passe la
 
while(stat==CALL_ACTIVE_VOICE) {
          for (int k=0; k<100; k++) {
               DTMF_char=call.DetDTMF();
               if(DTMF_char!='-')
                    Serial.println(DTMF_char);
          }

il suffi d'éditer la librairie pour voir ce qui est fait avec.

après je pourrais pas plus t'aider je suis débutant aussi  dans le domaine. 


Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 22, 2015, 10:12 pm
Bonsoir,
j'ai un petit problème avec a fonction decroche(). voila ce que j'obtiens lorsque je décroche. comment dois-je interpréter ça ?
+COLP: "++336xxxxxxx",145,"",0,""

OK

AT+CLCC?

+CLCC: 0

OK

AT+CLCC?

+CLCC: 0

OK

AT+CLCC?

+CLCC: 0

OK

NO CARRIER

auriez-vous une idée ?

Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 23, 2015, 02:15 pm
Bonjour,

Tu peut détailler un peut ton problème, car la comme ça a froid je vois pas trop
Quel commande tu envoie pour obtenir ces réponses ?
Quand tu décroche l'arduino exécute t'il bien la suite du programme ?
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 23, 2015, 05:29 pm
Bonjour, merci pour la reponse. voici mon code en detail

while(envoyer_Commande_AT("AT+CLCC?", "+CLCC: 1,0,0,0,0", 5000) == 0);
      Serial.println("appel en cours");
      delay(500);
   if (envoyer_Commande_AT("AT+CLCC?", "OK", 1000) == 1)
    {
      Serial.println(" telephone decroche");
 
"envoyer_commande_AT" dépend d'une autre fonction que j'ai pioché dans ton programme.
Les retour que j'ai sont des erreur pour la plupart. j'ai essayé avec la commande AT+CPAS qui me permet aussi de voir l'état de la ligne mais j'ai des retour d'erreur.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 23, 2015, 06:32 pm
En effet "envoyer_commande_AT" dépend d'une autre fonction qui est vers la fin du programme sur la V1 et sur la V2 vers la ligne 717
en fait il ne suffit pas d'envoyer une comande AT il faut aussi pourvoir lire la réponse que donne le module gsm (sim900), et l'interpréter c'est ce que fait la fonction. Je dirais que les deux sont indissociable tel que c'est programmé.

j'avais pas mal cherché au début pour savoir comment détecter le décroché, il y a trois commande AT qui se ressemble mais la CLCC est je pense la plus approprié.( en tout cas dans mon programme elle fonctionne tres bien ) 

tu parle d'erreur mais quelle sont t'elle?


 
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 23, 2015, 10:42 pm
alors, lorsqu'on utilise "ATD" on devrait avoir un retour du style "no carrier" en cas de non réponse ou bien "ok" en cas de téléphone décroché. je n'ai rien.
Pour le CLCC, j'obtiens +CLCC : 0 et OK en boucle.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 24, 2015, 07:07 am
ATD ne se préoccupe pas de savoir si le téléphone a été décroché , ça envoie au module "l'ordre" d'appeler un numéro c'est tout. Regarde dans le manuel des commande AT ces assez instructif même quand on y connais rien
quand tu envoie une commande clcc  tu a comme réponse ok lors du décroché, ce que tu semble avoir , si tu la en boucle c'est que ta commande  continue à être envoyé, tu a bien lu dans le moniteur la réponse mais le programme lui ne la pas lu et continue sa demmande

(envoyer_Commande_AT("AT+CLCC?", "+CLCC: 1,0,0,0,0", 5000))== 0) ce code envoie la commande AT (AT+CLCC?)  et demmande que la réponse soit  1,0,0,0,0 correspondant au décroché tu recevra ok en réponse, 5000 est le délais d'attente de la réponse

   if (envoyer_Commande_AT("AT+CLCC?", "OK", 1000) == 1) ce code demande si la réponse est ok il continue le programme dans mon sketch ça met en route le mp3

 Tous ces code ne servent à rien si tu écris pas un code pour lire les réponses et les interpréter
Dans mon sketche c'est la rubrique "mise en mémoire commande AT " 
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 25, 2015, 07:14 pm
J'ai pourtant lu que sa retourné un connect ou no carrier
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 26, 2015, 10:08 am
Oui ça retourne un connect mais pour une connections non vocale voir page 19 du manuel AT
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: moacc95 on Sep 28, 2015, 07:12 pm
Bonsoir,

j'ai trouvé la solution. enfaîte, il fallait que j'active les retours liés à la fonction CLCC.
Il faut juste un "SIM900.println("AT+CLCC=1");" dans le setup du code et le tour est joué.
Par contre comment expliqué pourquoi moi je dois l'activé et pas toi... je ne sais pas.
Title: Re: [partage]Transmetteur d'alarme téléphonique version 2.0
Post by: matth122 on Sep 28, 2015, 07:48 pm
bonsoir,
effectivement chez moi je l'ai pas activé, il l'est peut être d'office

ça dépend peut etre du firmware qui est dans le SIM900.
pour info le mien c'est 1137B15SIM900M64_ST
j'ai pas mal fait de recherche,  je sais pas d'ou sort ce firmware mais je le trouve nul part, d'apres un site il semblerais que ce soit le dernier en date, ça m'avance pas vraiment car moi j'ai pas le DTMF ....