Utiliser un module SIM800C pour envoyer et recevoir des SMS

De Wiki de Mémoire Vive
Révision datée du 10 novembre 2023 à 23:51 par 192.168.2.1 (discussion)
Aller à la navigation Aller à la recherche

Ce module se connecte en USB, ce qui assure à la fois l'alimentation et l'émulation d'un port série. On y glisse une carte SIM.

Voici comment se déroule le test, avec juste des commandes envoyées avec PuTTY.

- insérer la carte SIM dans le module, l'encoche vers l'extérieur et les contacts vers l'intérieur.

- relever le port COM utilisé (il s'agit d'une émulation)

- paramétrer PuTTY avec le mode Serial, en mettant le bon port (COM1 ou COM2, etc.) et en laissant la vitesse 9600

Ci-dessous le déroulé du test, avec la documentation ChatGPT en suivant.

AT
ERROR
AT
OK
AT+CSQ
+CSQ: 16,0

OK
AT+CGATT?
+CGATT: 1

OK
AT+CGDCONT?
+CGDCONT: 1,"IP","","0.0.0.0",0,0
+CGDCONT: 2,"IP","","0.0.0.0",0,0
+CGDCONT: 3,"IP","","0.0.0.0",0,0

OK
AT+CPIN?
+CPIN: READY

OK
AT+CREG?
+CREG: 0,5

OK
AT+CGDCONT=1,"IP","free","0.0.0.0",0,0
OK
AT+COPS=?
+COPS: (2,"Orange F","Orange","20801"),(3,"SFR","SFR","20810"),(3,"BOUYGUES TELE                                  COM","BYTEL","20820"),,(0-4),(0-2)

OK
AT+COPS=1,2,"20801"
OK
AT+COPS?
+COPS: 1,2,"20801"

OK
AT+CGATT?
+CGATT: 1

OK

AT+CMGF=1
OK
AT+CMGS="0760410279"
> message pour denis
+CMGS: 9

OK
AT
OK
AT+CMGS="0760420279"
> message pour denis
+CMGS: 10

OK
AT+CGDCONT?
+CGDCONT: 1,"IP","free","0.0.0.0",0,0
+CGDCONT: 2,"IP","","0.0.0.0",0,0
+CGDCONT: 3,"IP","","0.0.0.0",0,0

OK

+CMTI: "SM",11
AT+CMGR=1
+CMGR: "REC UNREAD","+33760420279","Braux D","22/08/19,09:02:34+08"
Messagerie "666" Free: le 19/08 ▒ 09:31, ce correspondant a appel▒ 5 fois sur votre mobile sans laisser de message

OK
AT+CMGR=1
+CMGR: "REC READ","+33760420279","Braux D","22/08/19,09:02:34+08"
Messagerie "666" Free: le 19/08 ▒ 09:31, ce correspondant a appel▒ 5 fois sur votre mobile sans laisser de message

OK
AT+CMGD=1
OK
AT+CMGR=1
OK

+CMTI: "SM",1
AT+CMGR=1
+CMGR: "REC UNREAD","+33760420279","Braux D","23/11/10,21:34:01+04"
Trop bien

OK

Configuration initiale

  • AT - Vérifie la connexion avec le modem. Le modem renvoie OK si la communication est établie.
  • AT+CSQ - Interroge la qualité du signal (Commande Signal Quality). Résultat : +CSQ: 16,0 indiquant une qualité de signal de 16.

Attachement GPRS

  • AT+CGATT? - Interroge l'état de l'attachement au réseau (Commande GPRS Attach). Résultat : +CGATT: 1 indiquant que le module est attaché au réseau.

Configuration du contexte de données

  • AT+CGDCONT? - Interroge les paramètres de contexte de données (Commande GPRS PDP Context). Affiche plusieurs enregistrements de contexte de données.
  • AT+CGDCONT=1,"IP","free","0.0.0.0",0,0 - Configure le contexte de données pour utiliser le profil free avec l'adresse IP 0.0.0.0.

Vérification de l'état du module SIM

  • AT+CPIN? - Interroge l'état du code PIN du module SIM. Résultat : +CPIN: READY indiquant que le code PIN est prêt.

Vérification de l'enregistrement au réseau

  • AT+CREG? - Interroge l'état de l'enregistrement du réseau. Résultat : +CREG: 0,5 indiquant que le réseau est enregistré en mode itinérance.

Sélection de l'opérateur réseau

  • AT+COPS=? - Interroge la liste des opérateurs disponibles.
  • AT+COPS=1,2,"20801" - Sélectionne l'opérateur avec le code 20801.
  • AT+COPS? - Interroge l'opérateur actuellement sélectionné. Résultat : +COPS: 1,2,"20801" indiquant la sélection de l'opérateur Orange F.

Nouvelle vérification de l'attachement GPRS

  • AT+CGATT? - Interroge à nouveau l'état de l'attachement GPRS. Résultat : +CGATT: 1 confirme que le module est attaché au réseau.

Configuration des messages SMS

  • AT+CMGF=1 - Configure le mode de texte pour les messages SMS.

Envoi de messages SMS

  • AT+CMGS="0760410279" - Envoie un message SMS au numéro de téléphone 0760410279 avec le texte message pour denis.
  • AT+CMGS="0760420279" - Envoie un autre message SMS au numéro de téléphone 0760420279 avec le même texte.

Vérification du contexte de données après envoi de messages SMS

  • AT+CGDCONT? - Interroge à nouveau les paramètres de contexte de données après l'envoi des messages.

Lecture des messages SMS

  • AT+CMGR=1 - Lit le premier message SMS non lu.

Suppression des messages SMS

  • AT+CMGD=1 - Supprime le premier message SMS.

Tentative de lecture après suppression

  • AT+CMGR=1 - Tente de lire à nouveau le premier message (maintenant supprimé).

Lecture d'un nouveau message SMS

  • AT+CMGR=1 - Lit un nouveau message SMS non lu avec le texte Trop bien.


PRECISION : Configuration du Contexte de Données avec AT+CGDCONT

La commande AT+CGDCONT=1,"IP","free","0.0.0.0",0,0 est utilisée pour configurer le contexte de données (PDP context) sur le module GSM/GPRS. Cette commande indique au module comment établir une connexion IP avec le réseau mobile. La nécessité de cette commande dépend de votre cas d'utilisation spécifique.

Les paramètres de la commande sont les suivants :

  • 1: Identifiant du contexte de données.
  • "IP": Type de contexte de données, dans ce cas, IP.
  • "free": Nom du profil d'accès aux données.
  • "0.0.0.0": Adresse IP attribuée au module (en général, elle peut être attribuée dynamiquement par l'opérateur).
  • 0,0: Paramètres de protocole, généralement utilisés par l'opérateur pour définir les protocoles de communication.

Si votre application nécessite une connexion de données, alors la configuration du contexte de données est généralement nécessaire. Cela peut être le cas si vous envisagez d'utiliser des services tels que l'envoi ou la réception de données via GPRS.

Cependant, si votre application ne nécessite pas de connexion de données, vous pourriez ne pas avoir besoin de cette commande. Certains cas d'utilisation, comme l'envoi de messages SMS, ne nécessitent pas forcément une connexion de données active.

En résumé, l'inclusion de la commande AT+CGDCONT=1,"IP","free","0.0.0.0",0,0 dépend de l'objectif spécifique de votre application et de la manière dont vous prévoyez d'utiliser le module GSM/GPRS.