Enviar y recibir llamadas y SMS

Ahora que ya nos hemos familiarizado con el shield GPRS y con los comandos AT que utiliza, va siendo hora de optimizar un poco su funcionamiento y tratar de dotarlo con cierto nivel de autonomía, ya que se este módulo se presta mucho para proyectos en los que no tengamosque visitar nuestra placa siempre que sea posible.

Por ello para esta sesión será necesario realizar la soldadura que hemos comentado para habilitar el encendido del GPRS por software mediante un pulso a través de Arduino. Gracias a ello implementaremos una función para encender el módulo de nuevo si por alguna razón perdiese la alimentación durante un tiempo, evitándonos así tener que dar al pulsador. Eso sí, siempre que lo hagamos nos cercioraremos antes de que efectivamente el módulo no esté ya en funcionamiento, ya que ese mismo pulso sirve también para apagarlo.

Para los que se hayan fijado, en las sesiones anteriores a veces perdíamos las respuestas del módulo GPRS, ya que enviamos el siguiente comando antes de mostrar la respuesta por el monitor serie. Sobre todo lo habréis notado los que hayáis tratado de unir en un solo sketch ambas funcionalidades, tanto la de enviar como recibir, ya que el problema se acentúa cuantos más comandos AT seguidos mandemos.

Para solucionarlo crearemos una función para enviar estos comandos, de forma que no siga ejecutando el programa hasta no haberse asegurado de recibir una respuesta y de haberla mostrado correctamente por el monitor serie. Además esta función nos servirá también a la hora de comprobar que los comandos AT nos estén enviando la respuesta que esperamos, o por otro lado, nos estén devolviendo un mensaje de error.

comandos AT gprs

Esta última funcionalidad la usaremos para comprobar que realmente estemos conectados a la red móvil antes de hacer nada, y en caso de haber perdido esta conexión haremos que Arduino reinicie el módulo para tratar de volver a conectarse correctamente. También hacerla extensible a otros comandos que consideréis, ya que es bastante útil para ver si el módulo está dando un error al recibir algún comando (por ejemplo un código PIN erróneo).

Sin más, os dejamos el enlace a la nueva sesión que esperamos os guste:

[button link=»https://www.prometec.net/gprs-enviar-recibir-llamadas-sms/» size=»medium» variation=»orange»] Enviar y recibir llamadas y SMS[/button]

Creemos que ahora sí ya estamos en posición de afrontar proyectos que involucren un módulo GPRS con ciertas garantías de éxito, y que pueda trabajar de forma autónoma durante largos periodos de tiempo. En las siguientes sesiones hablaremos de cómo utilizarlo para conectarse a Internet y enviar y recibir datos de un servidor.

Un saludo desde Prometec y hasta la próxima.

logoprometec