Necesito saber por qué las personas en sistemas integrados usan comandos AT?
Cuando le pregunté a la gente dice que es un estándar.
Entonces mi pregunta es: ¿Qué significa "AT"? ¿Por qué la gente sigue diciendo que es un estándar?
serial
communication
at-commands
xsari3x
fuente
fuente
why people in embedded systems use AT commands
- no hay nada específico sobre su pregunta o el uso de AT en un enlace en serie. Puede ser que hayas visto esto en un sistema integrado, pero su origen se explica a continuación y no es específico de los sistemas integrados. (Tenga cuidado de no pintar cosas con un pincel demasiado ancho).modemu
: un programa Unix que crea un dispositivo pseudo-tty maestro / esclavo, y simula un módem que en realidad pasa por telnet. Usted "marca" un host conATD<hostname>
. Lo curioso es que ese programa salió casi exactamente en el momento en que lo necesitaba, alrededor de 1996: versión 0.0.1. No lo he necesitado desde entonces. ¡Y todavía es 0.0.1! Lo usé junto con minicom para hacer transferencias de zmodem a través de telnet a hosts remotos a los que solo se podía llegar de esa manera.Respuestas:
Un detalle poco apreciado sobre los comandos "AT" es que muchos módems comenzarían en modo "auto-baud / auto-parity". Inicialmente, el módem comenzaría sin tratar de decodificar ningún dato en serie, sino que simplemente observaría un pulso bajo y pulso alto consecutivos cuyos anchos coincidieran con el mismo período de bits válido (por ejemplo, 3.333 ms para 300 baudios, 833us para 1200 baudios, etc. .). Al encontrar eso, verían si el siguiente pulso bajo era cinco veces ese ancho. Si es así, estarían atentos a otro alto-bajo-alto o de al menos 1,5 bits veces más alto. Encontrar cualquiera de estos indicaría que el módem acaba de ver un 0x41 o 0xC1 (es decir, "A") de la velocidad de transmisión identificada. Además, indicaría que la computadora conectada estaba usando 8-N-1 o 7-E-1, o que estaba usando 7-N-1 o 7-O-1. En cualquier caso, buscaría que el siguiente carácter sea 0x54 o 0xD4 (es decir, "T"). Eso permitiría al módem categorizar aún más la longitud de los caracteres y la configuración de paridad.
Tenga en cuenta que todo lo recibido antes del "AT" sería ignorado. Si se activa el eco, los datos se devolverán a la computadora conectada simplemente reflejando todas las transiciones de línea sin ninguna decodificación en serie. Si una computadora enviara datos antes del "AT" a, por ejemplo, 247 baudios, se haría eco a esa velocidad.
Hoy en día, algunos dispositivos usan una "A" inicial para la detección automática de la velocidad de transmisión, pero por lo demás el hecho de que los comandos comienzan con "AT" es básicamente una curiosidad histórica.
fuente
Se refiere al conjunto de comandos de Hayes que ha sido el estándar durante mucho tiempo para emitir comandos a módems (y otros equipos) a través de una línea en serie.
En lugar de que los comandos y los datos tengan dos líneas separadas, solo se usa una línea y para pasar al modo comando desde los datos se envía una secuencia determinada, por ejemplo, +++ seguida de una pausa de longitud establecida. Luego, el equipo receptor recibe los siguientes datos como un comando.
La razón para usar algo como esto es el hecho de que evita la necesidad de otro par de líneas, que en muchos casos simplemente no están disponibles, especialmente en pequeños sistemas integrados.
Eche un vistazo a la página Wiki y los enlaces en la parte inferior: hay muchos detalles allí.
Sin embargo, hay todo tipo de extensiones para el conjunto AT original, por lo que no confiaría en que todo lo que menciona AT realmente use todos los comandos Hayes originales. Por ejemplo, tengo un chip serie bluetooth aquí que IIRC usa su propio conjunto de tipo AT.
Sin embargo, no soy un experto en ello, solo recuerdo hackear con comandos en los viejos días de acceso telefónico y BBS.
fuente
El conjunto de comandos "AT" fue resolver un problema de necesitar información de control fuera de banda sobre el mismo canal de bytes de datos arbitrarios enviados. Este era un problema común de los módems, cuando eran cajas externas conectadas a computadoras a través de un cable serial.
Hayes fue un fabricante de tales módems, y ganó mucha popularidad temprana. Su solución para el problema fuera de banda fue enviar al módem principalmente comandos de control ASCII de dos letras con una secuencia especial para ponerlo en modo de paso de datos. Para reducir la probabilidad de que cosas al azar parezcan comandos, todas sus secuencias de comandos comenzaron con el comando AT, que significaba "atención".
Hayes ganó tanta participación en el mercado que otros fabricantes de módems tuvieron que implementar el mismo conjunto de comandos para ser compatibles. De esa forma, los clientes podrían usar sus módems sin tener que volver a escribir el software, que ya estaba configurado para manejar un módem Hayes.
Hoy en día, este esquema rara vez se usa, pero por supuesto, algo que era tan generalizado se queda en los rincones oscuros incluso hoy en día.
fuente
Hay un documento especialmente bueno que describe la historia de los comandos "AT" que se pueden encontrar aquí:
http://nemesis.lonestar.org/reference/telecom/modems/at/history.html
Contiene muchas páginas de buena "historia" sobre cómo surgió el protocolo.
fuente
¿Por qué las personas en sistemas embebidos usan comandos AT?
No soy una de esas "personas en sistemas embebidos", pero diría que los
AT
comandos todavía están en uso porque provienen de un estándar bien definido de baja sobrecarga para la señalización en línea.Lo que eso significa es que puede usar el mismo canal de comunicación tanto para la señalización (comandos AT para administrar la comunicación) como para los datos (datos reales que desea enviar). El
AT
estándar especifica cómo diferenciar entre los dos para que usted y su dispositivo en serie no se confundan al hablar entre ellos.¿Qué significa "AT"?
AT
es para ATENCION¿Por qué la gente sigue diciendo que es un estándar?
Pues porque lo es. Yo diría que en realidad es una mezcla de estandarización de facto y un par de estándares "reales" y algunas recomendaciones .
fuente