j'ai depuis peu fait l’acquisition d'un shield GSM la première partie du code servant à envoyer des sms est réalisée et fonctionne.
mais la deuxième partie devant réceptionner les sms et les interpréter est en stand-by pour cause je n'arrive pas à recuperer le texte des sms pour le comparer l’erreur de l'IDE est
sketch_jun27a.ino: In function 'void loop()':
sketch_jun27a:75: error: incompatible types in assignment of 'int' to 'char [10]'
voici mon code
#include <GSM.h>
#define PINNUMBER ""
GSM gsmAccess;
GSM_SMS sms;
int DIMSPin = 53; //capteur de mvts infrarouge branché au pin 53
int DIMS;
int PortePin = 4; //capteur de contacte de la porte branché au pin 4
int porte;
int detection = 1;
char senderNumber[20];
void setup()
{
Serial.begin(9600);
pinMode(PortePin, INPUT);
pinMode(DIMS, INPUT);
boolean notConnected = true;
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
// Serial.println("Not connected");
delay(1000);
}
}
Serial.println("GSM initialized");
tone(6,500,1000);
}
void loop()
{
/****************************PARTIE 1*****************************/
porte = digitalRead(PortePin);
delay(1000);
DIMS = digitalRead(DIMSPin);
if (DIMS==1 && porte==1 && detection==1)
{
Serial.println("detected");
tone(6,900,1000);
sms.beginSMS("0609732367");
sms.print("un intru est rentré dans ta chambre");
sms.endSMS();
detection=0;
}
if (porte == 0)
{
detection=1;
}
/****************************PARTIE 2*****************************/
char c[10];
if (sms.available())
{
tone(6,900,1000);
if(sms.peek()=='#'||sms.available()>10)
{
Serial.println("Discarded SMS");
sms.flush();
}
sms.remoteNumber(senderNumber, 20);
for (int i=0; i==sms.available();i++)
{
c=sms.read() // <---------- mon probleme est ici, je sais c'est faux
}
sms.flush();
if (senderNumber == "0609732367")
{
if (c == "AA")
{
tone(6,100,1000);
Serial.println(1);
}
else if (c == "EA")
{
tone(6,100,1000);
Serial.println(2);
}
else if (c == "AP")
{
tone(6,100,1000);
Serial.println(3);
}
else if (c == "EP")
{
tone(6,100,1000);
Serial.println(4);
}
}
}
}
merci . encore une petite question dans mon programme pour la lecture des message j'utilise une scrutation allant de 1 jusqu’à la fin du message en utilisant la fonction sms.available() qui me renvoie normalement le nombre de caractère dans le message cependant la fonction me renvoie tout le temps le nombre 1. comment puis-je connaitre le nombre de caractère dans le messages