Paso 7: iniciar
/ * Escudo de SparkFun celular - paso muestra bosquejo SparkFun Electronics escrito por Ryan Owens 08/03/10 Descripción: este bosquejo está escrito para un Arduino Duemillanove a un protector celular de SparkFun Electronics. La pantalla de celular se puede comprar aquí: http://www.sparkfun.com/commerce/product_info.php?products_id=9607 de este bosquejo de comandos serie se pasan de un programa de terminal para el módulo celular SM5100B; y las respuestas desde el módulo celular se registran en la terminal. Más información se encuentra en los comentarios de sketch. Una tarjeta SIM activada debe insertarse en el titular de la tarjeta SIM en el tablero para poder utilizar el dispositivo! Este esquema utiliza la biblioteca de NewSoftSerial escrita por Mikal Hart de Arduiniana. La biblioteca se puede descargar en esta URL: http://arduiniana.org/libraries/NewSoftSerial/ este código se proporciona bajo la Creative Commons Attribution License. Puede encontrar más información aquí: http://creativecommons.org/licenses/by/3.0/ (utilice nuestro código libremente! Por favor recuerde darnos crédito donde es debido. ¡ Gracias!) * / #include < SoftwareSerial.h > //Include la biblioteca NewSoftSerial para enviar comandos serie al módulo celular. #include < string.h > //Used para manipulaciones de cadena char incoming_char = 0; Tendrá el carácter entrante del puerto serie. SoftwareSerial cell(2,3); Crear un puerto serial 'falso'. 2 el PIN es el pin Rx, el pin 3 es el pin Tx. void setup() {//Initialize puertos serie para la comunicación. Serial.Begin(9600); Cell.Begin(9600); Vamos a empezar! Serial.println ("desde SM5100B comunicación...");} void loop() {//If carácter proviene el módulo celular... if(cell.available() > 0) {incoming_char=cell.read(); //Get el carácter desde el puerto serie celular. Serial.Print(incoming_char); Imprimir el carácter entrante al terminal. } //If un personaje viene desde el terminal a la Arduino... Si (Serial.available () > 0) {incoming_char = Serial.read (); / / obtener el carácter que viene desde el terminal si (incoming_char == ' ~') / / si es una tilde... incoming_char = 0x0D; / /.. .convert un if más retorno de carro (incoming_char == ' ^') / / si es un símbolo de intercalación hasta... incoming_char = 0x1A; / /.. .convert a ctrl-Z cell.print (incoming_char); / / envíe el carácter en el módulo celular. Serial.Print (incoming_char); Lo eco de nuevo a la terminal}} / * SM5100B Quck referencia al comando Set * a menos que se indique lo contrario en comandos se terminaron con la tecla 'enter'. 1.) Asegúrese de que la banda GSM correcto ha sido seleccionada por su país. Para los Estados Unidos la banda debe establecerse a 7. Para configurar la banda, utilice este comando: AT + SBAND = 7 2.) Después de encender el Arduino con el blindaje instalado, compruebe que el módulo Lee y reconoce la tarjeta SIM. Con un terimal ventana abrir y configurar puerto Arduino y 9600 buad, potencia en el Arduino. La secuencia de arranque debería ser algo así: a partir de SM5100B comunicación... + SIND: 1 + SIND: 10, "SM", 1, "FD", 1, "LD", 1, "MC", 1, "RC", 1, "Yo", 1 comunicación con el módulo comienza después de la primera línea se muestra. La segunda línea de comunicación + SIND: 10, nos dice si el módulo puede ver una tarjeta SIM. Si se detecta la tarjeta SIM que cada otro campo es un 1; Si la tarjeta SIM no se detecta que cada otro campo es un 0. 3.) espera una conexión de red antes de empezar a enviar comandos. Después de la + SIND: respuesta 10 el módulo comenzará automáticamente intenta conectarse a una red. Espere a recibir la repsones siguiente: + SIND: 11 + SIND: 3 + SIND: 4 la + respuesta SIND del módulo celular dice el el estado de los módulos. Aquí es una rápida decadencia de los significados de la respuesta: 0 tarjeta SIM quitado 1 tarjeta SIM insertada 2 anillo melodía 3 en módulo es parcialmente listo 4 en módulo es totalmente listo 5 ID del lanzado llamadas 6 liberado llamada cuyo ID = < idx > 7 el servicio de red está disponible para una llamada de emergencia 8 es la red perdió 9 Audio 10 Mostrar el estado de cada agenda después de init frase 11 registrado a la red después de registrarse en el red se puede comenzar la interacción. Aquí están unos pocos comandos sencillos y útiles para empezar: para hacer una llamada: al comando - ATDxxxyyyzzzz número de teléfono con el formato: yyy-zzz (xxx) probar---cell.print("ATDxxxyyyzzzz"); Si usted hace una llamada telefónica no se olvide de hacer referencia a la hoja de datos de dispositivos para conectar un micrófono y un altavoz a la pantalla. Enviar un mensaje de txt: en el comando - AT + CMGF = 1 este comando establece el modo de mensaje de texto 'texto'. EN el comando = AT + CMGS = "xxxyyyzzzz"(carriage return)' texto a send'(CTRL+Z) este comando es un poco confuso para describir. El número de teléfono, en el formato (xxx) yyy-zzzz va dentro de las citas dobles. Presione 'enter' después de cerrar las citas. A continuación introduzca el texto a enviar. Enviar CTRL + Z para terminar el comando AT. Este personaje no se pueden enviar desde la terminal de Arduino. Utilice un programa alternativo de terminal como Hyperterminal, Tera término Terminal Bray o X-CTU. El módulo SM5100B puede hacer mucho más que esto! Compruebe hacia fuera las hojas de datos en la página del producto para aprender más sobre el module.* /
Abrir el puerto serie en el terminal. En Mac esto se logra escribiendo:
pantalla /dev/tty.usbmodemfa131 9600
(sustituya tty.usbmodemfa131 con dirección serial de tu Arduino)
Esperar a ver la siguiente secuencia devuelta:
A partir de comunicación SM5100B...
+ SIND: 3
+ SIND: 4
+ SIND: 11
(Si esta secuencia no se devuelve el cheque los códigos de error enumeran en la parte inferior del código anterior y depuración adecuadamente. Usted puede necesitar configurar el módulo para uso en América del norte--véase abajo--antes de que se registra a la red (es decir, + SIND 11))
Enviar los siguientes comandos al puerto serie:
Envíe este para uso en América del norte:
AT + SBAND = 7
Establecer la hora actual - mm/dd/aa:
AT + CCLK = "13/05/15, 11: 02:00"
Enviar llamada de prueba:
ATD4155551212