[partage]Transmetteur d'alarme téléphonique version 2.0

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.

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?

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.

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 "

J'ai pourtant lu que sa retourné un connect ou no carrier

Oui ça retourne un connect mais pour une connections non vocale voir page 19 du manuel AT

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.

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 ....