Les commandes AT sont des instructions utilisées pour contrôler les modems.
AT signifie ATTENTION.
Ces commandes proviennent de Hayes à des commandes qui étaient utilisées par les modems intelligents Hayes dans les années 1980. Aujourd'hui, de nombreux modems, y compris les modems commutés, sans fil, GSM/GPRS, utilisent ces jeux de commandes AT pour la communication.
Il existe 2 types de commandes AT de modem.
- Commandes de base
- Commandes étendues
Les commandes de base sont des commandes AT qui ne commencent pas par "+". Les commandes étendues sont des commandes AT qui commencent par un "+". Tous les GSM/GPRS utilisent les commandes étendues pour les services SMS/DATA.
Tâche pouvant être effectuée à l'aide des commandes AT
Voici quelques listes de tâches pouvant être effectuées à l'aide des commandes AT.
- Obtenir des informations de base sur l'abonné
- Obtenir des informations sur la puissance du signal et la puissance de la batterie
- Établir une connexion données/voix
- Envoyer et recevoir des fax
- Envoyer et recevoir des SMS
- Lire/Rechercher des entrées d'annuaire
Notez que tous les modems ne prendront pas en charge toutes les commandes AT.
Dans ce didacticiel, je vais montrer des exemples utilisant mon téléphone portable "Nokia 2700" qui dispose d'un modem GSM/GPRS intégré.
Installation du minicom
Afin d'envoyer des commandes AT aux modems, nous avons besoin d'une interface. Minicom est un outil qui fournit une interface pour communiquer avec des appareils connectés à des ports série. Minicom est un équivalent Linux de l'utilitaire HyperTerminal dans les systèmes d'exploitation Microsoft.
En utilisant minicom, nous pouvons envoyer des commandes AT au modem pour obtenir des informations sur ses fonctionnalités.
# apt-get install minicom
Configurer minicom pour s'interfacer avec le modem
Avant de configurer minicom, nous devons connecter le modem au système Linux. Dans mon cas, j'ai connecté mon "Nokia 2700" via un câble de données à mon PC Linux. Une fois l'appareil connecté, vous verrez une sortie similaire à la suivante en utilisant dmesg. Dans mon cas, le modem a été détecté comme /dev/ttyACM0.
[ 1071.120084] cdc_acm 1-1.3:1.1: ttyACM0: USB ACM device [ 1071.120916] usbcore: registered new interface driver cdc_acm [ 1071.120917] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Pour configurer minicom pour accéder au modem, procédez comme suit :
# minicom -s +-----[configuration]------+ | Filenames and paths | | File transfer protocols | | Serial port setup | | Modem and dialing | | Screen and keyboard | | Save setup as dfl | | Save setup as.. | | Exit | | Exit from Minicom | +--------------------------+
Choisissez la "Configuration du port série" et appuyez sur "Entrée". Il affichera un écran similaire au suivant.
+-----------------------------------------------------------------------+ | A - Serial Device : /dev/tty0 | | B - Lockfile Location : /var/lock | | C - Callin Program : | | D - Callout Program : | | E - Bps/Par/Bits : 115200 8N1 | | F - Hardware Flow Control : No | | G - Software Flow Control : No | | | | Change which setting? | +-----------------------------------------------------------------------+
Appuyez sur 'A' pour changer le périphérique série de /dev/tty0 à /dev/ttyACM0.
Appuyez sur « E » pour modifier le débit en bauds auquel le modem communique. Dans mon cas, c'est "460800". Vous pouvez également utiliser wvdialconf pour identifier le débit en bauds pris en charge par votre modem.
Une fois ces paramètres modifiés, appuyez sur "Entrée".
Choisissez "Enregistrer la configuration sous dfl" et choisissez "Quitter".
Nous avons maintenant configuré le minicom avec succès et vous verrez un écran comme celui-ci.
Welcome to minicom 2.6.1 OPTIONS: I18n Compiled on Feb 11 2012, 18:12:55. Port /dev/ttyACM0 Press CTRL-A Z for help on special keys
Pour tester si nous avons configuré avec succès minicom pour communiquer avec le modem, tapez "AT" dans le minicom. Vous devriez obtenir une réponse "OK" comme suit.
Welcome to minicom 2.6.1 OPTIONS: I18n Compiled on Feb 11 2012, 18:12:55. Port /dev/ttyACM0 Press CTRL-A Z for help on special keys AT OK
1. Répondre à un appel entrant - ATA
Pour répondre à un appel entrant via modem, émettez la commande "ATA" dans le minicom.
RING ATA OK
Lorsqu'il y a un appel entrant, vous pouvez voir un message "RING" dans le minicom. Vous pouvez appuyer sur "ATA" pour répondre à l'appel entrant.
2. Composer et raccrocher un appel vocal – ATD – ATH
Vous pouvez également composer un appel vocal à partir du modem à l'aide de la commande ATD.
ATD 99769XXXXX; OK
Maintenant, le téléphone composera le numéro 99769XXXXX.
Pour raccrocher, utilisez la commande ATH.
3. Obtenir les informations de fabrication/IMEI/IMSI
Les commandes AT étendues sont utilisées pour fournir des informations sur le fabricant, l'identité internationale de l'équipement mobile, l'identité internationale de l'abonné mobile, etc.
AT+CGMI Nokia OK AT+CGSN xxxxxxxxxxxxxxx OK AT+CIMI xxxxxxxxxxxxxxx OK
4. Obtenir la qualité du signal et l'état de charge de la batterie
Vous pouvez également obtenir la qualité du signal et l'état de charge de la batterie à l'aide des commandes étendues AT.
AT+CSQ +CSQ: 29,99 OK AT+CBC +CBC: 1,96 OK
Le format de sortie +CSQ :29,99 représente
Le format de sortie +CBC :1,96 représente <état de charge actuel>,
5. Envoi de SMS à l'aide des commandes AT
Vous pouvez également envoyer des SMS via les commandes AT.
AT+CMGF=1 OK AT+CMGS="99xxxxxxxx" > This is a test message > OK
La commande AT+CMGF=1 définit le "Format du message" sur "mode texte". La commande AT+CMGS, envoie le SMS au numéro spécifié.