뭐 정확히 말하면 CDMA modem 관련 업무를 하고 있는데, 이 모뎀 이라는 녀석은 어디에 쓰이는고 하니,
쉽게 말하면 휴대폰에서 무선망을 사용하는 기능, 음성통화, SMS, DATA 서비스 접속등.. 이런 기본적인 기능만 덜렁~
띄어내서 제공하는 역할을 한다. 이 녀석을 어떤 Device와 연동시켜주면, 그 device가 휴대폰과 같이 무선망을 사용할 수 있게된다.
TV에 요즘 자주 나오는 WIFI VS. 3G 하고 광고할때 나오는 그 3G 처럼 무선망에 접속하여 장소에 구애받지 않고
사용하게 되는 거다. 속도도 느리고 가격도 비싸고 뭐 여러가지 말이 많겠지만, 어디에서든지 망을 사용할수 있다는건 참 매력적인 부분일 수 있다.(어떻게 사용하느냐에 따라...)
여기서 그 외부 device와 이 모뎀이 뭔가 주고 받으면서 동작을 해야하는데 hardware적인 부분은 빼고,
여기서 뭔가 주고 받는게 바로 AT Command 라는것 이다.
- 이 AT Command 라는건 아주 오래전의 일인것 같지만, 불과 십수년 전만해도 이 모뎀이라는 녀석이 있어야 소위 말하는 PC 통신등의 BBS(Bulletin Board System)서비스(하이텔, 천리안, 유니텔, etc) 등을 사용할수 있던 시절을 기억하는 사람들이라면 이게 대충 뭔지 알듯..
야심한 새벽에 빨갛게 충혈된 눈으로 터미널 프로그램을 실행시키고 부서져라 키보드를 두드려대던 ATDT014xx 와 같은 것들.. 종료 할때 치던 ATZ 같은 명령어들 이런것들을 AT Command 라고 부른다.
여기까진 추억의 AT COMMAND 였고, 일이라서 궁금함 반, 호기심 반으로 찾아본 내용을 정리해보자.
< 참조 위키피디아 :: http://en.wikipedia.org/wiki/AT_command >
AT Command의 어원은 1977년 미국의 Hayes Communications 라는 곳에서 개발한 "Hayes Smartmodem 300 baud" 라는 초창기 모뎀을 사용하기위한 command set들이 그 시초가 되었다고 한다.
이 명령어 셋들이 시작할때 AT~(Attention)을 시작으로 하는 명령어들의 조합이라 흔히들 AT Command라고 불리운다.
이 모뎀은 2가지의 모드를 switching 하면서 사용하는데,
1. data mode - modem이 다른 원격의 위치에 있는 remote 모뎀에 computer로 부터 받은 모든 data를 전송해주는 상태
2. command mode - local 모뎀, 즉 computer와 연결되어 있는 모뎀에 세팅등의 명령을 내리고 실행시키는 상태
로 나뉘어 진다.
여기서 command mode에서 어떤 명령을 이용해서 data mode가 되었을때, 다시 data 통신상태를 끊고 command
상태로 바꿀수 있을까? 여기선 escape sequence라고 불리우는 "+++" 문자열을 일정시간 내에 전송해주면 이를 인식하고
다시 command 모드로 전환된다.
computer A와 다른곳에 있는 computer B와의 통신하는 시나리오의 예이다.
두 컴퓨터에서는 모뎀과 통신을 위한 terminal-emulator(이를 테면 하이퍼터미널)가 실행되고 있고 모뎀과 연결된 상태.
Modem A | Modem B | Comment |
ATDT0212345678 | A 모뎀 사용자가 B 모뎀사용자의 모뎀으로 전화를 걸어서 접속을 시도한다. | |
RING | B 모뎀 사용자의 라인에 ring이 발생하고 모뎀이 이를 리포트 한다. | |
ATA | B 모뎀 사용자가 응답커맨드를 내림. | |
CONNECT | CONNECT | 두 모뎀이 연결됨. |
abcdef | abcdef | 어떤 문자등의 데이터를 타이핑하면 상대편 모뎀에 데이터로 전달됨. |
+++ | B 모뎀의 사용자가 escape command를 사용하여 command 모드로 전환시도. | |
OK | 모뎀이 인식하고 모드전환함. | |
ATH | B 모뎀의 사용자가 hang up 명령을 내림 | |
NO CARRIER | OK | 두 모뎀간의 연결이 종료됨. |
반응형
'Tips!? Tips!!' 카테고리의 다른 글
[Source Insight] Tab을 원하는 space size로 설정하기 (0) | 2010.12.09 |
---|---|
ASCII Table (0) | 2010.10.01 |
삭제되지 않는 폴더나 파일 직접 삭제 하기 (0) | 2010.08.04 |