Arduino Forum

International => Italiano => Software => Topic started by: kchessa on Apr 12, 2019, 08:25 am

Title: [Risolto] Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on Apr 12, 2019, 08:25 am
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
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: bitmanrc on Apr 12, 2019, 12:56 pm
Mi sembra che vada alimentato a 5 volt.
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on Apr 12, 2019, 03:18 pm
Ho letto che accetta da 5V a 26V
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on Apr 15, 2019, 09:32 am
Buongiorno nessuno mi sa dare qualche indicazione???
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: gpb01 on Apr 15, 2019, 04:52 pm
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
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on Apr 16, 2019, 08:10 am
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
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: gpb01 on Apr 16, 2019, 02:51 pm
.... 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
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on Apr 16, 2019, 09:58 pm
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
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: gpb01 on Apr 17, 2019, 06:31 am
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
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on Apr 17, 2019, 11:59 am
Hai ragione usando coolterm sono riuscito ad inviare messaggio
grazie mille
ora proverò con gli sketch
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on Apr 30, 2019, 08:05 am
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);

  

 }    
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on Apr 30, 2019, 08:37 am
Perché stampi su serial invece che myserial?
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on Apr 30, 2019, 08:42 am
Ho visto degli esempi e mi sembrava giusto così proverò a fare come dici tu
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on Apr 30, 2019, 08:48 am
Se riesci ricordati un karma
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on Apr 30, 2019, 09:33 pm
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);

 

 }   
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on Apr 30, 2019, 11:52 pm
boh!
Magari non centra nulla, ma lo vedi che usi una println e in più metti anche un ritorno carrello+avanti riga?
non credo servano tutti e due
sei sicuro del cablaggio?
hai incrociato rx con tx?
perchè non fai la myserial.begin?
prova a scrivere un programma che legge dalla seriale HW e copia sulla seriale SW, e viceversa
così puoi comandare il modulo gsm dal terminale "attraverso" Arduino, e avrai certezza che la parte HW funziona correttamente
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on May 01, 2019, 07:14 pm
L'ho fatto e dando i comandi AT direttamente funziona quando provo con lo sketch non funziona
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on May 01, 2019, 07:22 pm
quindi tu hai collegato il PC (col suo terminale) all'arduino via USB, Arduino via Softserial al modulo, e così funziona?
bene, si tratta solo di scoprire quale errore c'è nel programma
quindi posta quello che funziona con l'emulatore di terminale e da li si parte
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on May 01, 2019, 09:34 pm
Non ho collegato la scheda via USB ma sui pin 10 e 11 come da SW che allego

Code: [Select]
#include <SoftwareSerial.h>
SoftwareSerial mySerial (10, 11);// TX, RX

void setup()
{
mySerial.begin(9600);   
Serial.begin(9600);
Serial.print("Please enter AT command:");   
delay(100);
}
void loop()
{
 if (Serial.available()>0)
 mySerial.write(Serial.read());
 if (mySerial.available()>0)
 Serial.write(mySerial.read());
}
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on May 01, 2019, 10:20 pm
quindi riassumendo:
con l'ultimo programma tu riesci a mandare gli SMS dal PC usando arduino come ponte
invece dando gli stessi comandi da arduino invece che da PC, con gli stessi collegamenti non ti riesce
ho capito giusto?
a parte che prima usavi 2 e 3, ma va bene, non cambiare più la configurazione, questa va e questa teniamo
aspetta che penso un poco...

Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on May 01, 2019, 10:24 pm
si hai capito bene quello che mi succede
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on May 01, 2019, 10:40 pm
Porta pazienza, ma devo fare alcune domande
esattamente, ma esattamente esattamente, cosa spedisci dal PC, col programma che va?
descrivimi la sequenza delle cose che fai
ah, una domanda
ma perchè non trasmetti il CTRL-Z finale? non c'è nel tuo listato
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on May 01, 2019, 10:48 pm
quando uso il terminale seriale invio:
AT+CMGF = 1
AT+CMGS="+39il mio numero"
il testo del messaggio
e poi ctrl-Z
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on May 01, 2019, 10:50 pm
sì, ma intendevo quando tenti di scriverlo da Arduino, li non ho trovato traccia del CTRL-Z, metti un CTRL-[
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on May 01, 2019, 10:54 pm
si l'ho messo mySerial.write((char)0x1D);
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on May 01, 2019, 10:57 pm
0x1D?
io ricordavo 0x1A
comunque il debug è semplice, basta che fai mandare al PC, via seriale, tutto quello che ti risponde il modulo
come hai fatto per il programma che funziona,
così sai dove si impianta........
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on May 01, 2019, 11:02 pm
provo a fare come mi hai detto
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on May 01, 2019, 11:05 pm
OK, io tra poco vado a nanna
fammi sapere
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on May 01, 2019, 11:29 pm
ho provato ma non funziona ancora l'unica cosa che ho notato è che quando digito io direttamente i comandi la scheda risponde con ok quando lo fa il sw non risponde e non manda nulla comunque ora stacco anche io vado a nanna
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on May 02, 2019, 06:52 am
ho provato ma non funziona ancora l'unica cosa che ho notato è che quando digito io direttamente i comandi la scheda risponde
metti qui il programma che vediamo
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on May 02, 2019, 06:41 pm
ecco il codice
Code: [Select]
#include <SoftwareSerial.h>
SoftwareSerial mySerial (10, 11);


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




 
  mySerial.print("AT+CMGF=1\r\n");    //Sending the SMS in text mode);
  if (Serial.available()>0)
 mySerial.write(Serial.read());
 if (mySerial.available()>0)
 Serial.write(mySerial.read());


  mySerial.print("AT+CMGS=\"+393355608213\"\r\n");//The target phone number
   if (Serial.available()>0)
  mySerial.write(Serial.read());
  if (mySerial.available()>0)
  Serial.write(mySerial.read());
 
  mySerial.print("Prova TXT\r\n");
  if (Serial.available()>0)
 mySerial.write(Serial.read());
 if (mySerial.available()>0)
 Serial.write(mySerial.read());

 mySerial.write((char)0x1D);
   mySerial.write("\r\n");
 if (Serial.available()>0)
 mySerial.write(Serial.read());
 if (mySerial.available()>0)
 Serial.write(mySerial.read());
  delay(100);

 

 }   
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on May 02, 2019, 07:37 pm
così non andrà mai
non tratti correttamente i dati in arrivo dal modulo
non tieni una tempistica, spari tutti i dati senza attendere che il modulo risponda (anche se forse non serve, non so non ho quel modulo)
continui a non trasmettere il CTRL-Z, e non te lo dico più
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on May 02, 2019, 07:53 pm
Guarda, ti do un consiglio
c'è qui sul forum uno che ha fatto un allarme con un PIR e un modulo GSM
https://forum.arduino.cc/index.php?topic=613577.msg4158791#msg4158791 (https://forum.arduino.cc/index.php?topic=613577.msg4158791#msg4158791)
prova a vedere come fa lui, vedrai che ha una gestione delle seriali differente dalla tua, cerca di capire in cosa
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on May 02, 2019, 11:27 pm
sto provando un comando alla volta e sono riuscito a ottenere l'ok dalla scheda ora stacco e vado a dormire
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Moce993 on May 03, 2019, 11:33 am
Ciao,

ho utilizzato per un progetto il modulo sim800c che è molto simile e ho avuto anche io alcune difficoltà con la seriale.

Ma perché non usi una libreria dedicata ? tipo la TinyGSM (https://github.com/vshymanskyy/TinyGSM) che supporta anche il modulo che utilizzi te.

Come baudrate io ho trovato problemi con 9600 ed ho utilizzato 57600.

Poi ho visto che alimenti il modulo a 12V, quindi presumo che sulla scheda ci sia un regolatore di tensione che abbassa la tensione, perché se leggi sul datasheet (https://cdn-shop.adafruit.com/datasheets/SIM808_Hardware+Design_V1.00.pdf) la tensione di alimentazione va da 3,4V a 4,4V e loro consigliano di alimentarlo a 4V in realtà dalle prove che ho fatto già a 3,6V-3,7V la comunicazione con la seriale faceva quello che voleva.

Infine non sapendo come è fatta la scheda del modulo sim808 fai attenzione a come colleghi i pin della porta seriale, perché la seriale non è tollerante alla tensione di 5V ma al massimo 2,8V, sempre sul datasheet trovi anche svariati esempi di come collegare la seriale con MCU esterni.

P.S. mi è venuto pure in mente che volendo con quella libreria hai anche l'opzione di autobaud.
Title: Re: Non riesco ad inviare SMS con modulo modulo SIM808
Post by: kchessa on May 06, 2019, 10:14 pm
Finalmente sono riuscito ho riscritto tutto e d ora funziona sbagliavo in molto punti.
Allego il codice
Code: [Select]
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11);

void setup()
{
mySerial.begin(9600);  //inizializzazione porta seriale
mySerial.print("\r");
delay(1000);                    //aspetto che il modem risponda "OK"
mySerial.print("AT+CMGF=1\r");    //configuro per inviare SMS in formato testo
delay(1000);

mySerial.print("AT+CMGS=\"+39XXXXXXXXX\"\r");    //imposto il numero di telefono del destinatario
//Replace this number with the target mobile number.
delay(1000);
mySerial.print("Test!\r");   //il testo del messaggio
delay(1000);
mySerial.write(0x1A);  // Ctrl+Z finale
}

void loop()
{

}
Title: Re: [Risolto] Non riesco ad inviare SMS con modulo modulo SIM808
Post by: Standardoil on May 06, 2019, 10:37 pm
Bravo
in pratica hai fatto più o meno come ti avevo detto
tempo per i comandi e Ox1A
è tuo il mio sessantottesimo Karma?
Title: Re: [Risolto] Non riesco ad inviare SMS con modulo modulo SIM808
Post by: zoomx on May 07, 2019, 09:09 am
Se vuoi migliorare il programma dovresti attendere l'OK che il modulo ti dovrebbe restituire per alcuni comandi e prima della trasmissione del messaggio controllare, con gli appositi comandi AT, che il modem sia ancora connesso alla rete.