SIM900 without using AT commands

Greetings all!

I have purchased and am using the Arduino GSM Shield http://arduino.cc/en/Main/ArduinoGSMShield which is working very well, however it is on the expensive side. I have found a cheaper alternative which I would prefer to use as I will be buying many units. This alternative uses the SIMCOM SIM900 as opposed to the Quectel M10 found on the original Shield.

My question is: if the alternative is "Arduino compatible" (same pinouts etc.) can I use the Arduino GSM Libraries on it instead of the AT commands? I assume the Arduino libraries are actually using AT commands but just make them more user friendly and hidden. For example, the SIM900 example code for functions looks like this:

mySerial.println("AT+CGATT?");
  delay(1000);

  ShowSerialData();

  mySerial.println("AT+CSTT=\"CMNET\"");//start task and setting the APN,
  delay(1000);

  ShowSerialData();

  mySerial.println("AT+CIICR");//bring up wireless connection
  delay(3000);

  ShowSerialData();

  mySerial.println("AT+CIFSR");//get local IP adress
  delay(2000);

  ShowSerialData();

  mySerial.println("AT+CIPSPRT=0");
  delay(3000);

  ShowSerialData();

  mySerial.println("AT+CIPSTART=\"tcp\",\"api.cosm.com\",\"8081\"");//start up the connection
  delay(2000);

  ShowSerialData();

  mySerial.println("AT+CIPSEND");//begin send data to remote server

whereas what I want to be using is code like this:

while(notConnected)
  {
    if((gsmAccess.begin(PINNUMBER)==GSM_READY) &
        (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY))
      notConnected = false;
    else
    {
      Serial.println("Not connected");
      delay(1000);
    }
  }

Great question. I would like to know the answer as well ;)

EDIT:

this might be of help

https://github.com/MarcoMartines/GSM-GPRS-GPS-Shield

Hi,

Did you ever manage to figure this out?

I decided to just buy the original Arduino GSM shield, it wasn't worth the cash I would save

BUT

This should solve the problem. Someone has made libraries http://www.gsmlib.org/