Need some M2M guidance

I have a project idea which involves a lot of steps. It is a workaround. I have tried to host a website on the arduino through a gsm shield but it seems like I have hit a wall with that. So for now here is the work around.

There are two units, A and B. A and B are both mobile and could be two feet away from each other at times and could also be hundreds of miles apart from each other. They must be able to communicate with each other in a second or less. I know how to do it through sms but that takes way too long. The only thing I can think of is by using the gsm shield. Each unit will have an arduino with a gsm shield and a sim card on the same network (example: at&t). They will then be able to communicate with each other, make requests, wait for requests, nearly instantly. These will be extremely short messages. The only thing they will be doing is telling each other "hey, I need you to set pin 5 high". Then later on it might ask "Is pin 5 high" and it will receive a reply "yes". Now obviously this is english translation of the computers communicating with each other but I am getting my point across no?

Anyways, I just need a push in the right direction for the code that will allow these to machines to talk to each other through the network (not voice or sms but data because it is faster).


What if you send and decode tones? (Nefarious individuals could hack that deal.) It's GSM, it's a "public" phone network. Still, for "data", could you interface an crummy old voice-channel modem into a GSM shield, and in so doing [u]not[/u] have to pay for SMS texting like you would with a GSM modem? [I don't know.]

Could someone please take 5 minutes to read and ponder and help me? Thanks.

They must be able to communicate with each other in a second or less.

The interval timing for completed messages is the alligator here, not the distance. One second will require that the units are always "connected" as this is the round-trip time from request to receive... that the message-processing stack is initiated and active and the uC is awaiting messages. It effectively eliminates UDP if you require guaranteed message delivery, so TCP/IP is an option but you will need to have some keep-alive activity ongoing and that will cost you in bandwidth consumption with most mobile carriers. As a prior at&t sub, there were many times that I found myself in a dead-zone, so this needs to be taken into consideration. BTW: no mobile carrier will grant you a guarantee of service connection... strictly on a best-effort basis.

Yes, unfortunately there will probably be dead zones. If only there was a satellite service like GPS but where the two devices could communicate.

Anyways, are you saying that having the arduino wait for a request uses bandwidth?