본문 바로가기
코딩/Linux, Termux

파이썬과 termux를 이용해 스마트폰 컨트롤하기(문자 전송, 전화 걸기, 녹음하기, 알림 보내기 등)/termux-api

by 나홀로코더 2021. 12. 23.
반응형

목차

1. 주제 소개

2. termux-api 설치하기

3. termux-api 명령어 소개

4. termux-api 명령어를 파이썬에서 실행하는 방법


 

1. 주제 소개

 

필자는 앞서 termux 앱을 이용해 스마트폰에서 파이썬을 사용하는 방법을 소개했다.

 

termux를 이용해 스마트폰에서 파이썬과 주피터노트북 사용하기

 

이를 사용하다보면 문자나 알림을 보내는 등 스마트폰을 컨트롤할 방법이 없는지 궁금해진다.

 

termux의 추가 기능(?) 중 termux-api를 이용하면 스마트폰의 몇 가지 기능을 termux에서 직접 실행할 수가 있다.

 

또 간단한 코드를 통해 파이썬 파일 내에서도 이를 실행할 수가 있어, 파이썬 스크립트 실행 결과를 문자로 알리는 등으로 활용할 수가 있다.

 

반응형

 

2. termux-api 설치하기

 

termux 홈페이지에 들어가보면 몇 가지 추가 기능들(addons)을 소개하고 있다.

 

아마 termux를 설치하기 위해서 F-droid나 구글플레이스토어에서 termux를 검색했을 때 함께 검색되는 것을 보았을 것이다.

 

그중 스마트폰을 컨트롤할 수 있게 해주는 것은 termux-api이다.

 

F-droid에서 termux를 설치했다는 것을 전제로, F-droid에서 termux-api를 검색해 설치하자. termux와 마찬가지로 apk 파일 형태로 제공된다.

 

 

그런 다음 termux에서 아래 명령어를 입력해준다. 이 부분은 termux-api를 구글플레이스토어에서 다운받았을 경우에만 필요한 것처럼 보이긴 하는데, 조금 헷갈리니 그냥 하는 것으로 하자.

 

pkg install termux-api

 

여기까지 했다면 이제 termux-api 명령어들을 터미널에서 바로 사용할 수 있다.

 

다만, 명령어를 실행하려면 관련된 권한이 필요하다.

 

스마트폰의 설정>애플리케이션에서 Termux:API를 찾아 들어가 필요한 권한을 허용해주자.

 

 

권한 허용을 했다면 사용하고 싶은 termux-api 명령어를 실행해보자.

 

반응형

 

3. termux-api 명령어 소개

 

유용해 보이는 명령어들을 몇개만 추려 여기에 소개한다.

 

termux-microphone-record: 녹음 기능

 

녹음 기능은 아래와 같이 사용한다.

 

termux-microphone-record -d # 녹음 시작
termux-microphone-record -q # 녹음

 

첫번째 명령어를 입력하면 녹음이 시작되고, 두번째 명령어를 입력하면 녹음이 종료된다.

 

녹음 파일은 내장 메모리의 루트 디렉토리("내 파일" 앱에서 내장메모리를 눌렀을 때 바로 열리는 디렉토리)에 저장된다.

 

참고로, termux-api를 이용해 녹음을 하면 스마트폰의 녹음 앱을 사용할 때와 달리 알림창 등에 녹음중이라는 표시가 나타나지 않는다.

 

 

termux-notification: 알림 기능

 

알림 기능은 여러 가지 옵션이 있는데, 원하는 문구를 알림에 표시해 주는 명령어만 소개하겠다.

 

아래와 같이 -c 뒤에 원하는 문구를 넣고 명령어를 실행해보자.

 

termux-notification -c hello

 

그러면 아래 사진처럼 알림이 나타난다.

 

알림 기능 예시

 

 

termux-sms-send: 문자 전송 기능

 

문자 전송도 간단하다. 아래와 같이 -n 뒤에 수신자 번호를 넣고, 한 칸을 띈 다음 원하는 메시지를 입력한다.

 

termux-sms-send -n 01012345678 hello

 

 

termux-vibrate: 진동

termux-sms-list: 문자 목록 불러오기

 

진동을 울리거나 문자 목록(json 형태)을 불러오고 싶다면 위 명령어를 그냥 입력해주면 된다.

 

반응형

 

4. termux-api 명령어를 파이썬에서 실행하는 방법

 

앞부분까지 보고 나면 아마 이런 생각이 들 것이다.

 

'아니, 문자 보내기든 녹음이든  어차피 스마트폰을 손에 들고 있는데 termux로 할 필요가 뭐가 있지?'

 

맞다. 3번에서 소개한 것처럼 커맨드 라인에서 명령어를 입력해 termux-api를 활용하는 것은 별로 유용해 보이지 않는다.

 

그런데 termux와 파이썬을 설치하고, 간단한 웹스크레이핑 스크립트나 기타 간단한 프로그램을 만들어 스마트폰에서 사용하고 있는 경우, 그 실행 결과나 종료 알림을 termux-api를 이용해 보낼 수 있다면 꽤 유용할 것이다.

 

이를 위해서는 아래와 같이 파이썬의 os 모듈을 불러와 system 함수를 사용하면 된다.

 

아래 두줄만 작성한 .py 파일을 실행해보면, 진동이 한 차례 울릴 것이다.

 

import os
os.system("termux-vibrate")

 

termux에서 파이썬 파일을 만들고, 편집하는 방법은 아래 게시글의 2번을 참조하기 바란다.

 

termux를 이용해 스마트폰에서 파이썬과 주피터노트북 사용하기

반응형

댓글