Le module SIM800L permet d’envoyer ou de recevoir des SMS.
Il est prêt l’usage, il suffit d’insérer dans le module une carte nano sim. Les tests ont été réalisés à l’aide d’une carte SIM du célèbre opérateur qui offre des abonnements à 2 euros par mois !
La gestion s’effectue par des commandes AT. Il n’a donc pas besoin d’une bibliothèque spéciale, on peut utiliser la bibliothèque standard SoftwareSerial pour commander le module.
Brochage
7 broches sont disponibles :
SIM800L | Arduino | Alimentation externe |
---|---|---|
5V | 5V | |
GND | ||
VDD | 5V | |
SIM_TXD | broche digitale | |
SIM_RXD | broche digitale | |
GND GND | Arduino | |
RST non utilisée |
Les deux premières broches 5V et GND doivent être connectées à une source d’alimentation externe pouvant délivrer une intensité de 1 ampère. En effet le module requiert par moment un courant important que ne peut fournir l’Arduino.
Sur certains blogs, on trouve des exemples où ces deux broches ne sont pas utilisées. Je n’ai pas réussi à faire fonctionner le module sans une alimentation externe qui peut être par exemple un module chargeur 5V de téléphone.
Mise en place de la carte SIM
Sur la figure ci-dessus, l’orientation la carte Sim est précisée par un schéma. Les contacts doivent être du coté du circuit imprimé.
Câblage
Démarrage
Lors de la mise sous tension, observer les LEDS NET (D6) et RING (D2)
- La LED NET indique la connexion ou non au réseau.
- La LED RING indique si le composant est sous tension.
Cela commence automatiquement par une séquence de tentatives de connexion au réseau :
LED RING Allumée et LED NET clignote une fréquence de 1 seconde. La LED NET clignote de cette façon 6 7 fois. Si la connexion échoue, la séquence reprend.
Si la connexion réussit, la LED NET clignote une fréquence de 3 secondes et la LED RING reste allumée de façon permanente.
On peut alors utiliser le programme suivant pour tester quelques commandes AT
Programme de test du module
Ce programme permet simplement de dialoguer avec le module via la console Arduino. Exemple :
En style normal les commandes envoyées, en gras les réponses du module, en italique commentaires
AT Vérification si on est connecté au module
OK
ATI Statut du modem
SIM800 R14.18
OK
AT+CPIN? Vérification si la carte SIM est prête
+CPIN: READY
OK
AT+CMGF=1 Gestion des SMS en mode texte (code Ascii de base)
OK
AT+CREG? Vérification de la connexion au réseau GSM
+CREG: 0,5
OK
AT+COPS? Nom du réseau sur lequel on est connecté
+COPS: 0,0,“Orange F«
OK
AT+CMGD=? Nombre max de SMS et commandes autorisées
+CMGD: (1-100),(0-4)
OK
AT+CMGR=1 Lecture du SMS n° 1
+CMGR: “REC READ »,“+33XXXXXXXXX »,““, »18/10/06,15:18:04+08«
Test
OK
AT+CMGR=20 Lecture du SMS n° 20 (inexistant)
OK
AT+CMGR=2 Lecture du SMS n° 2
+CMGR: “REC READ »,“+336XXXXXXXX »,““, »18/10/08,12:50:55+08″
Hello
OK
Description de quelques commandes
Commande | Réponse | Explication |
---|---|---|
ATI | SIM800 R14.18 | Statut du modem |
AT+CREG ? | +CREG : 0,5 | Statut du réseau. |
1er indice : 0 -> GSM | ||
2ème indice : | ||
0 -> pas de réseau | ||
5 -> réseau ok | ||
AT+CPIN ? | +CPIN READY | Pas de code PIN nécessaire |
AT+COPS ? | +COPS : | Affiche l’opérateur |
mode,format,operateur | sélectionné |
On trouve facilement sur le web des tutos décrivant les commandes AT pour GSM
Programme de démo
Ce programme montre notamment comment envoyer un SMS