SIM900A V4.0 Extension Module es un módulo GPRS GSM compatible con Arduino muy útil para introducirnos en el mundo de las conexiones remotas para nuestros proyectos.

SIM900A

 

Para entenderlo, este módulo es lo que llevan los smartphones para poder conectarse a internet por 2G, 3G, hacer llamadas y enviar mensajes SMS. GPRS y GSM son servicios de transmisión de datos inalámbricos, así como pueden ser los infrarojos, el bluetooth o el wi-fi. Cada uno de ellos es un protocolo de comunicación y son controlados a través de los comandos Hayes o comandos AT.

Estos comandos son los encargados de conectarse a nuestra módulo SIM900 para conocer el estado de su conectividad, permitir acceso de datos al usuario a través de su tarjeta SIM y otras muchas cosas más. Nuestro Smartphone lo que hace es comunicar el sistema operativo que ofrece una interfaz con este módulo que es el encargado de establecer la comunicación a través de comandos AT que proporciona una capa de abstracción de bajo nivel.

El módulo SIM900 es solo el cuadrado, lo de alrededor es la placa desde la que se conectarán y cablearán otros dispositivos, por lo que no es raro que encontremos esta misma tarjeta montada sobre otras placas distintas a la que expongo en la figura anterior.

SIM9001

Pero de lo que yo quería hablar precisamente es de la placa de conexión sobre la que está montada la SIM900A. Este módulo GPRS GSM me costó 16 € en ebay, que en comparación con otros que rondan los 60 €,es de lo más barato que podemos encontrar. Pero desgraciadamente esta placa de conexión está tan poco documentada que resulta difícil adivinar que significan esos pines de conexión y las explicaciones del proveedor no son nada detalladas.

Para comenzar he de explicar que hay dos modos de conexión con esta placa. Uno que me funciona (TTL) y otro que no (RS232), al menos por ahora. Empezaré explicando el RS232.

Sim900ARS232

 

Si nos fijamos en los 3 pines a la derecha de nuestra placa podemos ver una pequeña anotación que dice DB9-2, DB9-3 y GND. Estos dos primeros pines se corresponden con los del conector DB-9 que solemos utilizar para conectar la pantalla del ordenador. De todos esos pines tenemos el número DB9-2 que se corresponde con el canal de transmisión TX y el DB9-3 es el RX.RS232PinOut

Recordad que el pin TX de una placa debe ir conectado al RX del conector y viceversa para que funcione. Sabiendo esto podemos conectar nuestra placa a través de un conector de este tipo o podemos usar un conversor TTL a RS232 que podamos conectar al USB de nuestro ordenador.

NOTA: Para realizar la conexión por RS232 hay que utilizar 2 jumpers para puentear 3VR y 3VT y otro para conectar 5VR y 5VT.

Ahora explicaré la forma de conectar directamente por TTL al USB del ordenador.

SIM900V4

 

Para ello utilizaremos los 6 pines que están al lado de la alimentación en los que está escrito 3VR, 3VT, 5VR,5VT, GND, VCC. Los 4 primeros son de transmisión y recepción a niveles de 3.3V y 5V respectivamente. Por lo que solo habremos de conectar una pareja RX y TX a los de nuestro conector USB al ordenador.

TTLConnection_SIM900

Una vez hecho esto solo tendremos que buscar un programa para conectar por serie. Yo utilizo Cutecom, pero se puede utilizar cualquier otro programa.

CutecomSIM900

Lo único que hay que saber es el puerto desde el que nos conectamos, la velocidad de conexión que es 115200, 8 bits de datos y bit de parada 1. Conectamos y para enviar datos asegurarnos de que tenemos el retorno de carro CR y el salto de linea LF activados.

Otra opción es conectar estos pines a través del serial de Arduino, pero esto ya lo comentaré en otra entrada.

Bien, ya podemos empezar a mandar comandos AT como locos, que por cierto, aquí os dejo el manual para que vayáis echando un ojo. Manual SIM900