Estoy intentando enviar algunos datos hexadecimales a través de TCP utilizando el módulo SIM900A. Pero la secuencia de datos tiene un byte con valor de 0x1B que es el carácter de escape. Como resultado, el módulo termina el comando inmediatamente.
¿Alguien sabe por qué puedo superar este problema?
Estoy intentando acceder a los mapas de Google ( enlace ) api. Necesita algunos datos que deberían ser algunos caracteres hexadecimales. Algunos arreglos de datos de muestra del formato (0x12,0x15,0x1b .....) que se deben publicar. Así que estoy usando los siguientes comandos
AT+CIPSTART="TCP","www.google.com","80"
AT+CIPSEND
Así que aquí obtengo el indicador >
del módulo. Entonces les envío los siguientes datos
POST maps/glm HTTP1/0
Content-type: application/binary
Content-length: 100
Después de esto te envío los datos hexadecimales. Así que estoy usando linux echo para enviar los datos hexadecimales. Así lo envío como
echo -ne "/x12/x15/1b/......." > /dev/ttyUSB1
Pero en sim900 generalmente enviamos 0x1A(ctrl+z)
para enviar los datos al servidor. Pero también usa (Esc) or 0x1B
para salir del envío de datos. Entonces, este 0x1b
que estoy enviando provoca una salida que omite el resto de los datos.