J'ai besoin de savoir pourquoi les gens des systèmes embarqués utilisent des commandes AT?
Quand j'ai demandé aux gens de dire que c'était une norme.
Ma question est donc la suivante: que signifie «AT»? Pourquoi les gens continuent-ils à dire que c'est une norme?
serial
communication
at-commands
xsari3x
la source
la source
why people in embedded systems use AT commands
- il n'y a rien de spécifique à votre question ou à l'utilisation d'AT sur une liaison série. Il se peut que vous ayez vu cela sur un système embarqué, mais son origine est expliquée ci-dessous et n'est pas spécifique aux systèmes embarqués. (Faites attention à ne pas peindre les choses avec un pinceau trop large.)modemu
: un programme Unix qui crée un périphérique pseudo-tty maître / esclave et simule un modem qui passe réellement par telnet. Vous "composez" un hôte avecATD<hostname>
. Le plus drôle, c'est que ce programme est sorti presque exactement au moment où j'en avais besoin, vers 1996: version 0.0.1. Je n'en ai plus eu besoin depuis. Et c'est toujours 0.0.1! Je l'ai utilisé conjointement avec minicom pour effectuer des transferts zmodem via telnet vers des hôtes distants qui ne pouvaient être atteints que de cette façon.Réponses:
Un détail rarement apprécié sur les commandes "AT" est que de nombreux modems démarreraient en mode "auto-baud / auto-parité". Initialement, le modem ne tentait pas de décoder réellement les données série, mais surveillait simplement une impulsion basse et une impulsion haute consécutives dont les largeurs correspondaient à la même période de bits valide (par exemple 3,333 ms pour 300 bauds, 833us pour 1200 bauds, etc.). .). En trouvant cela, ils verraient si la prochaine impulsion basse était cinq fois cette largeur. Si c'est le cas, ils surveilleraient soit un autre haut-bas-haut, soit au moins 1,5 fois des temps de haut. La découverte de l'un ou l'autre indique que le modem vient de voir un 0x41 ou 0xC1 (c'est-à-dire "A") du débit en bauds identifié. Cela indiquerait en outre que l'ordinateur connecté utilisait soit 8-N-1 ou 7-E-1, soit qu'il utilisait 7-N-1 ou 7-O-1. Dans les deux cas, il chercherait que le caractère suivant soit 0x54 ou 0xD4 (c'est-à-dire "T"). Cela permettrait au modem de catégoriser davantage les paramètres de longueur et de parité des caractères.
Notez que tout ce qui a été reçu avant le "AT" sera ignoré. Si l'écho était activé, les données seraient renvoyées à l'ordinateur connecté simplement en mettant en miroir toutes les transitions de ligne sans décodage série. Si un ordinateur envoyait des données avant le "AT" à 247 bauds par exemple, elles seraient renvoyées à cette vitesse.
De nos jours, quelques appareils utilisent un "A" initial pour la détection automatique de la vitesse de transmission, mais sinon le fait que les commandes commencent par "AT" est fondamentalement une curiosité historique.
la source
Il fait référence au jeu de commandes Hayes qui est depuis longtemps la norme pour l'émission de commandes vers des modems (et d'autres équipements) sur une ligne série.
Au lieu que les commandes et les données aient deux lignes distinctes, une seule ligne est utilisée et pour passer en mode commande à partir des données, une certaine séquence est envoyée, par exemple +++ suivie d'une pause de durée définie. Ensuite, les données suivantes sont considérées comme une commande par l'équipement récepteur.
La raison d'utiliser quelque chose comme ça est le fait qu'il évite le besoin d'une autre paire de lignes, qui dans de nombreux cas ne sont tout simplement pas disponibles, en particulier dans les petits systèmes embarqués.
Jetez un œil à la page Wiki et aux liens en bas - il y a beaucoup de détails là-bas.
Il existe cependant toutes sortes d'extensions à l'ensemble AT d'origine, donc je ne miserais pas sur tout ce qui mentionne AT pour utiliser réellement toutes les commandes Hayes originales. Par exemple, j'ai ici une puce série Bluetooth que l'IIRC utilise son propre ensemble de types AT.
Je ne suis pas un expert en la matière cependant, je me souviens juste d'avoir piraté avec des commandes dans le temps de la numérotation et du BBS.
la source
L'ensemble de commandes "AT" devait résoudre un problème de transmission d'informations de contrôle hors bande sur le même canal de flux d'octets. C'était un problème commun des modems, à l'époque où ils étaient des boîtiers externes connectés à des ordinateurs via un câble série.
Hayes était un fabricant de tels modems et a gagné beaucoup de popularité au début. Leur solution pour le problème hors bande était d'envoyer au modem principalement des commandes de contrôle ASCII à deux lettres avec une séquence spéciale pour le mettre en mode de transmission de données. Pour réduire la probabilité de choses aléatoires ressemblant à des commandes, leurs séquences de commandes ont toutes commencé par la commande AT, qui signifiait «attention».
Hayes a gagné tellement de parts de marché que d'autres fabricants de modems ont dû implémenter le même jeu de commandes pour être compatibles. De cette façon, les clients pouvaient utiliser leurs modems sans avoir à réécrire le logiciel, qui était déjà configuré pour piloter un modem Hayes.
De nos jours, ce schéma est rarement utilisé, mais bien sûr quelque chose qui était si omniprésent dans les coins sombres, même aujourd'hui.
la source
Il existe un très bon document qui décrit l'historique des commandes "AT" que vous pouvez trouver ici:
http://nemesis.lonestar.org/reference/telecom/modems/at/history.html
Il contient de nombreuses pages de bonne "histoire" sur la façon dont le protocole a vu le jour.
la source
pourquoi les gens dans les systèmes embarqués utilisent des commandes AT?
Je ne fais pas partie de ces "personnes dans les systèmes embarqués", mais je dirais que les
AT
commandes sont toujours utilisées car elles proviennent d'une norme à faible surcharge bien définie pour la signalisation en ligne.Cela signifie que vous pouvez utiliser le même canal de communication à la fois pour la signalisation (commandes AT pour gérer la communication) et les données (données réelles que vous souhaitez envoyer). La
AT
norme spécifie comment faire la différence entre les deux pour que vous et votre périphérique série ne soyez pas confus lorsque vous vous parlez.Que signifie "AT"?
AT
est pour ATtentionPourquoi les gens continuent-ils à dire que c'est une norme?
Eh bien, parce que ça l'est. Je dirais que c'est en fait un mélange de normalisation de fait et un couple de « vrais » des normes et des recommandations .
la source