Arduino and GSM

Aus DL8RDS Wiki
Wechseln zu: Navigation, Suche

Oldrich from Hardwarekitchen has made a wonderful little GSM shield for the Arduino Duemillanove. This little project intends to show how to interface with the GSM networks.

1 Resources

2 Notes

2.1 Controlling the AT commands of the Telit GE863 modem

  • The GSM Playground board houses the Telit GE863-QUAD GSM module. This module is a really fantastic piece of electronic. There's a complete AT Hayes command set reference to it:
  • Note that the Arduino is sending exactly these AT commands with Serial.print() kind of calls to the module, on exactly the same channel as your Serial.print() commands in your program is working. So whenever you are using the Serial.print() command, the output will be sent to the module. This can be used in two ways: On the one hand it is highly disturbing up to blocking in your Arduino program code because it might just interrupt the execution of your program. On the other hand, it is rather easy to circumvent the HW Kitchen GSM library code, which is not necessary in many cases. Yes these guys from HW Kitchen have facilitated many things, but some other aspects are simply not accessible when using the library.
  • If you decide not to use the GSM library, it is extremely easy to initialize the module "by hand": Just send the according GSM commands via the Serial.print() call. That's it! This is the case if your UMTS / GPRS card requires a PIN. To my knowledge it is not possible to enter a PIN using the library, but you can easily do a serial print of the following two AT commands. That's it! Of course, they don't check if the Registration to the GSM network has succeeded, that's another issue, but there is also an AT command to do this. And all of these commands are documented in the command reference named above.
  • If you want to play around directly on the module, there is a little switch on the board which disconnects the output of the Arduino and forwards the serial channel of the modem directly to the USB2Serial FTDI chip of the Arduino. So in this case you can just directly connect to the module using a terminal program with 115200 bit/s and 8N1 settings. Just enter "AT" and the modem should respond with "OK".

2.2 Combining the GSM Playground with the Arduino Ethernet shield

  • In case you want to combine these two boards, which makes up a fantastic web-enabled SMS gateway, I'd rather recommend not to use the GSM library because it makes things more complex instead of facilitating everything. The only commands you need here is to submit the PIN - if required, and to send the SMS. And possibly also to check if the registration has succeeded and issue an according message on the web page. These calls can also be implemented by using self-written code. It will shorten your program tremendously and reduce its overall complexity.

3 Experiments

3.1 PPP over GSM slowspeed backdoor to my Echolink node

This is not just an experiment but a real project.

3.2 SMS Gateway with an Arduino, the Ethernet shield and the GSM Playground shield

This is not just an experiment but a real project.

3.3 Opening a GPRS request with AT commands

This is rather simple... but noteworthy.