Error en GPRS [SOLUCIONADO]

Hola a todos, recientemente he comprado una shield GPRS basada en el chip SIM900 para Arduino (esta)
y tras algún problema con la alimentación (fuente de baja potencia) y conseguido mandar SMS correctamente.

Mi problema es que al intentar enviar emails el comando que inicia el envío me da error. He cambiado el firmware y el resultado es el mismo pues no se cual poner exactamente y he probado con 3.y no creo que ese sea el fallo.

Para ver donde da el error simplemente uso un sketch para enviar y recibir a través de puerto serie.

Esta es la secuencia de comandos y su respuesta.

AT					                 OK
AT+GMM				                 SIMCOM_SIM900	OK
AT+GMR				                 Revision:1137B09SIM900M64_ST	OK
AT+CPIN="0xx5"			         OK
AT+CREG?				                 +CREG: 0,1	OK
AT+CGATT? 				         +CGATT: 1	OK
AT+CSQ				                 +CSQ: 17,0	OK
AT+SAPBR=3,1,"Contype","GPRS"	 OK
AT+SAPBR=3,1,"APN","airtelwap.es"	 OK
AT+SAPBR=3,1,"USER","wap@wap"	 OK
AT+SAPBR=3,1,"PWD","wap125"	         OK
AT+SAPBR=1,1				         OK
AT+SAPBR=2,1				         +SAPBR: 1,1,"10.24.62.23"	OK
AT+SAPBR=4,1				         +SAPBR: 
                                                                       CONTYPE: GPRS
                                                                       APN: airtelwap.es
                                                                       PHONENUM: 
                                                                       USER: wap@wap
                                                                       PWD: wap125
                                                                       RATE: 2
                                                                       OK
AT+SAPBR=0,1				        OK
AT+EMAILCID=1			        ERROR

He probado con Usuario y pass de la APN y todo lo que se me ha ocurrido y ya no sé qué más probar.

Agradecería que alguien me de alguna idea de a que puede ser debido el fallo. Puede que el error sea de novato, pero es que lo soy.

Un saludo y muchas gracias a todos

Hi.
Podias dar mas detalle acerca de la energia que estas usando. Este modulo require de una corriente de por lo menio 2.5 and 3.0 amperios.y un voltaje minimo y maxico de 3.4V – 4.5V..

Hola, lo primero disculparme por colocar este hilo en un sitio inadecuado.

En cuanto a la alimentación, y debido a que en principio lo conecte a un cargador de 9V. 1A y no llegaba a buscar red, lo soluciones alimentando directamente la placa GPRS a través del PIN VCC mediante una conversor DC-DC (este) ajustado a 5V. y una batería de LIPO de 11.1V. y 5.400 mA.

La placa de Arduino es un Arduino UNO alimentado a través del USB.

Si alguien conoce alguna versión del Firmware para el chip SIM900 que funcione enviado email que me lo diga y estaré encantado de instalarla y saber que el error no está en eso, para poder descartar cosas.

Hi,
Si ese es el que estas usando debes de adjustar el voltaje a 4 voltios de salida.

He rebajado la tensión a 4V. y el resultado es el mismo, esta es la secuencia de comandos:

AT+SAPBR=3,1,"Contype","GPRS"        OK

AT+SAPBR=3,1,"APN","airtelwap.es"    OK

AT+SAPBR=3,1,"PWD","wap125"         OK

AT+SAPBR=1,1                                  OK

AT+SAPBR=2,1                                  +SAPBR: 1,1,"10.131.64.50"    OK

AT+EMAILCID=1                                ERROR

¿alguna idea a probar?

Dices que lo has conectado sobre un UNO.
Para lo que quieres (conexión a internet) creo que tiene poca memoria
Yo tuve muchos problemas con SMSs un pelín largos y lo solucioné así

/*#define _SS_MAX_RX_BUFF 256 // RX buffer size
because the message could be 160 character long.
!! NOTE the number must has only this values: 64, 128, 256, 512(?) and so !!*/
#define _SS_MAX_RX_BUFF 256 // RX buffer size: minimo para recibir SMSs 128

#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8); // Configura el puerto serial para el SIM GSM

Espero que te sirva

Saludos

Tauro, esa placa tiene un LM2975 o similar de modo que la tensión del SIM900 esta perfectamente asegurada desde 5 a 20 V si mal recuerdo porque tengo una similar.

Solo que la fuente sea de 2A minimo.

Bueno la tensión la he vuelto a ajustar a 5V. porque a 4, de vez en cuando se pierde la conexión (se apaga el led que parpadea) y en cuanto a la intensidad en conversor DC-DC alimentado con la batería de LIPO no debería dar ningún problema para suministrar 4 o 5 amperes.

En cuanto a la placa, tengo la intención de implementar el montaje definitivo sobre un Arduino MEGA, pero ahora solo la uso para enviar comando AT hasta establecer la secuencia correcta, y para eso Arduino UNO funciona perfectamente, incluso creo que podría hacerse conectando una placa FTDI entre el ordenador y el puerto serie del shield GPRS.

¿alguna idea?

¿Sabe alguien alguna forma de enviar email, que no sea iniciando el proceso con el comando AT+EMAILCID?

¿alguna idea?

con respecto a qué? No entiendo

Cualquier conexión SoftwareSerial con un UNO te debería funcionar y lo mismo, con un MEGA usando alguno de sus 3 puertos libres disponibles.

¿Sabe alguien alguna forma de enviar email, que no sea iniciando el proceso con el comando AT+EMAILCID?

Yo encuentro que la gente se da por vencido inmediatamente en este mundo de Arduino y las cosas no son fáciles.
Contados con los dedos de las manos aquellos proyectos que armo ysalen funcionando si haberme olvidado algo por lo que debo revisar todo. Y te aseguro que soy meticuloso.
Si existe un método para enviar emails con el SIM x que no usuarlo?

Si te pregunto a quien le quieres enviar un email y desde que cuenta quieres hacerlo que me dices.. porque decir livianamente que algo no funciona cuando hay tantos programadores e ingeneros detrás realmente me llama la atención.

De lo contrario siempre tienes este metodo: Google: Arduino email.

Todas las formas que existen para enviar email estarán ahi representadas.

El tema es que si por ejemplo quieres enviar un email desde una cuenta como gmail.com y no has hecho los pasos de seguridad indicados, jamás podras enviar un email desde nada que no sea el propio Gmail.

Ejemplo: tienes una camara y quieres reportar un movimiento. Pues hay un método de dos pasos que debes respetar en tu cuenta Sender (la que envia) o de lo contrario no funcionará o mejor dicho no enviará nada.

Mira este hilo Sim900 arduino Uno Send eMails

Siento que mi parquedad de palabra haya dado una imagen que, creo, no se corresponde con la realidad al no explicar todas las formas de enviar un email que he probado con lamentable resultado.

He buscado librerías para el SIM900 que tuvieran un ejemplo para enviar email y de las 3 o 4 que encontré solo la GSMSim-Master lo tiene, lo probé con dos cuentas de Gmail y me dio error. Mirando al final del archivo GSMSim.cpp y aun sin entender gran cosa entiendo que primero se conecta al servidor APN correctamente y es el comando AT+EMAILCID=1 (al ser un solo comando no lo pongo como código porque desperdicia mucho espacio, los siguientes igual, pero si eso lo cambio) el que da error.

En el documento Email(SMTP/POP·) Aplication Note publicado por SIMcom , da otro método para enviar emailal, pero al introducir el primer comando AT+CGSOCKCONT=1,"IP","3GNET","0.0.0.0",0,0 me ha dado error tanto estando conectado al APN como no. Estas pruebas las repetí a 9600, 19200, y 115200 baudios con el mismo resultado.

He encontrado una tercera vía a través de TEMBOO que usa varias APIs, entre ellas la de Gmail y proporciona una librería para comunicar con Arduino, me registre y seguí el ejemplo he hice varios cambios también con el resultado de error.

En este punto me decidir a intentar simplificar y enviar los comandos AT directamente al shield GPRS (a través de Arduino) según el ejemplo 3.2 Send a email del manual SIM900_Email_AT Commnad Manual_V1.02. y viendo que el error era el mismo y teniendo en cuenta que en el mismo punto al comando AT+FTPCID=1 me responde correctamente he pensado, no se si acertadamente, que el error podría ser debido a que la versión de Firmware no permite configurar la placa en modo email.

Buscando encontré la forma de cambiar el firmware, que en mi caso no funciono hasta que no cambie la velocidad de transmisión a 19200 baudios, y 17 versiones diferentes solo para el chip SIM900 (las versiones SIM900x tienen otras tantas). En unos sitios pone que solo las versiones mejoradas permiten la funcionalidad de email, en otros que tal versione si lo permite, pero no aparecen por ningún sitio en la web. El caso que he probado 4 versiones, que a esta velocidad tardan bastante en cargarse y el resultado ha sido un completo fracaso.
Entiendo que si uso Gmail como ssim900ervidor SMTP tengo que registrar la shield para que no necesite capcha y puedo tener problemas con el cifrado SSL, pero no he llegado todavía a ese punto pues la shield no me permite configurarla en modo email no permitiéndome conectarme a ningún servidor de correo, sea de Google o no.

Si te pregunto a quien le quieres enviar un email y desde que cuenta quieres hacerlo que me dices.. porque decir livianamente que algo no funciona cuando hay tantos programadores e ingeneros detrás realmente me llama la atención.

De lo contrario siempre tienes este metodo: Google: Arduino email.

Pienso usar dos cuentas Gmail, pero dispongo de otras para probar y en Google ya busque Arduino email, sim900 email, adruino smtp, sim900 smtp, shiel gprs email, y algunas mas.

Me gustaría que me comentarais cualquier idea que pueda ayudarme a resolver mi error o abrirme un nuevo camino para probar.

Muchas gracias a todos por prestarme atención.

Bueno ahora es otra cosa!!!
Agradezco que tomaras positivamente mis comentarios anteriores porque imagina que de este lado se leía algo muy poco detallado en cuanto a historia y uno imagina un sin número de opciones empezando por las mas simples cuando veo que te has esforzado mucho y por eso recurriste al foro.
Bien. Para darte una respuesta no hay nada mejor que ensayarlo uno y luego te diré como lo he resuelto ya que no me acuerdo ahora.

Mi placa es similiar asi que verifico y te digo como lo hago yo y espero que sea repetible en tu caso.

Hola a todos, surbyte, no creo que nadie pueda tomarse a mal a una persona que dedica una gran parte de su tiempo a ayudar a los demás de forma altruista, como tu haces, aunque tenga que tomar alguna medida disciplinaria para mantener el orden de este foro.

Acabo de recibir otro par de shield GPRS de china, de otro comerciante (queme una de las dos placas al soldar el puente pues mi habilidad motora es algo deficiente y decidí pedir dos más por si las moscas) y al probar a enviar la serie de comandos AT descubro que POR FIN el comando AT+EMAILCID=1 me da OK.

Mirando detenidamente las dos placas la única diferencia que encuentro en que en la famosa R13 de esta que me acaban de enviar tiene soldada una resistencia SMD que indica 000 y que supongo que equivale al puente hay que soldad para poder iniciar la alimentación de la placa por soft.

En cuanto a la versión de firmware que tiene es esta: 1137B06SIM900M64_ST_ENHANCE .
He instalado esa versión de firmware en la placa que compre primero (ejecutando primero el comando AT+IPR=19200 y configurando el puerto y el programa para subir el firmware a esa misma velocidad, a 119200 no me funciono) y probando la secuencia de comandos AT me respondió OK al comando AT+EMAILCID=1

Entiendo que solo algunas versiones de firmware permite la emisión de email y que la versión 1137B06SIM900M64_ST_ENHANCE es una de ellas. Supongo que una vez conseguido configurar la placa en modo email el resto no debería ser demasiado difícil y si tengo alguna duda poder hacer la pertinente consulta.

Considero que este tema se pude dar por cerrado.

Muchas gracias a todos por el interés mostrado.

Un saludo

Excelente, son buenas noticias y lo que mas me gusta es que le das un cierre indicando como resolviste el problema para quien lo consulte luego sepa a que atenerse.