GSRS/GSM problem


hello,

i using gprs shield v1.0 crowduino v1.0 , wish send sms using it. link shield :
http://www.elecrow.com/arduino-compatiable-c-109/shield-c-109_110/gprsgsm-shield-for-arduino-p-325.html , , link crowduino http://www.elecrow.com/arduino-compatiable-c-109/micro-controller-c-109_117/crowduino-with-atmega-328-p-338.html .it has arduino uno pin layout , dimensions inherits duemilanuve features + has bee shield (i dont know it).

i using arduino ide 1.05
i use latest gsm library 3.05 https://code.google.com/p/gsm-shield-arduino/downloads/list
the status led blinks @ rate of 64ms on/3000ms off, no pin sim card. romania , cosmote network shield should cover network frequency, right?

i have tested crowduino examples , works fine. cant seem shield anything.
with gsmscannetwork example code get: gsm networks scanner, thats , waited while , nothing happened.


code: [select]

// libraries
#include <gsm.h>

// pin number
#define pinnumber ""

// initialize library instance
gsm gsmaccess(true);     // include 'true' parameter enable debugging
gsmscanner scannernetworks;
gsmmodem modemtest;

// save data variables
string imei = "";

// serial monitor result messages
string errortext = "error";

void setup()
{
  // initialize serial communications , wait port open:
  serial.begin(9600);
  while (!serial) {
    ; // wait serial port connect. needed leonardo only
  }

  serial.println("gsm networks scanner");
  scannernetworks.begin();
 
  // connection state
  boolean notconnected = true;
 
  // start gsm shield
  // if sim has pin, pass parameter of begin() in quotes
  while(notconnected)
  {
    if(gsmaccess.begin(pinnumber)==gsm_ready)
      notconnected = false;
    else
    {
      serial.println("not connected");
      delay(1000);
    }
  }
 
  // modem parameters
  // imei, modem unique identifier
  serial.print("modem imei: ");
  imei = modemtest.getimei();
  imei.replace("\n","");
  if(imei != null)
    serial.println(imei);
}

void loop()
{
  // scan existing networks, displays list of networks
  serial.println("scanning available networks. may take seconds.");
  serial.println(scannernetworks.readnetworks());
 
    // connected carrier
  serial.print("current carrier: ");
  serial.println(scannernetworks.getcurrentcarrier());
   
  // returns strength , ber
  // signal strength in 0-31 scale. 31 means power > 51dbm
  // ber bit error rate. 0-7 scale. 99=not detectable
  serial.print("signal strength: ");
  serial.print(scannernetworks.getsignalstrength());
  serial.println(" [0-31]");

}


with sendsms example on serial monitor: sms messages sender. nothing else.
i need certain

use code have try. , if there problems can contact techsupport[at]elecrow.com.
code: [select]

#include <softwareserial.h>
#include <string.h>
#include <avr/pgmspace.h>

softwareserial myserial(7, 8);
unsigned char sigq[50];
unsigned char sigq1[5]={'a','a','a','a','a'};
int sigq=0;

/*
*********************************************************
setup()
*********************************************************
*/
void setup()
{
 myserial.begin(19200);
 serial.begin(19200);
 delay(500);
 pinmode(9, output);
 digitalwrite(9,low);
 delay(1000);
 digitalwrite(9,high);
 delay(1500);
 digitalwrite(9,low);
 delay(2000);

 
//*******************************************************
//getsignalquality();
//*******************************************************
 for(int x=0;x<20;x++)
   {
  getsignalquality();  
   delay(800);
   for(int i=0;i<26;i++)
   {
  if(sigq[i]==58)
  {    
    int j=0;
    int k=0;
    i++;i++;
    while((sigq[i+j])!=44)
    {
     if((sigq[i+j]>='0'&&sigq[i+j]<='9'))  //>=48 <=57
     {
     sigq1[j]=sigq[i+j];    
      }
      j++;  //j=1
    }    
    sigq=sigq1[0]-'0';
   
    if(j==2)
    {
    sigq=sigq*10+sigq1[1]-'0';
    }  
  serial.println("");
  serial.print("sigq:");
  serial.println(sigq);
    }  
  }
  if (sigq>=10)
  {
    break;
  }
  if(x==20)
  {
   serial.print("the signal quality poor!");
  }
  }
//*******************************************************
///sendtextmessage()
///this function send sms message
//*******************************************************
sendtextmessage();
}
  void loop()
  {
while(myserial.available()!=0)
serial.write(myserial.read());
delay(10);
  }
 
//*******************************************************
//dialvoicecall();
//call  a numuber
//*******************************************************
void dialvoicecall()
{
 myserial.println("atdxxxx;");//dial number, xxxx ix phone number.
 delay(100);
 myserial.println();
}


//*******************************************************
///sendtextmessage()
///this function send sms message
//*******************************************************
void sendtextmessage()
{
 myserial.print("at+cmgf=1\r");    //because want send sms in text mode
 delay(100);
 myserial.println("at + cmgs = \"+xxxx\"");//send sms message,xxxx telephone number,  be careful need add country code before cellphone number
 delay(100);
 myserial.println("gsm test message!");//the content of message
 delay(100);
 myserial.println((char)26);//the ascii code of ctrl+z 26
 delay(100);
 myserial.println();
}


//*******************************************************
 //getsignalquality();
//*******************************************************

void getsignalquality()
{
 myserial.println("at+csq");  //get signal quality
 delay(100);
 int k=0;
 while(myserial.available()!=0)
 {    
   sigq[k]=myserial.read();  
   serial.write(sigq[k]);
   k+=1;
 }
}



Arduino Forum > Products > Arduino GSM Shield (Moderator: fabioc84) > GSRS/GSM problem


arduino

Comments

Popular posts from this blog

Convierte tu Raspberry en un NAS. Firmware fvdw-sl 15.3 - Raspberry Pi Forums

How to format a Get Request

avrdude: verification error, first mismatch at byte 0x0000 0x0c != 0x62