티스토리 뷰

Tasker 어플로 무선랜을 자동 제어 해보자.

사용 설명서: http://tasker.dinglisch.net/userguide_summary.html


목표: 집에서 충전 중이거나 특정 어플을 실행하면 무선랜을 켜고 아니면 끈다.


C 스타일로 설계를 해보면

조건 1
if(현재 위치== 집 and 충전 중)

    Wifi를 켠다
}
else
 if(Wifi == off or 프로필이 활성화) { 작업 중지 }
 for(설정시간 = 1분 ; 설정시간 > 0; 설정시간--)
{
    1분간 대기
}
if( ! 프로필이 활성화 ) { Wifi를 끈다 }


조건 2
위와 마찬가지이며 충전 중 대신 통신을 사용하는 어플이 실행될때로 바꾸면 된다.




현재 위치를 집으로 인식시키기

Context:
State - Phone - Cell Near:
Scan 버튼으로 기지국 번호를 조회한다.
기지국은 수시로 변경되므로 Edit를 통해 수시로 스캔하여 추가 등록 한다. 당연히 집에서 스캔~



여러개의 기지국을 등록했다.



 

집 프로필의 Task 항목에서 변수 설정을 한다.


Variable Set에서 변수명을 원하는 대로 설정 후 1 값을 저장한다.
Flash는 화면에 풍선 도움말을 띄워준다.

Task:
Variable - Variable Set:
- Name: %SET_HOME (사용자 변수)
- To: 1

Alert - Flash:
- Text: 메시지


 

등록 후 Task를 누르면 Exit 조건을 설정할 수 있다.

위에서 설정한 변수에 0 값을 저장한다.


 

Wifi를 사용하는 어플 프로필도 위와 같이 설정한다. 프로필명은 같게 하는 것이 편하다.


Context에서 어플리케이션을 선택 후 어플들을 선택해주면 된다.
Task는 실행, 종료 조건을 위와 같이 설정한다. 변수명은 다르게...


새로운 프로필을 추가하여 무선랜 이름을 입력 후


Context:
State - Power - Power Any를 추가한다.


등록한 Context 항목을 눌러 하나 더 추가 한다.


State - Variable Value에서 위에서 등록한 변수를 선택한다.
집에서 실행되야 하므로 값은 1로 설정한다.

Event - Variable - Variable Value:
- Name: %SET_HOME (사용자 변수 - 집 프로필에서 설정)
- Op: Matches
- Value: 1


 

Task에 Wifi 켜짐 조건을 설정한다.

1. + Tasker - If: 변수는 Wifi Status를 선택하고 값은 off를 입력한다.
2. + Net - Wifi: 값은 On을 선택한다.
3. + Alert - Flash: 메시지를 띄우는 기능이다.


 

Task Exit에 Wifi 꺼짐 조건을 설정한다.

1. + Tasker - Stop: If문에 Wifi Status가 off 되었을 때를 설정한다.
2. + Tasker - Stop: If문에 Profile Active가 현재 프로필명일 때를 설정한다.
3. + Variable - Variable Set: 타이머 값을 저장할 변수를 설정하고 횟수를 입력한다.
4. + Tasker - Wait: 대기 시간을 설정한다.

횟수를 10회로 설정하고 대기 시간을 1분으로 설정했다면, 10분간 대기하는 효과가 있다.

5. + Tasker - Goto Action: 타이머 변수를 설정 했던 3번 항목을 지정하고 If문에 위에서 설정한 Wifi 사용중 변수를 선택하고 값은 1로 한다.
6. + Variable - Variable Subtract: 타이머 변수를 선택, 값은 1을 설정한다. 현재 항목이 실행될때마다 값이 1씩 감소된다.


7. + Task - Goto Action: 4번 항목을 선택한다. Wait에서 설정한 시간동안 대기 하게 된다.
8. + Net - Wifi: Off로 설정한다.

 

결과


집에서 충전기를 연결하면 Wifi가 켜진다.

충전기를 빼면 설정 시간 후 Wifi가 꺼진다.

집에서 설정한 어플을 실행하면 Wifi가 켜진다.

어플을 종료하면 설정 시간 후 Wifi가 꺼진다.

집을 벗어나면 충전기를 연결하거나 어플을 실행해도 Wifi가 켜지지 않는다.

※ 대기 시간을 설정하는 이유는 어플 종료 후 다른 어플을 실행할 때까지 와이파이를 켜놓기 위함이다.
※ 현재 위치를 별도 프로필로 변수로 저장하는 이유는 두개 프로필에 각각 기지국을 설정하면 불편하니까...

저작자 표시 비영리 변경 금지
신고
댓글
  • 프로필사진 BlogIcon 다빈아 잘 보았습니다.
    아무리 찾고 고민해도 안되는게 있어 문의 좀 드립니다.
    충전중일때와 충전 안될때를 stop if 문으로 적용하고 싶은데요..이게 안되네요ㅜ.ㅜ
    충전은 charging 로적고 중간에 기호는 ~사용하고 충전중은 숫자1 충전이 안될때는 숫자 0으로 표기하면 인식이 되는게 맞는지요?

    그리고 충전이든 무엇이든 tasket 가 인식하는 단어는 어텋게 찾아야 하는지요?

    너무 기초적인 질문이라 부끄럽지만 몇일 고생해도 해결이 안되어 여쭈어 봅니다.

    부탁드려요..
    감사합니다.
    2016.04.29 15:58 신고
  • 프로필사진 Favicon of http://tsblog.simulz.kr BlogIcon Simulz Stop은 if문 조건이 참일 때 코드 실행을 멈추라는 명령입니다.
    충전중 프로필을 만들고 Variable Set으로 %변수에 값을 할당하고
    다른 코드에서 %변수를 사용하면 됩니다.
    2016.05.03 20:31 신고
댓글쓰기 폼