SIM 800 L - c è qualcuno che ne è pratico?

Buongiorno,
ho acquistato un modulo SIM 800 L per inviare e ricevere sms. Prima di acquistarlo ho dato un' occhiata su internet ed ho notato che sembrava semplice da usare.
Ad esempio, ho visitato questa pagina:

Però una volta ricevuto il SIM800L mi sono reso conto che i valori delle Resistenze erano tutti sballati, in qualche modo ho ridotto la tensione a 4,2volt e adesso, quanto meno, s accende. Gli sketch d esempio non funzionano, provo ad inviare comandi tipo AT+CPIN? e delle volte mi da READY, altre volte ERROR. quindi non sono neanche sicuro, a questo punto, che la circuiteria da me realizzata sia davvero funzionale. Qualcuno di voi ha una guida, o esiste una libreria decente, o mi può dare una mano passo-passo?
Grazie mille
a buon rendere

in qualche modo ho ridotto la tensione a 4,2volt

Quale tensione e come hai ridotto?
Ciao Uwe

Come lampeggia il Led ?

All inizio con un partitore, come mostrato sullo schema alla pagina che ho linkato. quando ho visto che non andava e il led non si accendeva, ho usato questo schema:

con una batteria da 3,7v.
Domande: in ogni caso Arduino eroga 5volt, cosi facendo non brucio l ingresso del TX o RX dato che mando 5v?
il led lampeggia all infitino11 e 13 volte, la scheda è inserita correttamente.

Vi aggiorno. sto seguendo questo schema:

ma credo che il mio modulo sia malfunzionate perché (confermatemi o smentitemi)

  1. col tester, suona corto circuito se testo (a modulo spento) il Segnale dell' antenna (quel ferrino microscopico) con la Massa
  2. il led rosso non smette mai di lampeggiare
  3. se collego il Reset al BJT come nello schema, non lampeggia neanche, credo non si avvii proprio, è come se si resettasse anche senza segnale logico 1 erogato dal pin2 dell Arduino.
    In ogni caso, mettiamo che funzioni (a patto che scollego il RST).
    seguendo lo script della pagina che vi ho linkato, e mandando direttamente i comandi via seriale, ecco le risposte ottenute (la sim inserita è una Tim e la ricezione è alta, se la provo con un cellulare):

AT

OK

Call Ready

SMS Ready

AT+CPIN?

+CPIN: READY

OK

SMS Ready

AT+CREG?

+CREG: 0,2

OK

SMS Ready

ATk
AT+CREG?

+CREG: 0,2

OK
AT+CFUN=1

OK

AT+CREG?
ÿ [già da questa risposta mi viene da credere che sia BRUCIATO]

AT+COPS=?

+COPS: (1,"TELECOM ITALIA MOBILE","TIM","22201"),(3,"Wind Telecom SpA","I WIND","22288"),(3,"vodafone","voda IT","22210"),,(0-4),(0-2)

OK

AT+CMGF=1

OK

AT+CMGS="+39numero del destinatario" [ho provato con e senza \ ]

ERROR

Quindi i casi sono due:

  1. o il modulo va inizializzato agganciandolo alla rete italiana, non ho idea, insomma magari non va in rete perché non sa quale rete scegliere..sto brancolando nel buio..
  2. o è dannatamente bruciato.

Considerate che mentre io digitavo questi comandi, il led rosso lampeggiava a blocchi da 11, 13 oppure 9.

Io potrei anche comprarne un altro, ma siccome non mi va di bruciarlo di nuovo, vorrei sapere da voi che l avete usato, quale schema elettrico avete seguito (cosi, quanto meno non faccio danni sul nuovo!) e poi quali comandi esatti voi usate per inviare un semplice sms.
Grazie a tutti

PS: ho letto in un altro forum in inglese che il modulo NECESSITA di 2ampere per collegarsi alla rete. L ho presa per una bufala, non è mica un martello pneumatico, non può consumare così tanto. confermate?

Il Led deve fare un lampeggio ogni 3 secondi, altrimenti non è agganciato alla cella
Funziona sulla rete italiana e anche con TIM.

al comando AT+CREG?
deve rispondere con
+CREG: 0,1

a te dà +CREG;: 0,X ( per X vedere la seguente tabella )

0 Not registered, MT is not currently searching a new operator to register to
1 Registered, home network
2 Not registered, but MT is currently searching a new operator to register to
3 Registration denied
4 Unknown
5 Registered, roaming

Quindi o è la SIM montata male ( ma dici di no ) o più probabilmente è codesta specie di antennina.
Personalmente, quando provavo la Schedina non sono ma iriusicto a farla funzionare se non con un antenna del genere

konig87:
Vi aggiorno. sto seguendo questo schema:
GSM SIM800L Sheild with Arduino - Tutorials

Allora hai messo una batteria?
Non so se il modulo regge 5V sui pin RX/TX. Devi leggere sul datasheet.
Ciao Uwe

si ho montato la batteria.
Il modulo esce in dotazione con due antenne:
http://ebmstore.it/index.php?route=product/product&product_id=2602&search=GSM
il problema è che
quando scrivo +COPS mi restituisce

(1,"TELECOM ITALIA MOBILE","TIM","22201"),(3,"Wind Telecom SpA","I WIND","22288"),(3,"vodafone","voda IT","22210"),,(0-4),(0-2)

mentre quando digito +CREG: mi esce fuori 0,2
Tenta di agganciarsi ma non si aggancia. ho letto sul datasheet che si può anche agganciare manualmente, proprio per questo ho provato con AT+COPS=1,0,"vodafone" ma niente, o da errore o in pratica continua a non agganciarsi.
Nella paura che sia il modulo danneggiato, io potrei anche comprarne un altro, ma vorrei sapere da chi l ha già usato (non mi fido più dei vari tutorial, hanno schemi elettrici completamente diversi): come l hai collegato? quale script hai usato per inviare un normale sms? hai aggiunto una Libreria oppure con i comandi "diretti" come i miei?
Qualche dritta, tutto qui.
Grazie
PS: puoi testare se nel tuo, il tester suona MASSA tra il Segnale dell Antenna e il Negativo? secondo me non si aggancia xké ha proprio l uscita antenna bruciata, ma non mi spiego perché allora "vede" le reti vodafone, tim, wind.

konig87:
PS: ho letto in un altro forum in inglese che il modulo NECESSITA di 2ampere per collegarsi alla rete. L ho presa per una bufala, non è mica un martello pneumatico, non può consumare così tanto. confermate?

NO, non confermiamo e, se avessi letto il datasheet, sapresti che è esatto ... nel momento della connessione (... ma NON solo), necessita di picchi di 2A e se non glie li dai NON si connette e spesso si resetta e ricomincia.

Se ne è parlato una infinità di volte qui sul forum ... magari bastava fare una piccola ricerca ... ::slight_smile:

Guglielmo

gpb01:
NO, non confermiamo e, se avessi letto il datasheet, sapresti che è esatto ... nel momento della connessione (... ma NON solo), necessita di picchi di 2A e se non glie li dai NON si connette e spesso si resetta e ricomincia.

Se ne è parlato una infinità di volte qui sul forum ... magari bastava fare una piccola ricerca ... ::slight_smile:

Guglielmo

e allora come mai molti tutorial su internet usano la 5v dell arduino, che non arriva di sicuro a 2amp, e (a loro dire) funziona? a questo punto sono obbligato a mettere un LM317 come regolatore di tensione ed alimentare il tutto con un buon alimentatore da 12v-3amp?
inoltre, è normale che l uscita dell antenna sia a massa?
Grazie mille!

konig87:
e allora come mai molti tutorial su internet usano la 5v dell arduino, che non arriva di sicuro a 2amp, e (a loro dire) funziona?

Il 90% dei tutorial su internet sono delle emerite cagxxe, pieni di errori e fatti da "dilettanti allo sbaraglio", quindi ...

Fai sempre riferimento ai documenti ufficiali del produttore (tipicamente i datasheet) e lascia stare le "balle spaziali" che trovi su internet.

Guglielmo

P.S.: ... ti dirò di più, NON solo conta l'alimentatore, ma anche, ovviamente, la sezione dei conduttori che alimentatno il tutto.

esatto, internet è pieno di idiozie sgamabili anche "ad occhio".
Ho configurato il tutto con un LM317, siamo a 4,13volt, ho reimpostato at+cops=0 in modo che ricerchi in automatico, eppure continua a lampeggiare. Ho anche cambiato SIM.
Temo di averlo danneggiato a causa dei numerosi tentativi hardware che ho fatto (partitore all alimentazione, poi batteria..)
se qualcuno di voi ne possiede uno, per favore mi testa se il Segnale dell antenna e la Massa, con l integrato disalimentato, suonano col tester?
Inoltre, se ne dovessi acquistare un altro, qualche anima pia mi potrebbe disegnare il suo schema circuitale, così almeno sull Hardware sono sicuro?
Grazie per la disponibilità!
PS= se non ricordo male, all inizio-inizio il led dopo un po' si spegneva, ma in ogni caso non sono mai riuscito ad inviare alcun messaggio e il +CREG: era sempre: 0,2

e allora come mai molti tutorial su internet usano la 5v dell arduino

Non mi risulta......

Comunque fino a che non metti un'antenna decente mi sa' che non vai avanti

... mi testa se il Segnale dell antenna e la Massa, con l integrato disalimentato, suonano col tester?

Tranquillo, è normale

Questo è come lo collego io

Il transistor potresti anche toglierlo e mettere un diodo, cosi'


Ma ti perdi la compatibilità con le librerie

Grazie Brunello dello schema!!!
Siccome non riesco ad agganciarmi alla rete, ho provato a scrivere AT+COPS=1,0,"vodafone", per l aggancio manuale alla rete . Questo comando viene memorizzato sulla RAM dell 800L quindi quando spengo mi ritorna di default in aggancio automatico, oppure viene memorizzato sulla ROM? vorrei ripartire dall' inizio con lo schema tuo, c è un modo per resettare un' eventuale memoria interna dell 800L e ripartire da zero?
Oggi cercherò un' antenna migliore, tipo una delle centrali d allarme (che usano guarda caso lo stesso 800L).
Cortesemente, potresti anche postarmi uno script dell 800L che usi tu e che funziona? ad esempio un invio sms con la "chiusura" del messaggio?
Così una volta trovata l antenna e incollando uno sketch funzionante, beh se continua a non volerne mi sento autorizzato a comprarne uno nuovo!

Ho fatto un po' di prove ed effettivamente si possono usare i 5V di Arduino, basta aggiungere un Diodo ( per abbassare la tensione ) e un condensatore elettrolitico di almeno 330 ­­µF (con 220µF non partiva )

ecco uno sketch di esempio

/*
    Test Sim800L
*/
#include <SoftwareSerial.h>
SoftwareSerial Myserial(10, 11);

void setup() {
  // Reset del Modulo
  pinMode(2, OUTPUT);     // Pin collegato al Reset del modulo
  digitalWrite(2, LOW);   // invertire se si usa un NPN
  delay(100);
  digitalWrite(2, HIGH);  // invertire se si usa un NPN

  Serial.begin(9600);   // inizializza seriale per Arduino
  Myserial.begin(9600); // Inizializza SoftwareSerial
  delay (1500);
  Serial.println();
  Serial.println("Test seriale");
  Serial.println("il carattere PUNTO ESCLAMATIVO e' per fare CTRL-Z");
  Serial.println("il carattere LIRA resetta il modulo");
  Serial.println("il carattere DOLLARO invia un SMS");
  Serial.println("il carattere PERCENTUALE legge gli SMS");
  Serial.println();
  delay(2000);
  Myserial.write("AT\r\n");
}

void loop()
{
  if (Myserial.available() > 0)  Serial.write(Myserial.read());
  if (Serial.available() > 0) {
    bool stato = 0;
    char a = Serial.read();
    if (a == '!') {
      a = 26; // invia codice CTRL-Z
    }
    else if (a == '£') {
      digitalWrite(2, LOW);    // invertire se si usa un NPN
      delay(100);
      digitalWrite(2, HIGH);   // invertire se si usa un NPN
      stato = 1;
    }
    else if (a == '

) {
      invia_SMS(); // invia un SMS
      stato = 1;
    }
    else if (a == '%') {
      leggi_SMS(); // Legge gli SMS
      stato = 1;
    }
    if (stato == 0) {
      Myserial.write(a);
    }
  }
}

void invia_SMS() {
  Myserial.print("AT+CMGF=1\r");
  delay(1000);
  Myserial.print("AT+CMGS="+39338xxxxxxx"\r");
  delay(1000);
  Myserial.println("Prova invio di un SMS" );
  Myserial.println((char)26);
  Myserial.println();
}

void leggi_SMS() {
  Myserial.print("AT+CMGF=1\r");
  delay(100);
  Myserial.println("AT+CMGL="ALL"");
  Myserial.println();
}

niente... lampeggia all' infinito. Ho comprato anche questo modulo seguendo questo video:

ma continua a lampeggiare all infinito. Questo addirittura non risponde ai comandi AT via seriale.
Ho alimentato con un 12v 5amp esterno.
Sto impazzendo :frowning:
Ho provato con sim TIM e VODAFONE. credo siano le più affidabili, tutte e due relativamente nuove e con credito.
Non c è storia :frowning:
Altre idee?

Aggiorno, e scusatemi se spammo:
adesso il led è acceso correttamente, è agganciato ma a differenza di prima quando lo interrogo mi risponde con caratteri un po' latini, un po' particolari "£)!(£%=@.
Però adesso è agganciato, perché quando faccio AT+COPS=? Tim me lo da sul 2, è agganciato, ma non posso inviare comandi di invio sms non li riceve bene perché come io ricevo male ciò che lui ha da dirmi, lui riceve male i miei comandi. credo.
ho cambiato la baudrate, ma nulla.
Help, sembra che stiamo per farcela!

... è sicuramente un problema di baudrate o di impostazione della seriale ... devi trovare i giusti valori.

Guglielmo

si, ho provato tante combinazioni.potrebbe essere un problema di trasmissione DAL modulo VERSO arduino: lui i comandi miei li riceve, altrimenti darebbe errore di sintassi. però io ricevo male le sue risposte.
Una domanda: perché non posso utilizzare i pin 0 e 1, che su arduino sono contrassegnate come RX e TX?

I pin 0 ed 1 sono quelli usati dalla classe Serial e collegati al convertitore seriale <-> USB ... ovvero quelli che usi per fare debug ed inviare/ricevere dati verso/da monitor seriale.

NON è mai il caso di usarli dato che poi non pottresti più fare "debug" usando la seriale ... ::slight_smile:

Guglielmo