Sim 900A module problem


i bought sim900 module ebay because smallest 1 find. see attached photos.

sadly not connecting network @ all. can sent @ commands device , read out data (using gsmshield library) status light blinks every second.

the sim vodafone uk sim, know theres 900mhz transmitter 200meters away. tested sim in normal phone , worked fine. have tried powering module 2a 5v supply didn't make difference. understand module try connect automatically when given power regardless of serial connection being present.

have not been able magical 3 second blink!

has used particular module before? i'm using default example sketch library. see below.

code: [select]
#include "sim900.h"
#include <softwareserial.h>
//#include "inetgsm.h"
//#include "sms.h"
//#include "call.h"

//to change pins software serial, use 2 lines in gsm.cpp.

//gsm shield arduino
//www.open-electronics.org
//this code based on example of arduino labs.

//simple sketch communicate sim900 through @ commands.

//inetgsm inet;
//callgsm call;
//smsgsm sms;

int numdata;
char inserial[40];
int i=0;


void setup()
{
  //serial connection.
  serial.begin(9600);
  serial.println("gsm shield testing.");
  //start configuration of shield baudrate.
  //for http uses raccomanded use 4800 or slower.
  if (gsm.begin(9600))
    serial.println("\nstatus=ready");
  else serial.println("\nstatus=idle");
};

void loop()
{
  //read new byte on serial hardware,
  //and write them on newsoftserial.
  serialhwread();
  //read new byte on newsoftserial.
  serialswread();
};

void serialhwread(){
  i=0;
  if (serial.available() > 0){            
    while (serial.available() > 0) {
      inserial[i]=(serial.read());
      delay(10);
      i++;      
    }
    
    inserial[i]='\0';
    if(!strcmp(inserial,"/end")){
      serial.println("_");
      inserial[0]=0x1a;
      inserial[1]='\0';
      gsm.simplewriteln(inserial);
    }
    //send saved @ command using serial port.
    if(!strcmp(inserial,"test")){
      serial.println("signal quality");
      gsm.simplewriteln("at+csq");
    }
    else{
      serial.println(inserial);
      gsm.simplewriteln(inserial);
    }    
    inserial[0]='\0';
  }
}

void serialswread(){
  gsm.simpleread();
}

solved..

for finds , has same problem. issue sim900a module designed china. need re-flash module correct firmware. blog has guide doing that.
http://amichalec.net/2014/08/sim900a-fixed-for-europe/

i used arduino nano connected d0 & d1 serial of module , held reset while wrote firmware. note takes quite while patient don't let go of reset button!


Arduino Forum > Using Arduino > Networking, Protocols, and Devices (Moderator: fabioc84) > Sim 900A module problem


arduino

Comments

Popular posts from this blog

invalid use of void expresion in FlexiTimer2 library

error: a function-definition is not allowed here before '{' token

LED Strip Code