Modifications

Sauter à la navigation Sauter à la recherche
2 090 octets ajoutés ,  8 janvier 2014 à 21:06
aucun résumé de modification
Ligne 4 : Ligne 4 :  
Le shield GSM/GPRS est basé sur un module SIM900 de SIMCOM, il est compatible avec Arduino et ses clones. Le shield GPRS permet à votre Arduino de communiquer en utilisant le réseau  GSM. Ce shield permet d'envoyer des SMS, MMS, GPRS et de Audio en envoyant des commandes AT à l'UART (voir [http://fr.wikipedia.org/wiki/UART wikipedia] pour plus d'information). Les commandes AT supportées sont GSM 07.07 ,07.05 et SIMCOM enhanced AT Commands. Le shield dispose aussi des 12 GPIOs, 2 sorties PWM et du convertisseur Analogique/Digital [http://en.wikipedia.org/wiki/Analog-to-digital_converter ADC] du module SIM900 (accessible sur la carte, logique 2.8volts).
 
Le shield GSM/GPRS est basé sur un module SIM900 de SIMCOM, il est compatible avec Arduino et ses clones. Le shield GPRS permet à votre Arduino de communiquer en utilisant le réseau  GSM. Ce shield permet d'envoyer des SMS, MMS, GPRS et de Audio en envoyant des commandes AT à l'UART (voir [http://fr.wikipedia.org/wiki/UART wikipedia] pour plus d'information). Les commandes AT supportées sont GSM 07.07 ,07.05 et SIMCOM enhanced AT Commands. Le shield dispose aussi des 12 GPIOs, 2 sorties PWM et du convertisseur Analogique/Digital [http://en.wikipedia.org/wiki/Analog-to-digital_converter ADC] du module SIM900 (accessible sur la carte, logique 2.8volts).
   −
'''Shield disponible chez''' [http://mchobby.be/PrestaShop MCHobby.be ATTN:Liens vers MCHobby WebShop]
+
'''{{pl|63|Shield disponible chez MCHobby.be}}'''
    
[[File:GSM-Shield-01.jpg]]
 
[[File:GSM-Shield-01.jpg]]
Ligne 411 : Ligne 411 :     
=== Sending SMS: using Software UART  ===
 
=== Sending SMS: using Software UART  ===
 +
La plupart des cartes SIM vendues nécessites la saisie d'un code pin avant d'accéder au réseau mobile.
 +
Si c'est le cas de votre carte SIM vous avez deux choix:
 +
* Annuler l'usage du code pin avec la carte SIM (si cela est possible, voir avec votre opérateur).
 +
* Consulter les FAQ à propos de la commande AT "AT+CPIN". Utiliser SerialRelay2 sera bien utile pour conduire vos tests.
 +
 
'''Version du programme pour Arduino IDE < 1.0'''.  
 
'''Version du programme pour Arduino IDE < 1.0'''.  
   Ligne 483 : Ligne 488 :  
   mySerial.print("Bienvenu chez MCHobby!\r");    // Le texte du message
 
   mySerial.print("Bienvenu chez MCHobby!\r");    // Le texte du message
 
   delay(1000);
 
   delay(1000);
   mySerial.print(26,BYTE);  // Equivalent du Ctrl+Z (fin de texte du SMS)  
+
   mySerial.write(26);  // Equivalent du Ctrl+Z (fin de texte du SMS)
 +
                      // Note: ici il faut utiliser l'instruction write pour écrire un byte.
 
}
 
}
 
   
 
   
Ligne 494 : Ligne 500 :     
=== Faire un appel: en utilisant l'UART logiciel  ===
 
=== Faire un appel: en utilisant l'UART logiciel  ===
 +
'''Version d'Arduino < 1.0'''
 +
 +
Dans ce cas, nous utilisons la librairie NewSoftSerial
 +
 
  <nowiki>
 
  <nowiki>
 
#include <NewSoftSerial.h>   
 
#include <NewSoftSerial.h>   
Ligne 525 : Ligne 535 :  
   // Ne rien faire
 
   // Ne rien faire
 
}
 
}
 +
</nowiki>
 +
 +
'''Version d'Arduino >= 1.0'''
 +
 +
Dans ce cas, nous utilisons la librairie SoftwareSerial incluse dans l'installation d'Arduino
 +
 +
<nowiki>
 +
#include <SoftwareSerial.h> 
 +
 +
SoftwareSerial mySerial(7, 8);
    +
// relayer la réponse de fromSerial (type SoftwareSerial) vers
 +
//  le port serie d'Arduino (19200baud). Facile le deboggage
 +
void relayResponse( SoftwareSerial &fromSerial ){
 +
  // Attention, il faut attendre que l'UART réponde
 +
  // avant de lire mySerial (temps conseillé= 1sec)
 +
  //
 +
  while(fromSerial.available())
 +
  {
 +
    // Envoi le résultat sur la connexion série
 +
    char c = fromSerial.read();
 +
    Serial.print(c);
 +
  }
 +
}
 +
 +
void setup()
 +
{
 +
  mySerial.begin(19200);  // GPRS baud rate 
 +
  Serial.begin(19200);    // GPRS baud rate 
 +
  delay(2000);
 +
  mySerial.println("ATDxxxxxxxxx;"); // xxxxxxxxx est le numéro a appeler. 
 +
       
 +
  // NB: Une boucle while serait plus appropriée que la section de code ci-dessous.
 +
  //    Je vous propose d'appeler la fonction suivante:
 +
  //    relayResponse( mySerial )
 +
  if(mySerial.available())
 +
  {
 +
    char c = mySerial.read();
 +
    Serial.print( c );
 +
  } 
 +
 
 +
  delay(10000);
 +
  delay(10000);
 +
 +
  mySerial.println("ATH"); // Fin d'appel.
 +
  if(mySerial.available()) // Voir commentaire précédent.
 +
  {
 +
    char c = mySerial.read();
 +
    Serial.print( c );
 +
  }   
 +
}
 +
 +
void loop()
 +
{
 +
  // Ne rien faire
 +
}
 
</nowiki>
 
</nowiki>
   Ligne 532 : Ligne 597 :  
Attention!!! les broches GPIOs,PWMs et ADC du module SIM900 utilisent toutes une logique en 2,8 volts.
 
Attention!!! les broches GPIOs,PWMs et ADC du module SIM900 utilisent toutes une logique en 2,8 volts.
 
</font>
 
</font>
 +
 +
Comme pour tous les autres exemples, il suffit de remplacer NewSoftSerial par SoftwareSerial si vous utilisez un Arduino V1.0.
    
  <nowiki>
 
  <nowiki>
Ligne 570 : Ligne 637 :  
* [http://arduiniana.org/NewSoftSerial/NewSoftSerial10c.zip Librairie NewSoftLibrary]
 
* [http://arduiniana.org/NewSoftSerial/NewSoftSerial10c.zip Librairie NewSoftLibrary]
 
* [http://musicshield.googlecode.com/files/sscom32E.exe Serial Terminals(sscom32)]
 
* [http://musicshield.googlecode.com/files/sscom32E.exe Serial Terminals(sscom32)]
 +
* [http://www.geekonfire.com/wiki/images/2/24/GPRSshield_sch.pdf Schéma du shield]
    
== Ou acheter  ==
 
== Ou acheter  ==
Le shield GPRS peut être acheté chez MC Hobby. La page du produit est disponible [http://mchobby.be/PrestaShop ici]
+
Le shield GPRS peut être acheté chez MC Hobby. {{pl|63|La page du GSM/GPRS Shield est accessible ici}}
    
== Licence GeekOnFire ==
 
== Licence GeekOnFire ==
29 917

modifications

Menu de navigation