Pages: [1]   Go Down
Author Topic: [risolto]LIBRERIA GSM , GPRS SHIELD e lettura sms in entrata un consiglio...  (Read 1165 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

salve ragazzi...

sto implementando il mio progettino basato su arduino uno e gprs shield sim900 (seeedstudio)

fino ad ora tutto ok.. riesco a far partire chiamate o sms al verificarsi di alcune condizioni ecc...

ora mi si pone un problema enorme per me....

vorrei che arduino interpreti una stringa arrivata via sms  ed esegua un comando x...

ho cercato di tutto ma non ci sono proprio riuscito...
le librerie che ho usato per la mia shield sono state fatte a mano da me e da qualche altro utente del forum, funzionano bene ma non trattano assolutamente la lettura degli sms...

girando in rete ho letto qualcosa sulle librerie GSM della seedstudio stessa... dicono che sono molto complete ma nn so proprio da dove iniziare per istallarle....

qualcuno di voi ha qualche altra idea per superare il mio ostacolo?
avete provato queste librerie GSM?


vi posto un pezzo del mio codice dove ovviamente manca la lettura degli sms..... magari qualcuno mi da qualche dritta per farla direttamente io....


Code:
#include <SoftwareSerial.h>
#include <String.h>
#include <leOS.h>
SoftwareSerial mySerial(7, 8);
int ledcontrollo = 13; //led di controllo stato sensore PIR

int sen = 10; //porta sensore PIR
int allarme = 0; //variabile di controllo attivazione/disattivazione allarme

void setup()
{
  pinMode(9, OUTPUT);
  digitalWrite(9,LOW);
  delay(1000);
  digitalWrite(9,HIGH);
  delay(2000);
  digitalWrite(9,LOW);
  delay(3000);

  mySerial.begin(19200);  //inizializzazione shield gprs
  pinMode(sen, INPUT);  //pin di input sensore PIR
  pinMode(ledcontrollo, OUTPUT);
  delay(500);

  
}
void loop()
{
  if (digitalRead(sen) == HIGH){
    digitalWrite(ledcontrollo, HIGH);
    DialVoiceCall(); }
else{
  digitalWrite(ledcontrollo, LOW);}
  
}

void SendTextMessage()
{
  mySerial.print("AT+CMGF=1\r");    //Because we want to send the SMS in text mode
  delay(100);
  mySerial.println("AT + CMGS = \"+86138xxxxx615\"");//send sms message, be careful need to add a country code before the cellphone number
  delay(100);
  mySerial.println("A test message!");//the content of the message
  delay(100);
  mySerial.println((char)26);//the ASCII code of the ctrl+z is 26
  delay(100);
  mySerial.println();
}

void DialVoiceCall()
{
  mySerial.println("ATD + +3932xxxxxxx;");//dial the number
  delay(100);
  mySerial.println();
}

void controllo(){
if (digitalRead(sen) == HIGH){
    digitalWrite(ledcontrollo, HIGH);}
else{
  digitalWrite(ledcontrollo, LOW);}
}
« Last Edit: December 31, 2012, 09:56:15 am by skosso » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

proprio nessuno ha mai affrontato questo argomento?
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 110
Posts: 6986
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non credo che lo shield GSM sia molto diffuso.  smiley-fat
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

asp scusate adesso mi sorge un dubbio...
forse ho sbagliato a scrivere.. la mia non è un gsm shield

è una  SEEEDSTUDIO GPRS SHIELD SIM900


penso siano molto molto simili
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

risolto... ho usato le librerie open futura.. modificando il file GSM.H in base al modello della mia board...

l'argomento è molto rognoso...... se qualcuno dovesse avere problemi mandatemi un MP... almeno le notti insonni possono aiutare qualcuno....
Logged

0
Offline Offline
Full Member
***
Karma: 1
Posts: 170
http://www.open-electronics.org
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Trovi altre info qua..
http://www.open-electronics.org/gsm-gps-shield-for-arduino/
Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 87
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


perche funzionano solo pochissime funzioni cn questa libreria?
Logged

0
Offline Offline
Full Member
***
Karma: 1
Posts: 170
http://www.open-electronics.org
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Dipende cosa includi.
Per ottimizzare la memoria devi includere quello che ti occorre
Logged


0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao skosso,

scusa ma sto usando grosso modo lo stesso codice che hai usato tu, ma a me pare che il "giocattolo" non funzioni.
Il mio obiettivo è riuscire a fare una chiamata o inviare un sms da arduino.

L'hardware che sto usando è il seguente:
Arduino Uno
Seeduino Gprs Shield

Di seguito il codice, che poi è quello che ho trovato in rete riferito proprio dalla seeduino

Quote

#include <SoftwareSerial.h>
#include <String.h>
 
SoftwareSerial mySerial(7, smiley-cool;
 
void setup()
{
  mySerial.begin(19200);               // the GPRS baud rate   
  Serial.begin(19200);    // the GPRS baud rate
  delay(500);
}
 
void loop()
{
       SendTextMessage();
       DialVoiceCall();
 
///SendTextMessage()
///this function is to send a sms message
void SendTextMessage()
{
  mySerial.print("AT+CMGF=1\r");    //Because we want to send the SMS in text mode
  delay(100);
  mySerial.println("AT + CMGS = \"+39138xxxxx615\"");//send sms message, be careful need to add a country code before the cellphone number
  delay(100);
  mySerial.println("A test message!");//the content of the message
  delay(100);
  mySerial.println((char)26);//the ASCII code of the ctrl+z is 26
  delay(100);
  mySerial.println();
  delay(100000);
}
 
///DialVoiceCall
///this function is to dial a voice call
void DialVoiceCall()
{
  mySerial.println("ATD + +39138xxxxx615;");//dial the number
  delay(100);
  mySerial.println();
}


Gira tutto, vedo che il serial output si popola, ma dell'sms o della chiamata neppure l'ombra.

Grazie,
ciao
Logged

Pages: [1]   Go Up
Jump to: