Académique Documents
Professionnel Documents
Culture Documents
com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
Connexion
MENU
Panier (vide)
Rechercher
CATÉGORIES
NOS PRODUITS
Emails avec Arduino et les modules SIM800 et SIM900
Après avoir envoyé des SMS, MMS et APPELS avec Les modules SIM800 et SIM900 et Arduino, nous allons maintenant...
MEGAZORD ACTIVATED: Appels, SMS, MMS et Autostart avec le shield SIM800C, le shield Carte SD et Arduino UNO
Si vous avez déjà regardé LES POWER RANGERS, alors vous savez que dans tous les épisodes (pratiquement!), chaque...
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 1/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
View All
FACEBOOK TIMELINE
Posted On: juin 24, 2020 Seen by: 35349 Categories: GSM/GPRS Author: Christian Joseph
Tags: Sim900 , Arduino Mega , GSM , GPRS , MMS , Appels , Arduino , Carte SD , Micro SD , SMS
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é.
Présentation du module:
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
/10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 2/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7 1: Liste des composants
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
Etape /10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 3/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
Lecteur de carte SD ou micro 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)
ARDUINO
SIM900
MEGA
TX2 RX
RX2 TX
GND GND
ARDUINO MODULE
MEGA 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
En poursuivant
SIM900. Si le code votre navigation
Pin est surla"ceLed
désactivé, site,état
vous devezclignote
réseau" accepter l’utilisation
toutes et l'écriture
les 3 secondes aude Cookies
bout sur votredès
d'un moment, appareil
que leconnecté. Ces Cookies
module SIM900 (petits
a terminé sonfichiers texte)
initialisation;
9.7
permettent
autrement
/10 de suivre
dès que
réseau126mobile.
le codevotre
Pin navigation,
est desactivé actualiser votre panier,
via le programme vous reconnaitre
Arduino, lorstoutes
la led clignote de votre
les prochaine
3 secondes,visite et sécuriser
ce qui votre
signifie que
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
connexion.
le module Pourest
SIM900 en bien
savoir plus et au
connecté
avis
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 4/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
Attention: pour l'envoi de MMS, le firmware du module doit être mis à jour afin d'être
compatible avec la France. C'est pourquoi tous nos modules SIM900 sont mis à jour et
sont compatibles MMS avec les réseaux France et Europe.
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.
Si vous utilisez un autre opérateur, voici les données à remplacer pour l'envoi de MMS dans le code:
/*
Projet: APPELS SMS MMS avec SIM900 et Carte SD
Auteur: Christian Joseph
Board: Arduino Mega 2560
Date: 20 May 2020
Website: https://www.eagle-robotics.com
*/
#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);
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())
{
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
while(Serial2.available())
9.7
{ permettent
/10 de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
data=Serial2.read();
Serial.write(data);
}
J'accepte
data=0;
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 5/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
}
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=='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
}
}
9.7
permettent de suivre votre navigation,
while(Serial2.available())
/10 actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
Serial.write(Serial2.read());
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
Serial2.print("AT+CMMSCID=1(antislash)r");
delay(1000);
if(Serial2.available()) J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 6/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
{
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());
}
delay(1000);
if(Serial2.available())
{
while(Serial2.available()) Serial.write(Serial2.read());
}
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7/10
delay(1000);
permettent Serial2.print("AT+CMMSRECP=(antislash)"+33644757223(antislash)"(antislash)r"); //Numérovisite
de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine du destinataire du MMS
et sécuriser votre connexion. Pour en savoir plus et
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 7/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
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());
}
}
void setup()
{
Serial.begin(9600);
Serial2.begin(115200);
} En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
/10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
void loop()
J'accepte
{
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 8/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
for ( int a=0; a<3; a++){
Serial2.println("AT");
delay(1000);
Serial2.print("AT+CMGF=1(antislash)r"); //Activation mode Texte
delay(1000);
Serial2.print("AT+CMGS=(antislash)""); //Numéro du destinataire
Serial2.println(numero[a]);
delay(1000);
//Serial2.print(message);//Message à envoyer
Serial2.write("Eagle Robotics est super"); //2eme methode pour envoyer un message
delay(3000);
Serial2.write((char)26); //Envoi du message
Serial.print(a);
delay(5000); //délai de 5 secondes entre les messages
}
}
}
void setup()
{
Serial.begin(9600); //initialisation communication avec le moniteur série arduino
Serial2.begin(115200); //initialisation communication avec le SIM900
Serial.println("Initialisation...");
delay(1000);
void loop()
{
while (Serial.available())
{
Serial2.write(Serial.read());
}
while(Serial2.available())
{
Serial.write(Serial2.read());
}
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
Serial2.write(Serial.read());
}
while(Serial2.available())
{
Serial.write(Serial2.read());
}
}
Et Voilà le résultat:
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
/10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 9/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
Nous allons maintenant envoyer un MMS avec notre module SIM900 et une photo prise avec une caméra UART PTC06 .
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
/10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 10/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
ATTENTION: Dans ce programme, la caméra PTC06 doit être reliée à notre carte Arduino Mega sur le port TX2 et RX2, tandis que le SIM900 communique avec
l'Arduino Mega sur le TX3 et RX3. Donc il va falloir déplacer les pins de la carte SIM900 du TX2/RX2 vers le TX3/RX3 de l'arduino Mega. La vitesse de transfert est de
38400 bauds. Pensez à redémarrer votre module SIM900 si vous étiez en train de l'utiliser afin de pouvoir l'utiliser à une vitesse de 38400 bauds. (Ne me demandez pas
pourquoi, mais ça fonctionne ainsi!)
Lorsque vous aurez téléchargé le programme dans la carte Arduino Mega, ouvrez le moniteur Série afin de voir le flux de données entre la carte Arduino Mega, La
caméra PTC06, et le SIM900.
Une fois que vous aurez réussi à faire fonctionner le programme ci-dessous, vous pourrez également ajouter par la suite un détecteur de présence comme le HC-
SR501, de sorte que votre carte Arduino prenne une photo et vous l'envoi par MMS en cas de détection de mouvement. ET ENCORE UNE FOIS, ATTENTION AUX
MECHANTS (antislash) à remplacer par leurs symboles.
#include "SPI.h"
#include "SD.h"
void setup()
{
Serial.begin(38400);
while (!Serial)
{
; // attente connecttion du port Série sur Arduino Leonardo uniquement
} En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
/10
Serial.print("Initialisationde la carte SD...");les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
paramétrer
126 avis
pinMode(53, OUTPUT);
J'accepte
if (!SD.begin(53))
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 11/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
{
Serial.println("initialisation KO!");
return;
}
Serial.println("initialisation Faite.");
Serial.println("Veuillez patienter ....");
void loop()
{
photo(); // prise de la photo avec la caméra
sendMMS(); // Envoi de la photo par MMS
while(1);
}
void photo(){
byte a[32];
int ii;
SendResetCmd();
delay(2000);
SendTakePhotoCmd();
delay(1000);
while(Serial2.available()>0)
{
incomingbyte=Serial2.read();
}
while(!EndFlag)
{
j=0;
k=0;
count=0;
SendReadDataCmd();
delay(20);
while(Serial2.available()>0)
{
incomingbyte=Serial2.read();
k++;
delay(1);
if((k>5)&&(j<32)&&(!EndFlag))
{
a[j]=incomingbyte;
if((a[j-1]==0xFF)&&(a[j]==0xD9)) //indique que la photo est prise
{
EndFlag=1;
}
j++;
count++;
}
}
for(j=0;j<count;j++)
{
if(a[j]<0x10) Serial.print("0");
Serial.print(a[j],HEX); // observation de l'image via le port série
Serial.print(" ");
}
myFile.close();
Serial.println("Photo dans la carte SD");
}
void sendMMS()
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
{
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
myFile = /10 SD.open("image7.jpg"); // ouverture de la photo prise
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
taille =126myFile.size();
avis // on récupère le poids de photo
taillephoto = String(taille, DEC); // Conversion du poids du format int au format String
Serial.print("Taille du fichier = "); J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 12/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
Serial.println(taillephoto); // Affiche le poids en octets de la photo
myFile.close(); // Fermeture de la photo
// Envoi du MMS
Serial3.println("AT");
delay(1000);//100
updateSerial();
Serial3.println("AT+CMMSINIT");
delay(1000);//100
updateSerial();
Serial3.print("AT+CMMSCURL=(antislash)"http://mms1(antislash)"(antislash)r");
delay(1000);
updateSerial();
Serial3.print("AT+CMMSCID=1(antislash)r");
delay(1000);
updateSerial();
Serial3.print("AT+CMMSPROTO=(antislash)"10.151.0.1(antislash)",8080(antislash)r");
delay(1000);
updateSerial();
Serial3.print("AT+CMMSSENDCFG=6,3,0,0,2,4,1,0(antislash)r");
delay(2000);
updateSerial();
Serial3.print("AT+SAPBR=3,1,(antislash)"CONTYPE(antislash)",(antislash)"GPRS(antislash)"(antislash)r");
delay(1000);
updateSerial();
Serial3.print("AT+SAPBR=3,1,(antislash)"APN(antislash)",(antislash)"sl2sfr(antislash)"(antislash)r");
delay(1000);
updateSerial();
Serial3.print("AT+SAPBR=1,1(antislash)r");
delay(2000);
updateSerial();
Serial3.print("AT+SAPBR=2,1(antislash)r");
delay(1000);
updateSerial();
Serial3.print("AT+CMMSEDIT=0(antislash)r");
delay(1000);
updateSerial();
Serial3.print("AT+CMMSEDIT=1(antislash)r");
delay(1000);
updateSerial();
delay(1000);
updateSerial();
dataFile=SD.open("image7.jpg");
a=0;
if(dataFile)
{
while(dataFile.available())
{
data=dataFile.read();
if(data<0x10) Serial.print("0");
Serial.print(data,HEX);
a++;
if((a%40)==0) Serial.println();
Serial3.write(data);
}
dataFile.close();
}
else
{
Serial.println("erreur de fichier");
}
delay(1000);
Serial3.print("AT+CMMSRECP=(antislash)"+33641363164(antislash)"(antislash)r");
delay(1000);
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
updateSerial();
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
/10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
Serial3.print("AT+CMMSVIEW(antislash)r");
delay(1000);
updateSerial(); J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 13/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
Serial3.print("AT+CMMSSEND(antislash)r");
delay(1000);
updateSerial();
Serial3.print("AT+CMMSEDIT=0(antislash)r");
delay(100);
updateSerial();
Serial3.print("AT+CMMSTERM(antislash)r");
delay(1000);
updateSerial();
}
void SendResetCmd() // reset de la caméra
{
Serial2.write(0x56);
Serial2.write(ZERO);
Serial2.write(0x26);
Serial2.write(ZERO);
}
/*************************************/
/* réglage taille de l'image :
/* <1> 0x22 : 160*120
/* <2> 0x11 : 320*240
/* <3> 0x00 : 640*480
/* <4> 0x1D : 800*600
/* <5> 0x1C : 1024*768
/* <6> 0x1B : 1280*960
/* <7> 0x21 : 1600*1200
/************************************/
void SetImageSizeCmd(byte Size) // résolution de l'image
{
Serial2.write(0x56);
Serial2.write(ZERO);
Serial2.write(0x54);
Serial2.write(0x01);
Serial2.write(Size);
}
/*************************************/
/* Set BaudRate :
/* <1>¡¡0xAE : 9600
/* <2>¡¡0x2A : 38400
/* <3>¡¡0x1C : 57600
/* <4>¡¡0x0D : 115200
/* <5>¡¡0xAE : 128000
/* <6>¡¡0x56 : 256000
/*************************************/
void SetBaudRateCmd()
{
Serial2.write(0x56);
Serial2.write(ZERO);
Serial2.write(0x31);
Serial2.write(0x06);
Serial2.write(0x04);
Serial2.write(0x02);
Serial2.write(ZERO);
Serial2.write(0x08);
Serial2.write(0X2A);
Serial2.write(0xF2);
}
void SendReadDataCmd()
{
MH=i/0x100;
ML=i%0x100;
Serial2.write(0x56);
Serial2.write(ZERO);
Serial2.write(0x32);
Serial2.write(0x0c);
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
Serial2.write(ZERO);
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
Serial2.write(0x0a);
/10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
Serial2.write(ZERO);
Serial2.write(ZERO);
Serial2.write(MH); J'accepte
Serial2.write(ML);
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 14/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
Serial2.write(ZERO);
Serial2.write(ZERO);
Serial2.write(ZERO);
Serial2.write(0x20);
Serial2.write(ZERO);
Serial2.write(0x0a);
i+=0x20;
}
void StopTakePhotoCmd()
{
Serial2.write(0x56);
Serial2.write(ZERO);
Serial2.write(0x36);
Serial2.write(0x01);
Serial2.write(0x03);
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
Serial3.write(Serial.read());
}
while(Serial3.available())
{
Serial.write(Serial3.read());
}
}
Notre système d'alarme s'active et se désactive par SMS et il envoi un message d'alerte par SMS toutes les 40 à 60 secondes en cas de détection d'anomalie, jusqu'à
ce qu'il soit désactivé.
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
/10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 15/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
Si vous souhaiter utiliser d'autres mots, la première phase consiste à afficher votre SMS reçu en entier et ensuite la seconde phase permet de compter le nombre de
caractères afin d'isoler le numéro entrant et le message reçu (prendre en compte les espaces aussi):
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
/10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 16/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
Donc nous savons que le numéro de téléphone commence au 10ème caractère et se termine au 20ème caractère, tandis que le mot "Activation" commence au 50ème
caractère et se termine au 59ème caractère. A partir de là dans notre programme, il nous suffira de dire à notre carte Arduino de concaténer (ou ajouter à la suite) tous
les caractères du 10ème au 20ème caractère dans une variable appelée "numero". Dans cet exemple, on aura donc à la fin numero = "33644757223" et on pourra
comparer cette variable de type String (ou chaine de caractères) avec le numéro que nous voulons.
Ensuite nous allons faire la même chose en mettant dans la variable "msgrecu" tous les caractères du 50ème au 59ème, et ensuite comparer avec le message que
nous attendons de recevoir. Si votre message est plus long ou plus court, il faudra compter à partir du 50ème caractère jusqu'au dernier caractère de votre message.
(pensez aussi à compter les espaces si votre message est composé de plusieurs mots).
Pour le mot "Stop" par exemple qui permet de mettre le système sur pause, nous avons compté à partir du caractère 50 au caractère n°53.
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 17/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
delay(2000);
}
void loop()
{
actif: delay(10);
configuration();// Activation du mode reception de sms
while(1){ // Boucle infinie d'attente d'activation: le système attent de recevoir un sms avec le mot "Activation"
//(Respecter les majuscules et minuscules et pas d'espace derrière)
activation(); // Attente du SMS avec le mot Activation pour autoriser le système à detecter des mouvements
if( r == 1){//la variable r = 1 si le SMS d'activation est valide
attachInterrupt(digitalPinToInterrupt(sensorPin), etat, HIGH);//Activation de l'autorisation d'interrution lorsque la broche de détecteur (sensorPin) passe à l'état HAUT
// les autres états possibles sont LOW (broche à l'état BAS), CHANGE(sur un changement d'état)
//RISING (état BAS vers état HAUT), FALLING(état HAUT vers état BAS)
// Choisissez l'état désiré en fonction de votre capteur
// Ici on choisi HAUT pour notre capteur de présence, mais on aurait pu choisir BAS
//pour un capteur de lumière pour indiquer que le capteur est exposé à la lumière.
message(activer); //Envoi du SMS de confirmation de mise en route du système
goto process;
}
}
process: // Dans cette boucle, on attend: 1)soit le SMS "Stop" pour désactiver le système. Imaginez vous oubliez vos clés de voiture dans la pièce
// et que vous ayez besoin d'y retourner. Dans ce cas vous envoyez "Stop" pour désactiver le système.
//2) soit notre détecteur se déclenche et le système envoi un message d'alerte. Là aussi il faut envoyer "Stop" pour tout désactiver.
configuration();
msgrecu=""; //On réinitialise les variable numero et msgrecu
numero ="";
desactivation1(); // Ceci est la désactivation si je veux entrer dans la pièce lorsque j'ai oublié mes clés par exemple.
if(r==2){ // Dans ce cas la variable r = 2
detachInterrupt(digitalPinToInterrupt(sensorPin));// on arrête toute interruption, sinon le sous-programme d'interruption s'executera sans fin
message(alerteStop); // on envoi le SMS indiquant que le système est mis en Pause
configuration(); //on efface tous les SMS reçus
goto actif;// on retourne au debut du programme en attente du mot "Activation" pour relancer le système
}
while(r == 3){ //la variable r = 3 en cas de détection d'un mouvement (ou de présence de lumière pour un capteur photosensible)
// Tant que r = 3 et SMS "Stop" non reçu, alors le SMS d'alerte est envoyé à l'utilisateur toutes les minutes environs
}
void etat(){ // Sous-Programme d'interruption en cas de détection
if(digitalRead(sensorPin) == HIGH){ // Broche du capteur à l'état HAUT - Mouvement détecté
Serial.println("Mouvement detecte");
r = 3;
detachInterrupt(digitalPinToInterrupt(sensorPin));// Fin d'autorisation d'interruption
Serial.println("fin interruption");
}
}
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 18/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
void updateSerial()
{
delay(500);
while (Serial.available())
{
Serial2.write(Serial.read());
}
while(Serial2.available())
{
Serial.write(Serial2.read());
}
}
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 19/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
compare2:
if(numero == "33644757223" && msgrecu == "Stop"){ //Test si bon numéro entrant et bon message
//autrement n'importe qui pourrait désactiver le système
Serial.println("Systeme inactif,reussi merci");
numero = ""; //On réinitialise les variable numero et msgrecu
msgrecu = "";
a = 0;
r = 0;
t = 0;
incoming_char = 0;
configuration();
delay(2000);
}
else{
Serial.println("mauvais numéro ou mauvaise commande");
numero = ""; //On réinitialise les variable numero et msgrecu
msgrecu = "";
a = 0;
t = 0;
incoming_char = 0;
configuration();
}
}
reception:
if(Serial2.available() > 0) {
incoming_char=Serial2.read();
if (a > 9 && a < 21){ // récupération du numéro de l'emetteur du SMS
numero += incoming_char; //on récupère le numéro caractère par caractère et on le stocke dans la variable numero
Serial.println(numero);
}
else if (a > 49 && a < 60){ // récupération du message de l'emetteur du SMS
msgrecu += incoming_char; //on récupère le message caractère par caractère et on le stocke dans la variable msgrecu
Serial.println(msgrecu);
}
a++;
if (a >= 60){ //Fin de reception et d'exploration du SMS(le sms entier fait 60 caractères)
goto compare;
}
}
}
compare:
if(numero == "33644757223" && msgrecu == "Activation"){ //Test si bon numéro entrant et bon message
//autrement n'importe qui pourrait activer le système
// Serial.println("Systeme actif,reussi merci");
numero = ""; //On réinitialise les variable numero et msgrecu
msgrecu = "";
a = 0;
r = 1;
incoming_char = 0;
configuration();//Efface le SMS reçu
goto sortie;
}
else{
// Serial.println("mauvais numéro ou mauvaise commande");
numero = ""; //On réinitialise les variable numero et msgrecu
msgrecu = "";
a = 0;
configuration();//Efface le SMS reçu
goto reception;
}
sortie: delay(10);
}
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 20/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
Pour toutes questions, remarques ou suggestions relatives à ce tutoriel, n'hésitez pas à nous contacter à projet@eagle-robotics.com. N'oubliez pas les flatteries
habituelles: "Oh Grand maître de la robotique"," Noble chevalier de la Technologie ",etc etc... sinon votre requête ne sera pas traitée!
Catégories
NOS PRODUITS
Informations
Nouveaux produits
Meilleures ventes
Livraison
Mentions légales
CGV
Paiement sécurisé
Mon compte
Mes commandes
Mes avoirs
Mes adresses
Mes informations personnelles
Mes bons de réduction
EAGLE ROBOTICS ®, 21 rue de Gravelines 86100 Châtellerault France - 512 550 039 00089 R.C.S. POITIERS - TVA non applicable - article 293 B du CGI
Appelez-nous au : 05 16 17 86 92 ou 06 44 75 72 23
E-mail : contact@eagle-robotics.com
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
/10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 21/22
09/05/2023 12:11 https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino
9.7/10
i
e Matériel en service,
servos sont super b
programme Arduino
commenté.
126 avis
el S. ACHETEUR ROBERT P.
1/12/2022 à 08h31 AUTHENTIFIÉ Le 24/04/2023 à 09h
Marchand approuvé par la Société des Avis Garantis, cliquez ici pour vérifier.
En poursuivant votre navigation sur ce site, vous devez accepter l’utilisation et l'écriture de Cookies sur votre appareil connecté. Ces Cookies (petits fichiers texte)
9.7
permettent de suivre votre navigation, actualiser votre panier, vous reconnaitre lors de votre prochaine visite et sécuriser votre connexion. Pour en savoir plus et
/10
paramétrer les traceurs: http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/
126 avis
J'accepte
https://www.eagle-robotics.com/blog/1-appels-sms-et-mms-avec-le-module-sim900-et-arduino 22/22