Go Down

Topic: Liaison de deux programmes (Read 51 times) previous topic - next topic

PITE0611

Bonjour,

je travaille actuellement sur un module GSM et un module SD. Mon but est de créer un identificateur d'appels avec les numéros stockés sur la carte SD. J'ai d'abord réalisé mon identificateur d'appels avec seulement mon module GSM et mon programme que voici :

Code: [Select]
#include <GSM.h> // Ajout de la librarie GSM

#define CODEPIN "" // Code pin du téléphone

GSM gsmAccess;
GSMVoiceCall vcs;


char numtel[20]; // Enregistre l'appel entrant
char numerau[] = {"0603249714"}; // Numéro autorisé
int i;

void setup() {
  // Initialise les communications serial et attend que le port s'ouvre:
  Serial.begin(9600);
  while (!Serial) {
    ; // Attente de connection du port serial. Nécessaire pour le port USB natif seulement 
  }

  Serial.println("Initialisation..");

  boolean notConnected = true; // Etat de connection

  // Lancement GSM shield
  while (notConnected) {
    if (gsmAccess.begin(CODEPIN) == GSM_READY) {
      notConnected = false;
    } else {
      Serial.println("Pas connecté");
      delay(1000);
    }
  }

  vcs.hangCall(); // Cela permet de s'assurer que le modem signale correctement les événements entrants.

  Serial.println("Vous pouvez appeler");
}

void loop() {
  switch (vcs.getvoiceCallStatus()) { //Vérifier l'état de l'appel
    case IDLE_CALL: // rien ne se passe

      break;

    case RECEIVINGCALL: // quelqu'un nous appelle

      Serial.println("APPEL ENTRANT");

      vcs.retrieveCallingNumber(numtel, 20); // recuperer le numéro appellant
   
      // Afficher le numéro appelant
      Serial.print("Number:");
      Serial.println(numtel);
        for (int i = 0; i < 9; i++) {
          if (numtel[i+3] == numerau[i+1]) {
        vcs.answerCall();
        Serial.println("Numero autorise");
   
      } else {
   
        vcs.hangCall();
        Serial.println("Numero non-autorise");
      }
    }
      break;
  }
 }


Je souhaiterai faire la meme chose mais que il lise le numéro autorisé sur mon fichier en .txt sur la carte SD au lieu qu'il soit dans le programme.
J'ai trouvé un programme tout fait qui permet de lire ce qu'il y a écrit sur le fichier .txt depuis la crate SD mais je n'arrive pas à lier les deux et faire l'identificateur..
Voici le porogramme :
Code: [Select]

#include <SPI.h>
#include <SD.h>

File myFile;

void setup() {
 Serial.begin(9600);

 Serial.println("Carte SD detectee...");
 pinMode(10, OUTPUT);
 
 if (!SD.begin(4)) {
   Serial.println("Erreur de chargement.");
   return;
 }
 
 Serial.println("Numeros autorisés :");
 myFile = SD.open("numeros.txt");
 if (myFile) {
   while (myFile.available()) {
    Serial.write(myFile.read());
   }
   myFile.close();
   
 } else {
   Serial.println("Erreur de lecture du fichier.");
 }
}

void loop() {
}


Pourriez-vous m'apporter de l'aide ?

Cordialement

dbrion06

Combien avez vous de numéros autorisés?  (ou envisagez vous de gérer )?
vos deux programmes à fusionner marchent - ils?

Go Up