NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 안드로이드폰 다클라 매크로 설정 방법. (ADB, SCRCPY)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 에디터는 활성, 비활성, 안드로이드 및 기계식 RPA 매크로를 제작할 수 있습니다. 업무 자동화가 어떤 프로그램에서 동작하는지에 따라서 용도가 약간씩 다릅니다. 오늘 알아볼 내용은 컴퓨터에 안드로이드 스마트폰을 연결해서 매크로를 동작시키는 방법입니다. 다클라를 하려면 안드로이드폰이 다수 있어야 하고, 이 핸드폰들이 컴퓨터에 USB로 연결되어야 합니다. 아래와 같은 폰보드 제품같은게 필요할수도 있습니다.

    iN6BlzA.png

     

     

    엔지엠 매크로를 실행하고, 새로운 스크립트를 하나 추가하세요.

    cnOuw3h.gif

     

     

    안드로이드 스마트폰을 연결하려면 아래 링크의 내용을 참고하셔서 개발자 모드로 변경해야 합니다.

    [ 안드로이드 스마트폰 다클라 매크로 만들기 ]

     

    핸드폰에서 개발자 모드로 들어가서 USB 디버깅을 사용하도록 설정하셨을겁니다. 그리고, ADB와 SCRCPY도 설치 하셨을거예요. 관리자 권한으로 CMD를 실행 해줍니다.

    adb devices

    DlxRW3d.png

     

     

    기기에 정상적으로 접속할 수 있는 상태가 되었습니다. 기기의 해상도를 알아내기 위해 scrcpy 명령을 한번 수행한 후 Ctrl+C를 눌러서 종료시키세요. 이 글에서 예제로 사용중인 안드로이드 핸드폰의 해상도는 1080x2400입니다. 제 모니터에 표시하기에는 너무 큰 사이즈입니다. 그래서, 실행할 때는 1/4 사이즈로 조정하겠습니다.

    [ SCRCPY 명령어 도움말 ]

    mOSYXI8.png

     

     

    가로 1080 / 4 = 270, 세로 2400 / 4 = 600 사이즈입니다. 그리고, 잠자기 모드로 빠지지 않도록 w 옵션을 주었습니다. 만약, 잠자기 모드는 방지하고 물리적인 기기에서는 화면을 끄고 싶다면 -Sw 와 같이 옵션을 설정하세요. 이렇게하면 기기의 발열은 줄이고, 오랜시간동안 매크로를 돌릴 수 있습니다.

    scrcpy -w --window-width=270 --window-height=600
    
    # 잠자기 모드 방지 및 기기 화면 끄기
    scrcpy -Sw --window-width=270 --window-height=600

    VZAIv7q.png

     

     

    안드로이드 스마트폰이 폰보드에 20개씩 연결할 수 있습니다. 컴퓨터에 USB 연결 단자가 4개라면 20x4 해서 80대의 안드로이드 핸드폰을 멀티로 제어할 수 있습니다. 저는 한대만 연결되어 있어서 아래 그림과 같이 안드로이드폰이 미러링되고 있습니다. 기기별로 각각 연결하려면 아래와 같이 시리얼번호를 추가해주면 됩니다.

    scrcpy -s <시리얼번호> -Sw --window-width=270 --window-height=600

    vSn35vz.png

     

     

    SCRCPY 미러링에 연결하려면 [ ADB 연결 ] 액션을 스크립트에 추가해야 합니다. 여기서 중요한 부분이 나옵니다. 안드로이드 기기의 해상도는 1080x2400입니다. 하지만, 미러링되는 SCRCPY는 1/4 사이즈로 실행 했습니다. 그렇기 때문에 좌표가 1/4 만큼만 이동합니다. 기본적으로 1:1로 좌표가 매핑됩니다. 기기의 원본 해상도보다 1/4 상태로 줄였기 때문에 아래 배율에 4를 입력해야 합니다.

    ※ 주의: ADB 연결이 추가된 상태로 SCRCPY가 아닌 다른 핸들을 잡으면 마우스와 키보드가 동작하지 않습니다. ADB가 한번 연결되면 내부에 연결 정보가 저장되기 때문입니다. 만약, ADB를 안쓰고 핸들로 다른 테스트를 진행하려면 ADB 연결의 "외부 모듈 사용" 속성을 "False"로 변경하고 한번 실행해야 내부에 저장된 값이 삭제됩니다.

    2BOuRgN.png

     

     

    아래 동영상을 참고하셔서 [ 핸들 추가 ] 액션을 설정하세요. 핸들을 추가하는 이유는 [ 이미지 서치 ]나 [ 이미지 매치 ]와 같은 화면 인식을 비활성으로 처리하기 위함입니다. 그리고, 핸들을 사용해야 다클라 매크로를 제작할 수 있습니다. 실제로 다클라 매크로를 제작할 때는 처음 기준이 되는 SCRCPY 소프트웨어를 모니터 화면 좌상단 0, 0으로 이동시키고 작업하셔야 나중에 문제가 안생깁니다. ADB를 사용하지만 이미지 처리는 비활성으로 처리하기 때문에 현재 위치와 상대 위치를 계산하기 위한 값들이 내부에 자동으로 저장됩니다. 이 값들을 쉽게 처리하려면 무조건!!! 기준이 되는 프로그램을 좌상단 0, 0으로 이동한 후 핸들을 잡고 이미지 캡쳐 및 찾기 영역등등을 추가하세요. 매크로를 완성할 때까지 위치와 크기를 유지해야 합니다.

     

     

    이미지 매치 액션을 하나 추가한 후 아래 동영상처럼 클릭할 위치(플레이 스토어)를 캡쳐해서 저장 해줍니다.

     

     

    완성된 매크로를 실행 해볼까요? 아래 동영상처럼 플레이 스토어를 잘 찾아서 클릭 해줍니다. 비활성으로 동작하기 때문에 마우스가 이동하지 않습니다.

     

     

    이번에는 그림판으로 플레이 스토어 아이콘을 가리고 다시 실행 해보세요. 핸들이 추가되어 있기 플레이 스토어 아이콘이 화면에 보이지 않더라도 찾아서 클릭해줍니다.

     

     

    여기서 중요한점은 실제 기기의 해상도가 크기 때문에 다클라 매크로를 제작하려면 윈도우 해상도에 맞게 축소해야 한다는점입니다. 모니터 화면에 6개에서 8개를 띄우려면 많이 축소해야 할겁니다. 이 때 SCRCPY의 해상도를 아무렇게나 설정하는게 아닌 비율에 맞게 축소해야 한다는 점입니다. 마우스 클릭 좌표를 계산하려면 원본과 미러링창의 해상도가 동일한 비율이어야 하기 때문입니다. 만약, 해상도 비율이 잘못 입력되었다면 클릭 위치가 틀어져서 원하는 곳을 터치할 수 없게됩니다.

    ※ 기기의 원본 해상도와 SCRCPY 해상도가 다른 경우에는 엔지엠 매크로의 ADB 연결에서 배율을 차이나는만큼 입력해야 합니다. 그래야 마우스 좌표가 정상적으로 계산되고, 틀어지는것을 방지할 수 있습니다. 이 내용은 아주 중요하므로, 꼭 제대로 계산해서 정확한 값을 입력해야 합니다.

     

    만약, 안드로이드폰 기기의 해상도와 컴퓨터 모니터의 해상도가 딱 떨어지게 사이즈를 조정할 수 없다면 [ 비율 계산기 ] 프로그램을 이용해서 계산하시면 됩니다. 엔지엠 매크로의 안드로이드 연결에서 배율은 소수점까지 입력이 가능합니다. 또한, 가로 세로 비율이 다르더라도 처리할 수 있습니다. 기본적으로 배율은 가로, 세로에 모두 적용됩니다. 만약 가로와 세로의 비율이 다르다면 세로 배율을 별도로 추가 입력해야 정상 동작합니다.

    Sr4pVTg.png

     

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.