Académique Documents
Professionnel Documents
Culture Documents
Module GSM SIM 900
Module GSM SIM 900
Que vous souhaitiez écouter ce qui se passe dans votre maison à des
kilomètres de chez vous ou activer le système d'arrosage dans votre jardin
simplement avec un appel silencieux; Ensuite, le bouclier SIM900 GSM / GPRS
sert de point de départ solide pour vous permettre de démarrer avec l'IoT!
Le shield SIM900 GSM / GPRS est un modem GSM, qui peut être intégré dans
un grand nombre de projets IoT. Vous pouvez utiliser ce bouclier pour
accomplir presque tout ce qu'un téléphone portable normal peut; SMS, passez
ou recevez des appels téléphoniques, connectez-vous à Internet via GPRS,
TCP / IP, et plus encore! Pour couronner le tout, le bouclier prend en charge le
réseau GSM / GPRS quadri-bande, ce qui signifie qu'il fonctionne à peu près
partout dans le monde.
Présentation matérielle du bouclier GSM /
GPRS SIM900
Le bouclier SIM900 GSM / GPRS est conçu pour entourer la puce SIM900 de
tout le nécessaire pour s'interfacer avec Arduino, ainsi que de quelques bonus
supplémentaires pour profiter des fonctionnalités uniques de la puce.
Puissance de transmission:
Éteindre 60 uA
Mode veille 1 mA
Etre prêt 18 mA
GSM850 199 mA
EGSM900 216 mA
Appel
DCS1800 146 mA
PCS1900 131 mA
GPRS 453 mA
Rafale de transmission 2A
Avertissement:
Communication UART
Le blindage SIM900 GSM / GPRS utilise le protocole UART pour communiquer
avec un Arduino. La puce prend en charge le débit en bauds de 1200 bps à
115200 bps avec détection automatique en bauds.
À l'aide de cavaliers, vous pouvez connecter (RX, TX) du blindage à la série
logicielle (D8, D7) ou série matérielle (D1, D0) de l'Arduino.
Haut-parleur et microphone
Le bouclier est livré avec deux prises jack 3,5 mm standard. Un pour écouteurs
stéréo et un autre pour microphone mono. Il vous permet d'utiliser l'interface
audio du SIM900 pour passer et recevoir des appels vocaux et écouter la radio
FM.
Micro : vous pouvez connecter un microphone électret externe à cette prise.
Antenne
Une antenne est nécessaire pour utiliser le SIM900 pour tout type de
communications vocales ou de données ainsi que pour certaines commandes
SIM.
Le bouclier a deux interfaces pour connecter l'antenne à savoir. un connecteur
U.FL et un connecteur SMA. Ils sont connectés via un cordon de
raccordement.
Le bouclier est généralement livré avec une antenne GSM 3dBi et vous permet
de placer le bouclier dans un boîtier métallique (tant que l'antenne est à
l'extérieur).
Prise SIM
Il y a une prise SIM à l'arrière. Toute carte SIM pleine grandeur 2G activée
fonctionnerait parfaitement.
Déclencheur matériel
Le bouclier est livré avec un interrupteur tactile à angle droit situé près de
l'indicateur LED PWR. Vous devez appuyer sur cet interrupteur pendant environ
2 secondes pour allumer / éteindre le bouclier.
Déclencheur logiciel
Au lieu d'appuyer manuellement sur la touche PWRKEY à chaque fois, vous
pouvez monter / descendre le SIM900 par programmation.
void SIM900power()
{
pinMode(9, OUTPUT);
digitalWrite(9,LOW);
delay(1000);
digitalWrite(9,HIGH);
delay(2000);
digitalWrite(9,LOW);
delay(3000);
}
#include <SoftwareSerial.h>
void setup()
{
//Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
Serial.println("Initializing...");
delay(1000);
void loop()
{
updateSerial();
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software
Serial Port
}
while(mySerial.available())
{
Serial.write(mySerial.read());//Forward what Software Serial received to
Serial Port
}
}
Explication du code:
L'esquisse commence par inclure une bibliothèque SoftwareSerial.h et
l'initialiser avec les broches Arduino auxquelles Tx et Rx du blindage SIM900
sont connectés.
#include <SoftwareSerial.h>
//Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
AT + CCID - obtenir le numéro de la carte SIM - cela teste que la carte SIM est
trouvée OK et vous pouvez vérifier que le numéro est écrit sur la carte.
Vous êtes maintenant libre d'envoyer toutes les commandes via le moniteur
série comme ci-dessous, ce qui donne plus d'informations sur la connexion
réseau et l'état de la batterie:
#include <SoftwareSerial.h>
void setup()
{
//Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
Serial.println("Initializing...");
delay(1000);
void loop()
{
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software
Serial Port
}
while(mySerial.available())
{
Serial.write(mySerial.read());//Forward what Software Serial received to
Serial Port
}
}
L'esquisse est presque la même que précédemment, sauf l'extrait de code ci-
dessous. Une fois la connexion établie, nous envoyons ci-dessous les
commandes AT:
La boucle est maintenue vide car nous ne voulons envoyer des SMS qu'une
seule fois. Si vous souhaitez envoyer des SMS une fois de plus, appuyez
simplement sur la touche RESET de votre Arduino. La capture d'écran ci-
dessous montre les SMS envoyés depuis le bouclier SIM900 GSM / GPRS.
Code Arduino - Lecture de SMS
Programmons maintenant notre Arduino pour lire les messages
entrants. Cette esquisse est très utile lorsque vous devez déclencher une
action lors de la réception d'un SMS spécifique. Par exemple, lorsque l'Arduino
reçoit un SMS, vous pouvez lui demander d'activer ou de désactiver un
relais. Vous avez l'idée!
#include <SoftwareSerial.h>
void setup()
{
//Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
Serial.println("Initializing...");
delay(1000);
void loop()
{
updateSerial();
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software
Serial Port
}
while(mySerial.available())
{
Serial.write(mySerial.read());//Forward what Software Serial received to
Serial Port
}
}
Notez que cette fois, nous n'avons PAS laissé la fonction de boucle vide car
nous interrogeons les messages SMS nouvellement arrivés. Une fois que vous
envoyez le SMS au bouclier SIM900 GSM / GPRS, vous verrez ci-dessous la
sortie sur le moniteur série.
Extension du logiciel Arduino Taille du tampon série
Si votre message est assez long comme le nôtre, vous le recevrez
probablement avec quelques caractères manquants. Ce n'est pas à cause d'un
code défectueux. Votre tampon de réception SoftwareSerial se remplit et
supprime des caractères. Vous ne lisez pas assez vite à partir du tampon.
// RX buffer size
#define _SS_MAX_RX_BUFF 64
// RX buffer size
#define _SS_MAX_RX_BUFF 256
#include <SoftwareSerial.h>
void setup()
{
//Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
Serial.println("Initializing...");
delay(1000);
void loop()
{
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software
Serial Port
}
while(mySerial.available())
{
Serial.write(mySerial.read());//Forward what Software Serial received to
Serial Port
}
}
#include <SoftwareSerial.h>
void setup()
{
//Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
//Begin serial communication with Arduino and SIM900
mySerial.begin(9600);
Serial.println("Initializing...");
}
void loop()
{
updateSerial();
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software
Serial Port
}
while(mySerial.available())
{
Serial.write(mySerial.read());//Forward what Software Serial received to
Serial Port
}
}
La sortie ci-dessous sur le moniteur série montre l'appel reçu par le bouclier
SIM900 GSM / GPRS.