Libreria SIM 900

Salve a tutti, avrei necessità di chiedere, prima di buttarmi a capofitto in una libreria che difficilmente interpreterei a fondo, se è possibile tramite codice all’interno del loop verificare se la rete GSM ha campo. In base alla presenza o meno di rete agire di conseguenza. Ho provato ad inserire il GSM.begin con relativi “if” all’interno del loop ma ovviamente mi blocca il resto.
Tempo fa ho condiviso un codice abbastanza scarno e contorto riguardo un rudimentale sistema antintrusione che nella sua grettezza pare funzionare. Ora sto studiando una soluzione antijammer. Grazie per il vostro tempo.

Salve a tutti, avrei necessità di gestire con una variabile il segnale di una GSM SIM 900 che al comando “AT+CSQ=?” Restituisce “(0,99)” e “(7,99)” su serial monitor. Credo di non aver capito come interpretare questi valori. Mi interesserebbe capire quali valori darebbe in caso di segnale assente o disturbato ma scollegando l’antenna i valori non cambiano. L’idea è realizzare una sorta di antijammer.
Grazie

@Rospo : ti prego di NON aprire più topic su argomenti simli, ma di usare quelli che hai già aperto. Ho riunito io i due tuoi topic dato che l’argomento è sempre quello … una sorta di antijammer.

Grazie.

Guglielmo

Grazie

Salve, potreste aiutarmi a correggere questo codice? Non ho ancora ben chiaro come rilevare tramite la funzione string la funziona at+csq trasformandola in variabile...

gsm.SimpleWriteln("AT+CSQ");
delay(500);
String linea;
linea == Serial.readString();
Serial.println (linea);
if (linea.equals("valore di linea assente")){
Serial.println("nolinea");
}
else { Serial.println("linea");}
delay(500);

AT+CSQThis command returns the signal strength of the registered network. The response is in the form +CSQ: ,, where is the received signal strength indication and has value from 0 (-113 dBm and lower) to 31 (-51 dBm and higher), or 99 if the signal strength is not known or not detectable. The parameter is channel bit error rate. It can be detected only during a call, in other cases has a value 0 or 99 according to SIM card. If this error rate can be measured, its value is from 0 to 7

Quindi 0,99 significa che il segnale è molto debole -113dB o meno e che il tasso di errore non è stato determinato perché viene stimato durante un collegamento attivo.
7,99 significa un segnale di -99dB e il 99, come prima, significa che il tasso di errore non è stato determinato.
https://m2msupport.net/m2msupport/atcsq-signal-quality/

Fosse anche una sola riga, il codice va racchiuso negli appositi tag ... :roll_eyes:

... cortesemente, quindi, edita il tuo post più sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice. Così com'è non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac all'intero del IDE). Grazie. :slight_smile:

Guglielmo