Panier d’achat

Aucun produit dans le panier.

Module GSM GPRS SIM900L

280.00 د.م.


SIM900L is a popular SIM module that easily used with Arduino. This has 5V pin enabled for power that make this module easier to use than the regular SIM900L.

31 en stock

Quantité Discount (%) Prix
1 - 9 280.00 د.م.
10+ 21.43 % 220.00 د.م.
UGS : CM057 Catégories : , Étiquettes : , , , ,

Tutoriel : Utilisation Module GSM/GPRS SIM900L avec ARDUINO


INTRODUCTION:

Le SIM900 est un module GSM/GPRS, lequel combiné à une carte Arduino ou Raspberry Pi permet d’émettre ou de recevoir des appels téléphoniques, des SMS, et des MMS avec des images stockées dans une carte SD ou micro-SD.

Le SIM900 est utilisé dans des applications de contrôle à distance, de domotique, et aussi de sécurité.

Dans ce tutoriel, nous allons:

  • Envoyer et recevoir de SMS

Présentation du module:

SIM900 Pinout


Etape 1: Liste des composants

  • Arduino Mega 2560
  • Module GSM/GPRS SIM900
  • Lecteur de carte SD
  • Câbles Arduino 10cm ou 20cm
  • 1 carte SD ou micro SD (16Go max)
  • 1 carte SIM 4g (nous utilisons une SIM La poste mobile pour le tutoriel)

Etape 2: Shémas de câblage

Arduino SIM900 wiring

ARDUINO MEGA SIM900
TX2 RX
RX2 TX
GND GND

 

ARDUINO MEGA MODULE SD
GND GND
5V VCC
50 MISO
51 MOSI
52 SCK
53 CS

Il faut impérativement installer la carte SD ou micro SD et la carte SIM avant la mise sous tension. Il est préférable que le code Pin de la carte SIM soit désactivé, mais il est possible de dévérouiller le code Pin avec le programme Arduino. A la mise sous tension, il faut appuyer au minimum 2 secondes le « Switch ON/OFF » du module SIM900. Si le code Pin est désactivé, la » Led état réseau » clignote toutes les 3 secondes au bout d’un moment, dès que le module SIM900 a terminé son initialisation; autrement dès que le code Pin est desactivé via le programme Arduino, la led clignote toutes les 3 secondes, ce qui signifie que le module SIM900 est bien connecté au réseau mobile.

Attention: pour l’envoi de MMS, le firmware du module doit être mis à jour afin d’être compatible avec le Maroc. C’est pourquoi tous nos modules SIM900  sont mis à jour et sont compatibles MMS avec les réseaux Maroc 433 ou 868Mhz.


Etape 3: Programmes Arduino

Les programmes suivants permettent de tester les fonctions du module SIM900, comme l’envoi et la réception des SMS, l’envoi des MMS (ici avec carte SIM Laposte mobile!), et une carte SD ou micro-SD contenant l’image à envoyer, et l’émission ou la réception des appels téléphoniques ( nécessite un micro et des écouteurs branchés sur les connecteurs associés du SIM900).

Une fois le programme téléchargé dans le carte Arduino, il faut ouvrir le Terminal Arduino afin de lui envoyer les commandes servant à activer les différentes fonctions du module SIM900: 1,2,3,4,5,6,7,8,9,d,p,s

Etant donné que l’éditeur Blog ne prend pas encore en compte le symbole antislash( Eh oui il l’assimile à du code HTML), il faudra donc remplacer dans le code (antislash) par son symbole, avant de télécharger votre script dans la carte Arduino.


1- ENVOI DE SMS, APPELS, ET MMS

/*
Projet: APPELS SMS MMS avec SIM900 et Carte SD
Board: Arduino Mega 2560
Date: 07 Septembre 2021
Micro-Electroniques Générales au Maroc
Website: https://www.megma.ma
*/

#include "SD.h"

#define PWR 31
#define CS 53

File dataFile;
int i;
unsigned char data=0;
String message = "Bonjour tout le monde";

void setup()
{
pinMode(PWR,OUTPUT);
pinMode(CS,OUTPUT);
Serial.begin(9600);
Serial2.begin(115200);// modifiez la vitesse si nécéssaire

//car il se peut que votre module Sim900 fonctionne à 9600 bauds par exemple
digitalWrite(PWR,LOW);
delay(10);
digitalWrite(PWR,HIGH);
delay(10);

if (!SD.begin(CS)) Serial.println("initialisation non reussie!");
else Serial.println("initialisation ok.");
}

void loop()
{ //Entrer des valeurs depuis le moniteur série pour activer les fonctions du SIM900:
//1,2,3,4,5,6,7,8,9,d,p,s
if(Serial2.available())
{
while(Serial2.available())
{
data=Serial2.read();
Serial.write(data);
}
data=0;
}

if(Serial.available())
{
data=Serial.read();
}
if(data=='p')
{
Serial2.print("AT+CPIN=1234(antislash)r"); //Faire le code Pin carte SIM si activé
// Si code Pin désactivé, ignorer// Mettre le code pin à la place de 1234 si différent
}
if(data=='1')
{
Serial2.print("AT+CGMI(antislash)r"); // Identification du fabricant
}
if(data=='2')
{
Serial2.print("AT+CGMM(antislash)r"); //Identification du modèle
}

if(data=='3')
{
Serial2.print("AT+CGMR(antislash)r"); //Version du Firmware
}

if(data=='4')
{
Serial2.print("AT+CGSN(antislash)r"); //Numéro IMEI
}

if(data=='5')
{
Serial2.print("ATD+33644757223;(antislash)r"); //Appels (ATD+numero à appeler)
}

if(data=='6')
{
Serial2.print("ATH(antislash)r"); //Racrocher un appel
}

if(data=='7') //Envoyer un SMS
{
Serial2.println("AT");
delay(500);
Serial2.print("AT+CMGF=1(antislash)r"); //Activation mode Texte
delay(500);
Serial2.println("AT+CMGS=(antislash)"+33644757223(antislash)""); //Numéro du destinataire
delay(500);
Serial2.print(message);//Message à envoyer
//Serial2.print("bonjour ceci est mon message"); //2eme methode pour envoyer un message
delay(500);
Serial2.write((char)26); //Envoi du message
}

if(data=='8')
{
Serial2.print("AT+CMGR=1(antislash)r"); //Lire message
}

if(data=='9')
{
Serial2.print("AT+CMGD=1,0(antislash)r"); //Effacer un message
}
if(data=='d')
{
Serial2.print("ATDT(antislash)r"); //Décrocher un appel
}

if(data=='s') sendMMS(); //Envoyer un MMS
data=0;
}

void sendMMS() //Envoi de MMS avec paramètre APN La poste mobile
//Regarder sur le site des opérateurs pour les paramètres APN, MMSCURL, CMMSPROTO
{
Serial2.println("AT+CMMSINIT");
delay(1000);//100
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+CMMSCURL=(antislash)"mmsdebitel(antislash)"(antislash)r");
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+CMMSCID=1(antislash)r");
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+CMMSPROTO=(antislash)"10.143.156.003(antislash)",8080(antislash)r");
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+CMMSSENDCFG=6,3,0,0,2,4,1,0(antislash)r");
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+SAPBR=3,1,(antislash)"CONTYPE(antislash)",(antislash)"GPRS(antislash)"(antislash)r");
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+SAPBR=3,1,(antislash)"APN(antislash)",(antislash)"mmsdebitel(antislash)"(antislash)r");
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+SAPBR=1,1(antislash)r");
delay(4000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+SAPBR=2,1(antislash)r");
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}

Serial2.print("AT+CMMSEDIT=0(antislash)r"); // Efface le Buffer
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+CMMSEDIT=1(antislash)r"); // Mode Edition activé
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+CMMSDOWN=(antislash)"PIC(antislash)",6651,20000,(antislash)"pic777.jpg(antislash)"(antislash)r"); //Chargement de l'image "pic777.jpg" de taille 6651 octets stockée dans la carte SD
//20000 représente le temps qu'on laisse au système pour télécharger l'image

delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}

dataFile=SD.open("pic777.jpg"); //Téléchargement de l'image depuis la carte SD ou micro SD vers mémoire du SIM900
i=0;
if(dataFile)
{
while(dataFile.available())
{
data=dataFile.read();
if(data<0x10) Serial.print("0");
Serial.print(data,HEX);
i++;
if((i%40)==0) Serial.println();
Serial2.write(data);
}
dataFile.close();
}
else
{
Serial.println("erreur ouverture pic777.jpg");
}

delay(1000);

Serial2.print("AT+CMMSRECP=(antislash)"+33644757223(antislash)"(antislash)r"); //Numéro du destinataire du MMS
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+CMMSVIEW(antislash)r");
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+CMMSSEND(antislash)r"); //Envoi du MMS
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
Serial2.print("AT+CMMSTERM(antislash)r"); // Fin du MMS
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
}

Pour toutes questions, remarques ou suggestions relatives à ce tutoriel, n’hésitez pas à nous contacter à notre page Facebook. (Même à 23h ou minuit si je ne dors pas je vous répondrai!)


Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “Module GSM GPRS SIM900L”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Tous les résultats de recherche
×