arduino recevoir sms

a marqué ce sujet comme résolu.

Bonjour, je débute en arduino et j’ai fait un code qui permet d’envoyer des sms/appels téléphonique. Mon code n’est pas parfait et je vous demmande un peu d’aide pour l’améliorer : 1) déja je voudrais remplacer Serial.read() == ’p’ par un comme Serial.read() == ’p numero_telephone’ Au lieu d’envoyer à mon arduino la lettre p pour passer un appel, je voudrais lui envoyer p + le numero de téléphone à appeler (ma fonction send_call prendra un argument numero_telephone) Meme chose avec sms avec en plus du numero le message J’ai regardé la doc normalement je devrais utiliser la fonction readstring mais arduino m’affiche une erreur comme quoi il veut un int et pas un const char *

2) Je ne sais pas comment faire pour en récupérer un sms/apeels téléphonique par contre. Je voudrais afficher les sms que je reçois dans la fonction void Get_SMS(), la par contre j’ai trouvé 2-3 trucs sur le net mais j’ai rien compris a comment faire. si quelqu’un pouvais m’aiguiller.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <SoftwareSerial.h>


SoftwareSerial SIM900(7, 8);

char message=0;

void setup()
{
SIM900.begin(19200);
delay(25000);
Serial.begin(19200);
Serial.println("OK");

digitalWrite(9, HIGH);
delay(1000);
}

void Send_Call()
{
    SIM900.println("ATD 0608446677;");
    delay(100);
    SIM900.println();
    //delay(120000);
    while(Serial.read() != '1') {
        delay(100);
    }
    SIM900.println("ATH");
    delay(1000);
}

void Send_SMS()
{
    SIM900.print("AT+CMGF=1\r");
    delay(100);
    SIM900.println("AT+CMGS=\"0608446677\"");
    delay(100);
    SIM900.println("test sms");
    delay(100);
    SIM900.println((char)26);
    delay(100);
    SIM900.println();
    delay(5000);
    Serial.println("SMS sent successfully");
}

void Get_SMS()
{
    message=SIM900.read();
    Serial.print(message);
}

void Get_Call()
{

}


void loop() {

    if(Serial.read() == 'p') {
        Send_Call();
    }

    if(Serial.read() == 's') {
        Send_SMS();
    }

    Get_SMS();
    Get_Call();

}
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte