Go Down

Topic: Why the signal strength is empty? (Read 5001 times) previous topic - next topic

tseeteck

Hi,

I'v a GSM shield and Arduino Uno. I am able to get the following message from Serial Monitor using example programme: GSM/Tools/gsmNetworkScan.


---------
GSM networks scanner
looping start
looping end
Modem IMEI: 359231038101091
Scanning available networks. May take some seconds.
> STARHUB Pte Ltd
> MOBILEONE
> SingTel

Current carrier:
Signal Strength:  [0-31]
Scanning available networks. May take some seconds.

Current carrier:
Signal Strength:  [0-31]
Scanning available networks. May take some seconds.
-----------

Why the signal strength is empty?

Thanks for any help...

toonlumberjack

Hi,

same here. Did you solve the problem?

Best regards

davidgoth

Hi,

Execute the sketch replacing the line:

GSM gsmAccess;

with:

GSM gsmAccess(true);

Post your serial output.

RayIshido

Replacing GSM gsmAccess; with: GSM gsmAccess(true); doesn't change the serial output. I partially solved the problem commenting this lines:

//  Serial.println("Scanning available networks. May take some seconds.");
//  Serial.println(scannerNetworks.readNetworks());

now "current carrier" and "signal strength" are working.

davidgoth

I don't understand. In my shield in Spain works perfectly. Although, it's possible there may be a bug in the library.
Could you show more details?.

Saphyr

Hi,
i have a similar problem, but i didnt find a solution for me. if i upload program from my old notebook (Dell Vostro, win7 sp1) everything works good. Bud if i upload the same scatch from any other computer, signalStr is 0. Please, can someone help me?

Code:

#include <GSM.h>

#define PINNUMBER ""


#define GPRS_APN       "Internet"
#define GPRS_LOGIN     ""   
#define GPRS_PASSWORD  ""


GSMClient client;
GPRS gprs;
GSM gsmAccess(true);
GSMScanner signalScanner;
GSMModem modem;

boolean unconnected = true;
boolean serverConnected = false;


String IMEI = "";

void setup() {

Serial.begin(9600);

while (unconected) {
    if (gsmAccess.begin(PINNUMBER) == GSM_READY){
      Serial.println("GSM ready");
      Serial.println();
   
      if  (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY) {
      unconnected = false;
    } else {
      Serial.println("!!!!!! ERROR !!!!!!");
      delay(200);
     
    }
    }
  }

  Serial.println("GPRS ready");
  Serial.println();

}

void loop() {

  String net;
  int signalStr;
  net = signalScanner.getSignalStrength();
 
  //  Serial.println("Scanning available networks. May take some seconds.");
  //  Serial.println(scannerNetworks.readNetworks());

  signalStr = net.toInt() * (100 / 31);
  Serial.print("signal strength: ");
  Serial.print(SignalStr);
  Serial.println(" %");
delay(2000);

}

Go Up