Ce que vous apprendrez
Les points à développer:
- Ce qu'est un module GSM SIM800L
- Le câblage avec Arduino
- Le code simple pour le test
Prérequis
aucun
Contenu du cours
Le Module
GSM sim800L est un mini module qui permet l’envoi et la réception des SMS,
l’émission et la réception d’appels vocaux, la connexion à internet dans le but
d’accéder à une base de données ou au contenu d’une page et la transmission GPRS
offrant un débit de données plus élevé que le GSM mais complémentaire à celui-ci
etc.
Le module
prend en charge le débit en bauds de 1200 bps à 115200 bps avec détection
Auto-Baud. Le module possède à l’arrière une prise SIM compatible avec les
micro SIM.
Il utilise une interface de communication série, supporte les commandes AT avancées 3GPP TS 27.007, 27.005 et SIMCOM. Il prend également en charge la technologie A-GPS, qui aide à maintenir la position interne du réseau cellulaire.
Quelques caractéristiques:
Ø - Modèle du module: SIM800L
Ø - Tension de fonctionnement: 3.4 ~ 4.4V
Ø - Courant de fonctionnement : 200mA à
2A
Ø - Plage de température de Travail : -40° C ~
85°C
Ø - Taille du Module: 2.5cm x 2.3cm
Présentation du Module GSM Sim 800L
Ce module comporte 12 broches.
Dans ce tutoriel, nous utiliserons 5.
· * GND: Connectée à la masse du circuit ;
· * TXD: Servant au module de transmettre des données ;
· * RXD: Servant au module de recevoir des données ;
· * VCC: Connectée à la borne positive de la source de courant
(pouvant délivrer jusqu’à 2A tout en respectant la plage de tension de 3,4 V à
4,4V)
· * NET: Sur cette broche peut être soudée l’antenne hélicoïdale fournie avec le module
Matériels
- Une carte Arduino
- Un module GSM sim800L
- Une LED
- Une résistance de 220 ohms pour la protection de la LED
- Des fils de connexion
- Un protobord
- Une alimentation pouvant fournir jusqu’à 2A
Tous ces matériels sont disponible chez Youpilab Bénin https://youpilab.com/components
#include <SoftwareSerial.h>//Numéro d'envoie (avec le code du pays)const String PHONE = "+22995653362";//GSM Module RX pin to Arduino 3//GSM Module TX pin to Arduino 2#define rxPin 2#define txPin 3SoftwareSerial sim800(rxPin,txPin);int LED=8; //,Broche de la LED/*Déclaration et Initialisation des Strings*/String smsStatus="",senderNumber="",receivedDate="",msg="";boolean isReply = false;void setup() {pinMode(LED, OUTPUT);digitalWrite(LED, LOW);Serial.begin(115200);sim800.begin(9600);Serial.println("Initialisation série du logiciel SIM800L");sim800.print("AT+CMGF=1\r");delay(1000);}void loop() {while(sim800.available()){Serial.println("En traitement");parseData(sim800.readString());}while(Serial.available()) {sim800.println(Serial.readString());}} //fin de la boucle loop//***************************************************void parseData(String buff){Serial.println(buff);unsigned int len, index;////////////////////////////////////////////////////Supprimez la "Commande AT" envoyée de la chaîne de réponse.index = buff.indexOf("\r");buff.remove(0, index+2);buff.trim();////////////////////////////////////////////////////////////////////////////////////////////////////if(buff != "OK"){index = buff.indexOf(":");String cmd = buff.substring(0, index);cmd.trim();buff.remove(0, index+2);if(cmd == "+CMTI"){//get newly arrived memory location and store it in tempindex = buff.indexOf(",");String temp = buff.substring(index+1, buff.length());temp = "AT+CMGR=" + temp + "\r";//get the message stored at memory location "temp"sim800.println(temp);}else if(cmd == "+CMGR"){extractSms(buff);doAction();}}else{//Continuer
}}//************************************************************void extractSms(String buff){unsigned int index;index = buff.indexOf(",");smsStatus = buff.substring(1, index-1);buff.remove(0, index+2);senderNumber = buff.substring(0, 13);buff.remove(0,19);receivedDate = buff.substring(0, 20);buff.remove(0,buff.indexOf("\r"));buff.trim();index =buff.indexOf("\n\r");buff = buff.substring(0, index);buff.trim();msg = buff;buff = "";msg.toLowerCase();}void doAction(){if(msg == "on"){digitalWrite(LED, HIGH);Reply("LED allumee");}else if(msg == "off"){digitalWrite(LED, LOW);Reply("LED eteinte");}smsStatus = "";senderNumber="";receivedDate="";msg="";}void Reply(String text){sim800.print("AT+CMGF=1\r");delay(1000);sim800.print("AT+CMGS=\""+PHONE+"\"\r");delay(1000);sim800.print(text);delay(100);sim800.write(0x1A); //ascii code for ctrl-26 //sim800.println((char)26); //ascii code for ctrl-26delay(1000);Serial.println("Envoie de confirmation réussi");}
NB : Précaution : Assurez-vous que les branchements sont bien effectués et que l’alimentation requise est respectée.
Module GSM SIM800L : comment ça marche ?
Catégorie
Durée
01:00:00
Nombre de vidéos
0
Certificat de fin de formation
NON