안드로이드에서 AT 명령어 보내기

2024. 2. 19. 10:10IT관련

반응형

안드로이드 디바이스와 외부 모뎀을 USB(시리얼포트)로 연결한 후 상호간에 AT 명령어로 통신을 해야 하는 경우가 생겼다. PC에서는 뭐 여러가지 툴들도 있고 해서 어렵지 않지만 안드로이드에서 하는건 어떻게 해야 할지 몰라 난감했다.

 

우선 USB(시리얼) 드라이버가 사용하고자 하는 안드로이드에 로드 되어야 한다. 안드로이드가 드라이버를 지원하지 않으면 통신할 방법이 없다. 드라이버가 있다는 가정하게 command창을 띄워 adb shell로 안드로이드에 접속한다. 이후 USB(시리얼) 장치가 연결이 되었다면 ttyACM 혹은 ttyUSB 이름으로 된 장치가 보일 것이다.

adb shell

그리고 ttyACM(ttyUSB)로 부터 응답을 받으면 출력하도록 cat 으로 연결을 한다.

c:\> adb shell

cat /dev/ttyACM0

 

이제 AT 명령을 보낼 수 있도록 또다른 command 창을 띄워 마찬가지로 adb shell로 연결 한다.

at command

 이후 echo 명령을 이용해 AT 명령어를 ttyACM(ttyUSB)에 보낸다. 그러면 위 cat으로 출력을 연결한 창에 응답이 표시된다.

c:\> adb shell

echo -e "AT" > /dev/ttyACM0
echo "AT+CMD?" > /dev/ttyACM0
echo "AT\$CMD=X" > /dev/ttyACM0

# 장치 규격에 따라 AT 명령어 다음에 CR 혹은 LF를 추가해야 할 수도 있다.

 

 

반응형