Modem GSM para Arduino


Gracias a este nuevo escudo modem GSM desarrollado por MovilForum es posible permitir a una placa Arduino se conecte a Internet, realizar / recibir llamadas de voz y enviar / recibir mensajes SMS utilizando la red inalámbrica GPRS. Sólo tiene que conectar este escudo sobre una placa Arduino, conectar una tarjeta SIM de un operador que ofrezca cobertura GPRS y seguir unas sencillas instrucciones para empezar a controlar su mundo a través de internet.

También este escudo  puede realizar y/o recibir llamadas de voz  necesitando para ello un circuito de altavoz y micrófono externo .Asimismo  tiene capacidad para enviar / recibir mensajes SMS.


El escudo utiliza un módem cuatribanda GSM / GPRS de radio M10 por Quectel  cuyo  Datasheet del chip  se puede obtener aqui. EL M10  es un módem cuatribanda GSM / GPRS que funciona en las frecuencias GSM850MHz, GSM900MHz, DCS1800MHz y PCS1900MHz. Es compatible con los protocolos TCP / UDP y HTTP a través de una conexión GPRS.

Con  GPRS enlace descendente de datos y  transferencia de enlace ascendente la velocidad máxima es de 85,6 kbps.

Para interactuar con la red celular, el escudo  requiere una tarjeta SIM proporcionada por un operador de  red. Es asimismo  posible comunicarse con la placa mediante comandos AT . Gracias a la biblioteca GSM se tienen un gran número de métodos para la comunicación con el escudo.

El escudo utiliza pines digitales 2 y 3 para el software de comunicación serie con el M10. El pin 2 se conecta al pin TX del M10 y el pin 3 a su pin RX. Vea estas notas para trabajar con un Arduino Mega, Mega ADK, o Leonardo. Pin PWRKEY del módem está conectado al pin de Arduino 7.5V .  

La   tensión de funcionamiento  la  toma  de  la propia placa de  Arduino por lo  que  recomiendan  que  se alimente con una fuente de alimentación externa que puede proporcionar entre 700 mA y 1000 mA. Encender un Arduino y el escudo GSM desde una conexión USB no es recomendable pue el USB no puede proporcionar la corriente requerida cuando el módem esté en uso intensivo.

El módem puede consumir  hasta 2A de corriente en los picos de uso, que puede ocurrir durante la transmisión de datos. Esta corriente se realiza a través del condensador grande de color naranja en la superficie de la placa.

La revisión más reciente de la tarjeta utiliza el pinout 1.0 en rev 3 de la placa Arduino Uno.

Notas sobre la SIM de  Telefónica proporcionada  por Movilforum incluida con el escudo

El escudo GSM viene con una tarjeta SIM de Telefónica / Movilforum que funcionará bien para el desarrollo de  aplicaciones máquina a máquina (M2M),pero no es necesario el uso de esta tarjeta específica con el escudo. Se puede usar cualquier SIM que funciona en una red en su área.

La tarjeta SIM Movilforum incluye un plan de itinerancia y se puede utilizar en cualquier red GSM compatible. Hay cobertura en todo el continente americano y Europa para esta SIM, compruebe la página de la disponibilidad del servicio Movilforum para países específicos que han apoyado las redes.

La activación de la SIM es manejada por Movilforum. Las instrucciones detalladas sobre cómo registrarse y activar su tarjeta SIM en línea y añadir crédito se incluyen en un pequeño folleto que viene con su escudo. El SIM debe ser insertado en el escudo GSM  que se montará sobre un Arduino para la activación.

Estas tarjetas SIM viene sin un PIN, pero es posible establecer una utilizando la biblioteca GSM clase GSMPIN .

No se puede utilizar la SIM incluida para realizar o recibir llamadas de voz ,pero si puede realizar y recibir SMS con otras tarjetas SIM de la red Movilforum.

No es posible crear un servidor que acepte peticiones entrantes de la Internet pública. Sin embargo, el Movilforum SIM aceptará las peticiones entrantes de otras tarjetas SIM de la red Movilforum.

 

El escudo contiene una serie de indicadores LED:

  • On: muestra el Escudo obtiene alimentación.
  • Estado: se enciende cuando el módem está encendido y se están transfiriendo datos a / desde la red GSM / GPRS.
  • Net: parpadea cuando el módem se comunica con la red de radio.

El escudo apoya AIN1 y AOUT1 como interfaces de audio; un canal de entrada analógica y un canal de salida analógica. La entrada, expuesta en los pines MIC1P / MIC1N, se puede utilizar tanto para entradas de micrófono y de línea. Un micrófono electret se puede utilizar para esta interfaz. La salida, expuesta como líneas SPK1P / SPK1N, se puede utilizar ya sea con un receptor o el altavoz. A través del módem, es posible realizar llamadas de voz. Con el fin de hablar y escuchar a la otra parte, tendrá que añadir un altavoz y un micrófono.

En la página 43 de la documentación del módem , hay un ejemplo de voz y circuito de sonido que se conectará a un auricular:

Hay dos pequeños pulsadores en la pantalla:

  •  El botón “Reset” está ligado al pin de reset Arduino. Cuando se pulsa, se reiniciará el módem y la placa Arduino.
  • El botón “Power” está conectado al módem y sirve para encender el módem  y tambien para apagarlo. Para las primeras versiones del escudo, era necesario presionar el botón de encendido para encender el módem. Las nuevas versiones del escudo haránencender el módem de forma automática.

Si tiene una versión anterior del escudo, y no se enciende automáticamente, puede soldar un jumper a la almohadilla CTRL / D7 en el reverso de la tarjeta, y se encenderá cuando un Arduino conectado reciba energía.

Varios de los pines de módem están expuestos en la parte inferior del escudo. Estos proporcionan acceso al módem para funciones como la salida de los altavoces y entrada de micrófono. Consulte la hoja de datos para obtener información completa.

La revisión más reciente de la tarjeta utiliza el pinout 1.0 en rev 3 de la placa Arduino UNO y  la biblioteca de GSM se incluye con Arduino IDE 1.0.4 y posteriores .

 

Más información aqui

Conectando Arduino con un USB Tri-band GPRS Modem / Cell Phone Radio (GSM 900/1800/1900Mhz)


Este articulo trata sobre el uso estándar GSM comandos AT,mediante  un programa que se ejecuta en Arduino puede realizar y recibir llamadas, enviar y recibir SMS,  disparar fotos o  acceder a Internet mientras que se optimo tanto  el nivel de la batería la intensidad de la señal y el estado de conexión. Para muchas de estas tareas cualquier teléfono antiguo funciona bastante bien, sin embargo, hay veces  se necesita una pieza especializada de hardware especial :en este caso  la placa Arduino Shield usando USB Host.


Tri-banda USB Modem GPRS de DealExtreme es un teléfono celular GSM ordinario menos teclado, la pantalla, la batería y el micrófono incorporado / altavoz. Lo que queda hace caro (~ $ 25), ligero (25 gramos) y compacto (véase el cuadro del título) GSM / GPRS módulo para su uso en proyectos de bricolaje. Es compatible con un subconjunto de comandos estándar GSM, así como algunos otros propietarios. El módem está construido alrededor de BenQ M23 GSM / GPRS módulo inalámbrico y utiliza Prolific PL-2303 USB-to-serial converter. Como se explica en esta página, el PL-2303 en el módem utiliza no predeterminado PID USB, asegúrese de descargar la última versión de la biblioteca, que de forma transparente admite PIDs.

Para explorar la funcionalidad de este dispositivo se puede escribir un sencillo programa que se base en el terminal Xbee. El programa inicializa el PL-2303 y espera la entrada del usuario que pasa pulsaciones de teclas para el módem y la visualización de las respuestas a la pantalla. Vamos a correr y ver lo que este pequeño módem es capaz de hacer.

Durante el funcionamiento normal, el sistema puede ser alimentado por USB, dependiendo de tu placa Arduino puede que tenga que desconectar el modem durante la programación. Todas las interacciones se producen a través del emulador de terminal se ejecuta en un PC – . El uso de serie del monitor integrado en Arduino IDE no es recomendable. El módem necesita tarjeta SIM para activar la función, uso SIM de prepago de T-Mobile y también utilizado con éxito con AT & T.

Si todo está conectado correctamente croquis te mostrará el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Start
PL Init
Addr:1
NC:1
0000: 09 02 27 00 01 01 00 A0 FA 09 04 00 00 03 FF 00
0010: 00 00 07 05 81 03 0A 00 01 07 05 02 02 40 00 00
0020: 07 05 83 02 40 00 00 Conf.Val: 01
Iface Num: 00
Alt.Set: 00
Endpoint descriptor:
Length:         07
Type:           05
Address:        81
Attributes:     03
MaxPktSize:     000A
Poll Intrv:     01
Conf.Val: 01
Iface Num: 00
Alt.Set: 00
Endpoint descriptor:
Length:         07
Type:           05
Address:        02
Attributes:     02
MaxPktSize:     0040
Poll Intrv:     00
Conf.Val: 01
Iface Num: 00
Alt.Set: 00
Endpoint descriptor:
Length:         07
Type:           05
Address:        83
Attributes:     02
MaxPktSize:     0040
Poll Intrv:     00
Conf:1
PL configured

 

El último mensaje (línea 38) muestra que la PL-2303 ha sido reconocido y configurado con éxito. Tipo en el teclado y pulse Enter. Si aparece OK en la línea siguiente, el módem está vivo y contestador.

...
Conf:1
PL configured
at
OK

Ahora vamos a ver si el módem está conectado a una red. Tipo de creg +? y pulse Intro:

at+creg? +CREG: 0, 1   OK

El segundo número de respuesta indica el estado de la inscripción. Mi salida (1) significa que el módem está felizmente registrado en la red doméstica. Otros números que se pueden ver son “0” – no hay servicio “, 2” – la búsqueda de operador “3” – rehusadas para su registro. Si el módem está registrada, es posible determinar el operador celular: at+cops? +COPS: 0,0,”T-Mobile 260″ OK Cuando el módem está en línea, podemos hacer algo útil. Ya he enviado varios mensajes de texto a este número, vamos a echar un vistazo a ellos mediante el uso de comandos CMGL:

at+cmgl=1 +CMGL: 1,1,,50 07912160130320F8040B919127163673F500001101814190044A23F3F61C6496BFDBA0F3FB7D6697152D503BACAFCBDF76C0B91D4EB35DE3771B +CMGL: 2,1,,57 07912160130320F5040B919127163673F500001101814124244A2B66F9BB0D3ABFDF677619447F83885850FB4D2EB7152D503BACAFCBDF76C0B91D4EB35DE3771B +CMGL: 3,1,,53 07912160130320F8000B919127163673F500001101817184554A26F4F29C0E9A81CCF2771B747EBFCFECB2A2056A87F575F9DB0E38B7C369B66BFC6E03 +CMGL: 4,1,,53 07912160130320F8040B919127163673F500001101817145154A26F4F29C0EA281CCF2771B747EBFCFECB2A2056A87F575F9DB0E38B7C369B66BFC6E03 OK

Lo que se ve es la salida en el llamado formato PDU. Muchos dispositivos GSM tienen el formato convertido en el momento del encendido. Está bien para ordenadores, pero no es tan fácil para los seres humanos. Por suerte para nosotros, este módem también soporta el modo de texto SMS, que se puede activar mediante las teclas + CMGF comando:

at+cmgf=1 OK at+cmgl=”ALL” +CMGL: 1,”REC READ”,”19725555555″,,”11/10/18,14:09:40-36″,145,35 sms from google – m…[email protected] +CMGL: 2,”REC READ”,”19725555555″,,”11/10/18,14:42:42-36″,145,43 from google to DX modem – m…[email protected] +CMGL: 3,”REC READ”,”19725555555″,,”11/10/18,17:48:55-36″,145,38 test 3 from google – m…[email protected] +CMGL: 4,”REC READ”,”19725555555″,,”11/10/18,17:54:51-36″,145,38 test 4 from google – m…[email protected] OK

El envío de mensajes es también fácil. Esto se hace usando el comando + CMGS. El comando tiene el número de teléfono del destinatario como un parámetro y envía un mensaje donde se puede introducir un mensaje. Fin del mensaje se indica pulsando Ctrl + z, asegúrese de que su programa de terminal pasa este código sin cambios al módem (masilla funciona correctamente aquí). Aquí está un ejemplo:

at+cmgs=”19725555555″
> test from T-Mobile to google
>
+CMGS: 34

OK

Hay mucho más que se puede hacer con este módem (o en cualquier teléfono GSM para el caso). Algunas cosas, como hacer o recibir llamadas, es bastante fácil de hacer, mientras que otros, como acceso a internet, requeriría algo de programación adicional.

Enlace original aqui