Et voilà, après quelques semaines d’attente, j’ai enfin reçu mon module GSM Sim900 !

Le Sim900 est un composant GSM/GPRS fonctionnant sur quatre bandes (850, 900, 1800, et 1900MHz donc pas de soucis pour la France) et communiquant à travers une liaison série. Ce composant est capable d’envoyer et recevoir des SMS, mais aussi des appels. La doc sait également nous montrer qu’il regorge de possibilités. Une belle bête, en somme.

Le mien est monté sur un module manufacturé par ElecFreaks : le EFCom Pro v1.0.


EFCom Pro v1.0

Pratique pour bidouiller et faire quelques tests, ce module semble néanmoins amputer le Sim900 d’un bon nombre de fonctionalités. Je pense commander prochainement quelques Sim900 nus et les tester de fond en comble.

L’heure du test

Comme je le disais un peu plus haut, ce module communique à travers une liaison série. Comme on pouvait s’y attendre, il comprend les commandes AT. Je vous laisse ici la doc des commandes acceptées.

Le montage ressemblera beaucoup à celui utilisé dans l’article présentant le module Bluetooth JY-MCU. Comme dans le précédant article, nous utiliserons un Arduino UNO en guise de passerelle USB-UART. Le code suivant fera l’affaire :

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
#include <SoftwareSerial.h>
#define RxD 10
#define TxD 11

SoftwareSerial GSMSerial(RxD,TxD);

void setup() {
Serial.begin(19200);
delay(500);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
GSMSerial.begin(19200);
}

void loop() {
char recvChar;
if (GSMSerial.available()) {
recvChar = GSMSerial.read();
Serial.print(recvChar);
}

if (Serial.available()) {
recvChar = Serial.read();
GSMSerial.print(recvChar);
}
}

Une fois de plus, on utilise les broches 10 et 11 pour relier le module GSM.

Eh bien il n’y a plus qu’à établir la liaison série avec notre machine et de lui parler dans sa langue ! Pour cela, on va utiliser ce cher screen (pensez à remplacer /dev/cu.usbserial-A600eufu par votre port série) :

1
$ screen /dev/cu.usbserial-A600eufu 19200

Une fois la connexion établie, la commande AT doit vous répondre OK :

1
2
AT
OK

Tentons d’envoyer un SMS :

1
2
3
4
5
AT+CMGS="+33612345678"
> SMS de test !
>
+CMGS: 12
OK

Pour envoyer le SMS, il vous faudra presser CTRL+Z. Et là, magie !


SMS reçu !

Le Sim900 permet également de recevoir les SMS. Si vous tentez l’expérience, vous verrez ceci sur votre console :

1
+CMTI: "SM",3

Cette réponse nous indique qu’il y a actuellement trois SMS en attente de lecture. La commande AT+CMGR=? permettra de récupérer les SMS en les indexants de la sorte :

1
2
3
4
5
AT+CMGR=3
+CMGR: "REC UNREAD","+33612345678","","14/01/29,22:41:31+04"
Test de reception.

OK

Et voilà, vous avez un petit aperçu de ce dont est capable ce beau module. Je vous encourage à creuser un peu la doc, vous ne serez pas déçu !

En conclusion

Ce module offre une excellente base de départ pour réaliser une alarme, ou encore une solution domotique (héhé). Si le fer à souder ne vous fait pas peur, préférez néamoins commander directement le Sim900 nu pour une dizaine d’Euros.


A très bientôt !


_Edit : Si votre Sim900 ne s’accroche pas aux réseaux français, voici un firmware qui devrait vous aller._