Modifications

Sauter à la navigation Sauter à la recherche
aucun résumé de modification
Ligne 36 : Ligne 36 :  
| Permet d'envoyer un tilde au GPRS shield
 
| Permet d'envoyer un tilde au GPRS shield
 
|}
 
|}
 +
 +
== Code Source ==
 +
 +
<nowiki>
 +
// Serial Relay v2.0
 +
// EN:
 +
//  Arduino will patch serial link between the computer and
 +
//  the GPRS Shield at 19200 bps 8-N-1
 +
//  Computer is connected to Hardware UART
 +
//  GPRS Shield is connected to the Software UART
 +
//
 +
//  This version allows to send escape sequence to GPRS Shield (for SMS messaging)
 +
//  use <tilde>z for Ctrl-z
 +
//  use <tilde>e for ESC
 +
//  use <tilde><tilde> for <tilde>
 +
//
 +
//  Require the Arduino serial monitor to be configured on
 +
//  19200 bds + Carriage Return
 +
//
 +
// FR:
 +
//  Arduino va établir une liaison série entre l'ordinateur et
 +
//  le shield GPRS a 19200 bauds 8-N-1
 +
//  L'ordinateur est connecté à un UART matériel
 +
//  Le shield GPRS est connecté a un UART logiciel.
 +
//
 +
//  Cette version permet d'envoyer des séquences d'échappement au
 +
//  shield GPRS (pour envoyer une fin de message pour les SMS)
 +
//  utiliser <tilde>z pour Ctrl-z
 +
//  utiliser <tilde>e pour ESC
 +
//  utiliser <tilde><tilde> pour un tilde
 +
//
 +
//  Le moniteur série d'Arduino doit etre configuré sur
 +
//  19200 bds + Carriage Return
 +
//
 +
// Licence: CC-BY-SA
 +
// Meurisse D.
 +
// http://www.mchobby.be
 +
//
 +
#include <NewSoftSerial.h>
 +
 +
NewSoftSerial mySerial(7, 8);
 +
 +
// EN: 1 means than escape caracter (tilde) has been detected from Serial Monitor (Arduino Side)
 +
// FR: 1 indique que le caractere d'echappement est détecté sur le moniteur serie (coté Arduino)
 +
int escapingFlag = 0;
 +
 +
void setup()
 +
{
 +
  mySerial.begin(19200);              // the GPRS baud rate 
 +
  Serial.begin(19200);                // the GPRS baud rate 
 +
}
 +
 +
void loop()
 +
{
 +
    char SerialInByte;
 +
    if(Serial.available())
 +
    {
 +
      // EN: Listen to Arduino IDE serial Moniteur
 +
      // FR: Ecouter les envois du serial moniteur d'Arduino IDE
 +
      char SerialInByte;
 +
      SerialInByte = (unsigned char)Serial.read();
 +
     
 +
        // EN: Intercept escape character (tilde) for escape sequence
 +
      // FR: Intercepter le caractere d'echappement (tilde) for une sequence d'echappement
 +
      if( (SerialInByte == 126) && (escapingFlag==0) ) {
 +
        escapingFlag = 1;
 +
        return; // wait next caracter / attendre caractere suivant
 +
      }
 +
      else {
 +
        // EN: complete escaping sequence (if appropriate)
 +
        // FR: complete la séquence d'echappement (if appropriate)
 +
        if( escapingFlag == 1 ){
 +
          if( SerialInByte == 122 ){ // (tilde) z = Ctrl Z
 +
            SerialInByte = 26;
 +
          }
 +
          if( SerialInByte == 101 ){ // (tilde) e = ESC
 +
            SerialInByte = 27;
 +
          }
 +
          escapingFlag = 0;
 +
        }
 +
       
 +
        // EN: Normal working. Simply send character (escaped or not) to GPRS shield
 +
        // FR: Fonctionnement normal. Envoyer le caractere (echappé ou non) vers GPRS shield
 +
        mySerial.print( SerialInByte );       
 +
      }     
 +
     
 +
    } 
 +
    else  if(mySerial.available())
 +
    {
 +
      // EN: Listen to GRPS shield + relay to Arduino Serial Monitor
 +
      // FR: Ecouter les envois du GPRS shield + Renvoi vers Arduino Serial Monitor
 +
     
 +
      Serial.print((unsigned char)mySerial.read());
 +
    } 
 +
 +
}
 +
</nowiki>
 +
 +
== Exemple ==
 +
Voici un exemple d'envoi de SMS depuis le Serial Moniteur d'Arduino IDE.
 +
 +
Les réponses OK sont renvoyée par la GRPS Shield, le caractère ">" est une invite du SIM900 à poursuivre le message SMS.
 +
 +
Note:La commande "AT+CMGF=1" sert a passer la gestion des messages SMS en mode texte.
 +
 +
  <nowiki>AT
 +
 +
OK
 +
AT+CMGF=1
 +
 +
OK
 +
AT+CMGS="+32499667788"
 +
> For sure, GPRS Shield
 +
> is really awesome
 +
>
 +
<nowiki>
 +
 +
C'est sur cette dernière ligne avec le ">" que vous entrez la séquence "~z" pour envoyer un CTRL-Z au GPRS Shield.
 +
 +
Le GPRS shield cloturera le message SMS et l'enverra sur le réseau mobile. Vous obtiendrez une réponse du genre.
 +
<nowiki>+CMGS: 127
 +
 +
OK
 +
</nowiki>
 +
 
{{MCH-Accord}}
 
{{MCH-Accord}}
29 836

modifications

Menu de navigation