Error SIM900 en comando AT AT+SAPBR=1,1

Tengo la intención de enviar información a través GETdel método a una página php usando el módulo SIM900.

Intenté la siguiente secuencia de comandos con éxito.

AT+CSQ
AT+CGATT?
AT+SAPBR=3,1,"CONTYPE","GPRS"
AT+SAPBR=3,1,"APN","internet"
AT+SAPBR=1,1
AT+HTTPINIT
AT+HTTPPARA="URL","www.my_URL.com/stuff.php?variable=TEST"
AT+HTTPACTION=0
AT+HTTPREA

Tenga en cuenta que mi proveedor de servicios no requiere nombre de usuario y contraseña para acceder, también "internet" es el nombre del APN.

Luego, escribí un programa en el mbed, que envía este código al módulo, luego espera una cantidad de tiempo predeterminada, lee la respuesta y continúa.

Empecé a recibir un error específicamente en el AT+SAPBR=1,1comando. Probé los comandos manualmente y ahora siempre recibo el error en este comando. Este es el comando que abre el portador.

Lo que he intentado: en el AT+SAPBR=?comando, el segundo parámetro es el ID del portador, así que intenté usar, por ejemplo, 2 en su lugar. Y funciona.

Encuentro esto muy extraño y estoy tratando de averiguar por qué '1' como ID me sigue atascando.

¿Cómo es que no lo es? Estoy usando un módulo GPRS en mi diseño, lo que me está dando problemas. Si este no es el lugar donde la gente conocería los comandos AT y los módulos GSM, estoy realmente perdido. SIM900 está siendo uno de los módulos gsm/gprs más utilizados en la electrónica y hoy en día, en mi opinión, la electrónica es mucho más que diodos y transistores. Así que saltemos todas esas preguntas sobre arduino, porque arduino es más bien un juguete, no un microcontrolador. O simplemente omita todas las preguntas sobre microcontroladores, porque los microcontroladores son programables. No electrónico.
¿AT+CMEE o AT+CEER le brindan información de error más útil?
@Sergio, no estoy seguro de si esto es solo un error tipográfico en su pregunta, pero para AT+SAPBR=?todas las demás AT+SAPBRvariantes, el primer parámetro parece el tipo de comando, el segundo es la ID del portador, ¿eso explica los resultados que está obteniendo?
@PeterJ, fue un error tipográfico. Me refiero al segundo parámetro. Si uso '2', por ejemplo, funciona.
Su documentación (SimCom) es tan malditamente horrible (y en un servidor bastante lento) que sus chips realmente no merecen ser comprados. Me hizo recordar lo que Alan Cox dijo una vez sobre otra compañía de hardware... algo sobre que sus cerebros no hablaban inglés. Puedo ver preguntas similares sobre este comando SAPBR en la red... y nadie sabe mucho. Yo molestaría a la compañía con este problema, si tuviera alguna atracción con ellos. Buena suerte.
Tengo el mismo problema parece un problema de red. Cuando ido sapbr error. Como lo resolviste?
Secundando el comentario de @brhans; intente AT+CEER=0 para recuperar un error de cadena.
@jjmilburn, nunca probé esa sugerencia, dejé esto de lado por un tiempo. Lo intentaré y daré algunos comentarios.
@leo todavía no lo resolví. Si prueba lo sugerido, comparta los resultados también, ¡por favor!

Respuestas (3)

De hecho, también estoy trabajando en un SIM900 y tuve el mismo problema.

Una posible causa del problema es que el SIM900 ya ha realizado una conexión. Intente reiniciar el sim900 antes de emitir los comandos.

También configuré la configuración de APN con el AT+CSTT=comando

Debajo de la entrada/salida de mi conexión serial:

Para propósitos de prueba use este . Asegúrese de tener la configuración de APN correcta, esto será diferente para otros países e ISP.

StopSim900;
[SIM] Stopping
[SIM] Module disabled.
StartSim900;
[SIM] Starting...
[SIM] Module started
-----------DEBUG-----------//Pressed button 1 here. Initiates the HTTP get
AT+CSTT="internet","tmobile","tmobile"
AT Issued, response:
OK

AT+SAPBR=1,1
AT Issued, response:
OK

AT+HTTPINIT
AT Issued, response:
OK

AT+HTTPPARA="CID",1
AT Issued, response:
OK

AT+HTTPPARA="URL","http://www.minimalsites.com/"
AT Issued, response:
OK

AT+HTTPACTION=0
AT Issued, response:
OK

-----------DEBUG-----------//Pressed button 2 here, reads the http message
AT+HTTPREAD=20,10
AT Issued, response:
+HTTPREAD:10
>Minimal S
OK

AT+HTTPTERM
AT Issued, response:
OK

He dejado mi respuesta aquí para futuras referencias.

Cerrar el portador primero

AT+SAPBR=0,1

y luego abrirlo de nuevo

AT+SAPBR=1,1

Creo que hay un pequeño malentendido con ese comando... simplemente apague y encienda y ejecute los comandos de secuencia anteriores, funciona muy bien... en realidad, una vez que se ejecuta AT+SAPBR=1,1, se conecta automáticamente, así que de nuevo cuando se ejecuta esto el comando responde automáticamente error por favor verifique esto ..

Gracias por la respuesta, pero no estoy seguro de seguir. ¿Quiere decir que el dispositivo debe apagarse y encenderse cada vez? ¿Podría aclarar qué quiere decir con "en realidad, cuando una vez que se ejecuta AT+SAPBR=1,1, se conecta automáticamente, de modo que cuando se ejecuta este comando, responde automáticamente el error"? ¡Gracias!
En caso de error, logré cerrar el portador primero AT+SAPBR=0,1 y luego abrirlo nuevamente AT+SAPBR=1,1.
Creo que da error solo en el caso de que ya esté conectado, y nuevamente estamos intentando conectar, una vez que lo apague y encienda y ejecute los comandos anteriores secuencialmente, seguramente esto funciona ...