Getting started with GSM

Hi,

I am interested in doing a project with one of the GSM telit modules. These modules use SIM cards. My problem is that I don’t know much at all about the ins and outs of SIM cards and their plans. I’ve googled things up but there is a lot of confusing information and very little info geared towards developers that just want to use a GSM module to transmit a small amount of data.

If someone could point me to the right direction for any or all of these questions it would really help me out! In my application, I would like to set up embedded computers with GSM modules in somewhat rural/suburban locations (in the USA). I intend to transmit small amounts of data (periodically) to/from these stations and a server on the internet.

  1. I understand that the GSM modules use an “AT command” set. I remember this from the modem days. Does this mean I must explicitly “call” a server with a modem? What I would really like to do is to simply open a connection to an IP address and communicate over a TCP/IP socket. Can I reasonably expect to use protocols like SMTP, jabber, REST, or even SOAP?

  2. In the USA, it appears that I can get “prepaid” SIM cards from ATT, Cingular, and verizon. What I would like to have is a low-cost “data only” plan that will be enough for something like 10-100KB per day. Has anyone had experiences with this stuff? Is a dollar a day a reasonable estimate for the money “burn rate” of such a system?

Thanks!

  1. The “AT” command set is pretty complex; it’s only distantly descended from the old Hayes modem commands. The normal way to do internet stuff over a cell phone is to place a “call” to a fake number which brings up a PPP link (the other end of the PPP link is actually inside the phone; it talks some completely other protocol to the cell network, which routes packets to the gateway provided by your cell provider). You can run whatever IP-level protocols you want over that link, unless they’ve decided to firewall off the ports you wantto use. The Telit modules also have some higher-level commands, like the ability to open a TCP socket and send/receive data over it without having to implement the whole PPP/IP/TCP stack on your end. (I think you can only have one socket open at once this way though.)

  2. I’ve found it incredibly difficult to get straight answers from cell companies about what they offer in this area or what they might charge for any services they might offer. :evil:

Thanks wiml,

It really is confusing out there.

I see that I can get ATT SIM cards that indicate a certain cost/min for phone and SMS usage.

However, it does not seem to mention anything about a PPP link. Is that just billed by the minute like a normal call? Or is a PPP link billed separately in a some kind of “data” plan?

Has anybody gone through the ins-and-outs of this stuff? It would be really scary to fire up a telit module with a sim card and end up with a catastrophic bill after a month!

The PPP link is actually terminated inside the module (or cell phone). The cell network just sees it as GPRS traffic, so it’s billed as data. Presumably the Telit “open a tcp socket” command looks just the same from the cell network’s point of view.

T-Mobile (whom I use for my normal cell phone) has a cheap data plan which only lets you talk to their WAP gateway (they call this “the mobile internet” or “TMobileWeb”) and a more expensive one which gives you actual internet access. It took me a while to figure that out — nobody I talked to at T-Mobile had a clue.

I think what you’re doing is what the telcos would call either “telemetry” or “M2M” (machine-to-machine, not to be confused with mobile-to-mobile). If you’re able to get any information from any US carriers about this kind of thing, please post here… I tried for a while and gave up. I’m particularly interested in whether it’s cheaper than using a voice+data plan, or whether they just see it as an opportunity to gouge you.

You can get an activated, prepaid SIM from an AT&T store for $25. I wrote up a little about using one here:

http://gadgeteer.org/Telit_GM862-GPS