Go Down

Topic: [Risolto] Non riesco ad inviare SMS con modulo modulo SIM808 (Read 793 times) previous topic - next topic

kchessa

Buongiorno ho collegato un Arduino uno e il modulo SIM808 utilizzando un codice di comunicazione seriale caricato su Arduino, usando il terminale seriale comunico con la scheda riesco a dare i vari comandi in AT e la scheda mi risponde, vedo tramite i comandi AT che reti GSM vede la scheda su che rete è agganciata la versione FW, quando provo a mandare un SMS :
AT+CMGF = 1
ok
AT+CMGS="+393355608213"
>test
do il CTRL-Z ma il messaggio non parte e devo resettare il modulo SIM808 perchè poi non risponde più ai comandi AT
Il modulo SIM808 è alimentato con alimentatore da 12 V 3 A la scheda Arduino è alimentata dalla porta USB del PC
Dalla scheda Vodafone ho disabilitato il PIN e ho provato a mandare degli SMS da un telefono e li invia.
Ho provato anche a usare un codice che invia gli SMS ma di fatto non li invia come quando uso il monitor seriale.
Non so dove stò sbagliando

bitmanrc


kchessa


kchessa

Buongiorno nessuno mi sa dare qualche indicazione???

gpb01

Dopo il testo da inviare invi anche un CR/LF? Perché, se ben ricordo, deve ridarti il carattere'>' ...
... comunque la cosa migliore è che controllo la sintassi esatta nel manuale dei comandi AT del SIM808.

Guglielmo
Search is Your friend ... or I am Your enemy !

kchessa

Dopo il testo do l'invio e mi dovrebbe rispondere con l'ok dopo l'invio del messaggio ma si blocca e devo resettare la scheda perchè non risponde più ai comandi AT, perdonami LF cosa sarebbe???
Ora guardo bene sul manuale comunque.
Grazie intanto

gpb01

.... perdonami LF cosa sarebbe???
CR = carriage return = 0x0D
LF = line fedd = 0x0A

Comunque controlla perché non credo che nell'invio del testo di un SMS risponda OK, ma risponde sempre con un '>' per indicare che attende nuovo testo sino al CTRL-Z.

Guglielmo
Search is Your friend ... or I am Your enemy !

kchessa

Hai ragione il problema è che rimane come in attesa del ctrl-z visualizzando solo > ma ho provato più volte e non accetta il comando ctrl-z
tutto questo al di fuori di uno sketch che da i comandi in automatico solo dal monitor seriale, ho anche provato dallo sketch, ma non funziona e fino a quando non riesco dal monitor seriale e inutile provare in altro modo

gpb01

Non credo che il monitor seriale ti faccia inviare veramente il codice del CTRL-Z ...
... prova con un vero emulatore di terminale, es. CoolTerm (che è gratuito).

Guglielmo
Search is Your friend ... or I am Your enemy !

kchessa

Hai ragione usando coolterm sono riuscito ad inviare messaggio
grazie mille
ora proverò con gli sketch

kchessa

#10
Apr 30, 2019, 08:05 am Last Edit: Apr 30, 2019, 08:07 am by kchessa
Pensavo di aver risolto invece dopo essere riuscito a inviare SMS usando coolterm, ritenevo che inviarli tramite sketch fosse semplice, invece è giorni che ci provo ma non riesco allego il codice che ho semplificato per capire dove sbaglio, non capisco perchè usando il coolterm la scheda rispode ai vari comandi con OK invece da sketch non risponde e ovviamente non invia SMS

Code: [Select]
#include <SoftwareSerial.h>
SoftwareSerial mySerial (2, 3);


void setup()
{
 
Serial.begin(9600);
Serial.print("Please enter AT command:");
delay(100);
}
void loop(){



  Serial.println("AT+CMGF=1 \r\n");    //Sending the SMS in text mode);
  delay(3000);
  Serial.println("AT+CMGS=\"+393355608213\" \r\n");//The target phone number
  delay(3000);
  Serial.print("Prova TXT" "\r\n");
  delay(3000);
  Serial.print((char)0x1D);
  delay(3000);

  

 }    

Standardoil

Perché stampi su serial invece che myserial?
Prima legge di Nelson (che sono io): fai le stesse cose sempre alla stessa maniera, quegli errori li hai già corretti

Non bado a studenti, che vadano a copiare da un'altra parte

Se io ti domando e tu non mi rispondi vuol dire che non ti serve più

kchessa

Ho visto degli esempi e mi sembrava giusto così proverò a fare come dici tu

Standardoil

Prima legge di Nelson (che sono io): fai le stesse cose sempre alla stessa maniera, quegli errori li hai già corretti

Non bado a studenti, che vadano a copiare da un'altra parte

Se io ti domando e tu non mi rispondi vuol dire che non ti serve più

kchessa

ho provato modificando il codice ma non funziona ancora

Code: [Select]
#include <SoftwareSerial.h>
SoftwareSerial mySerial (2, 3);


void setup()
{
 
Serial.begin(9600);
Serial.print("Please enter AT command:");
delay(100);
}
void loop(){



  mySerial.println("AT+CMGF=1 \r\n");    //Sending the SMS in text mode);
  delay(3000);
  mySerial.println("AT+CMGS=\"+393355608213\" \r\n");//The target phone number
  delay(3000);
  mySerial.print("Prova TXT" "\r\n");
  delay(3000);
  mySerial.print((char)0x1D);
  delay(5000);

 

 }   

Go Up