[Tuto] Module GSM SIM800L - Prise en main
Posté sur: oct. 14, 2015
Catégories: Arduino
Le module GSM SIM800L est l'un des plus petits modules GSM du monde avec une taille de 2.2 cm x 1.8 cm. C'est un module puissant qui démarre automatiquement et recherche automatiquement le réseau. Il inclut notamment le Bluetooth 3.0+EDR et la radio FM (récepteur uniquement). Il vous permettra d'échanger des SMS, de passer des appels mais aussi, et c'est nouveau, de récupérer de la data en GPRS 2G+. Ainsi vous pourrez faire transiter des données sur une très longue distance, si par exemple la radio FM ou le Bluetooth ne vous suffit plus.
Librairies : SoftwareSerial.h
Matériel : Arduino, SIM800L, carte SIM, diode 1N4007, jumpers, breadboard
Datasheets : SIM800L | At command
Montage :
Ce module nécessite une alimentation entre 3,4V et 4,4V. L'alimentation 5V de l'Arduino ne lui convient donc pas. Pour contrer ce problème d'alimentation, on ajoute une diode 1N4007 entre le 5V de l'Arduino et le pin VCC du SIM800L. Le SIM800L nécessite un pic de courant d'environ 2A. Le reste du branchement est détaillé ci-dessous. La pin reset doit être relié au 3,3v de l'arduino.


Il faut également insérer votre SIM dans le compartiment prévu à cet effet sur le module, comme montré dans la photo ci-dessous. Le sens d'insertion de la carte SIM dans le module à son importance. La carte SIM doit être une micro SIM.
Les AT commands (Commandes Hayes)
Les commandes AT sont définies dans la norme GSM 07.07.AT est l'abréviation de ATtention. Ces 2 caractères sont toujours présents pour commencer une ligne de commande sous forme de texte (codes ASCII). Les commandes permettent la gestion complète du module.
On peut utiliser ces commandes directement dans le moniteur série. Il suffit de compiler, téléverser le programme ci-dessous et d'ouvrir le moniteur série. Vous n'avez plus qu'à entrer les différentes commandes AT pour effectuer ce que vous désirez.
Vous pouvez envoyer ou recevoir des SMS, passer ou recevoir un appel, récupérer des données HTTP en entrant directement dans le moniteur série les commandes nécessaires.
// Connect VCC to +5Vn// Connect GND to Groundn// Connect RXD (data into SIM800L) to Digital 8n// Connect TXD (data out from SIM800L) to Digital 7n#includenSoftwareSerial sim800l(7, 8); // RX, TXnnvoid setup() {n Serial.begin(9600);n sim800l.begin(9600);n}nnvoid loop(){n if (sim800l.available())n Serial.write(sim800l.read());nn if (Serial.available()) {n while(Serial.available()){n sim800l.write(Serial.read());n }n sim800l.println();n }n}n
Le code PIN
Il se peut que votre carte SIM soit verrouillée à l'aide d'un code PIN. Vous devrez entrer à chaque fois votre code pour déverrouiller votre carte. Ajouter les lignes de commandes suivantes avant le setup() et remplacer les XXXX par votre code PIN.
// Code PIN de la carte SIM
String SIM_PIN_CODE = String( "XXXX" );
Puis, ajoutez dans la boucle setup():
sim800l.print("AT+CPIN=");nsim800l.println( SIM_PIN_CODE );
1er test : Lancer le module et récupérer son IMEI
On peut utiliser les AT commandes pour obtenir l'IMEI. La commande AT+GSN récupère l'IMEI de votre module. Vous pouvez ainsi vérifier que ce que vous obtenez est bien l'IMEI inscrit sur votre module.
On peut trouver dans le logiciel de l'Arduino un programme qui va nous permettre d'afficher l'IMEI de la SIM800L dans le moniteur série. Ce programme se trouve dans Fichier > Exemples > GSM > Tools > TestModem.
Les principales commandes de test :
ATI | SIM800 R13.08 | 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+CSQ | +CSQ : | Intensité du signal. 0 -> less than 0,2% |
AT+COPS ? | +COPS : | Affiche l'opérateur sélectionné |
Commentaires
févr. 6, 2019
janv. 11, 2019
déc. 17, 2018
déc. 17, 2018
oct. 23, 2018
oct. 23, 2018
oct. 21, 2018
oct. 21, 2018
oct. 21, 2018
oct. 20, 2018
oct. 20, 2018
août 13, 2018
mai 21, 2018
avril 27, 2018
avril 17, 2018
avril 8, 2018
oct. 1, 2017
août 1, 2017
août 1, 2017
juil. 31, 2017
juil. 31, 2017
juil. 31, 2017
juil. 31, 2017
juil. 31, 2017
juil. 30, 2017
juil. 30, 2017
juil. 30, 2017
juil. 30, 2017
juil. 29, 2017
juil. 29, 2017
juil. 24, 2017
juil. 24, 2017
juin 1, 2017
avril 13, 2017
avril 12, 2017
avril 8, 2017
avril 5, 2017
mars 16, 2017
mars 14, 2017
mars 14, 2017
mars 13, 2017
mars 13, 2017
mars 13, 2017
mars 13, 2017
mars 13, 2017
mars 13, 2017
mars 12, 2017
mars 11, 2017
mars 9, 2017
févr. 21, 2017
févr. 21, 2017
févr. 20, 2017
févr. 20, 2017
févr. 20, 2017
févr. 20, 2017
févr. 19, 2017
févr. 19, 2017
févr. 19, 2017
févr. 19, 2017
févr. 19, 2017
févr. 19, 2017
févr. 18, 2017
févr. 18, 2017
févr. 17, 2017
févr. 17, 2017
déc. 4, 2016
déc. 3, 2016
nov. 21, 2016
nov. 21, 2016
nov. 21, 2016
nov. 21, 2016
nov. 21, 2016
nov. 19, 2016
nov. 17, 2016
oct. 3, 2016
oct. 3, 2016
oct. 3, 2016
oct. 2, 2016
sept. 9, 2016
août 24, 2016
août 24, 2016
août 19, 2016
août 13, 2016
août 2, 2016
juil. 31, 2016
juil. 31, 2016
juil. 31, 2016
juil. 29, 2016
juil. 29, 2016
juil. 29, 2016
juil. 29, 2016
juil. 9, 2016
juil. 9, 2016
juil. 9, 2016
juil. 8, 2016
juin 30, 2016
juin 30, 2016
juin 30, 2016
juin 30, 2016
juin 30, 2016
juin 30, 2016
juin 24, 2016
juin 23, 2016
juin 23, 2016
juin 20, 2016
juin 20, 2016
juin 20, 2016
juin 20, 2016
juin 19, 2016
juin 18, 2016
juin 3, 2016
juin 3, 2016
juin 2, 2016
mai 29, 2016
mai 29, 2016
mai 18, 2016
mai 18, 2016
mai 18, 2016
mai 18, 2016
mai 18, 2016
mai 18, 2016
mai 17, 2016
mai 17, 2016
mai 17, 2016
mai 17, 2016
mai 17, 2016
mai 16, 2016
mai 16, 2016
mai 8, 2016
mai 7, 2016
mars 14, 2016
mars 14, 2016
mars 11, 2016
mars 10, 2016
mars 10, 2016
mars 10, 2016
mars 10, 2016
mars 9, 2016
mars 9, 2016
févr. 27, 2016
déc. 7, 2015
déc. 7, 2015
déc. 2, 2015
déc. 2, 2015
déc. 2, 2015
déc. 2, 2015
déc. 2, 2015
déc. 2, 2015
déc. 1, 2015
Connectez-vous pour commenter
Se connecter