본문 바로가기
[최대48만원] 인터넷•TV 가입시 설치당일 현금지급 정수기 렌탈시 최대50만원 추가지급
엔지엠 매크로

파이썬 아두이노 클래스디디 하드웨어 매크로 만들기.

by 업무자동화 2022. 2. 19.
반응형

무료 매크로 프로그램 다운로드

http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순구매매크로 #이미지서치매크로 #한글매크로

 

파이썬 하드웨어 매크로 만들기. (아두이노, ClassDD)

안녕하세요. 엔지엠소프트웨어입니다. 요즘 파이썬이나 C#으로 하드웨어 매크로 만드는 방법에 대한 문의가 많아졌습니다. 아마도, 언어중에서 가장 쉬운 C#과 파이썬이 일반인들도 직접 매크로를 만들 수 있을만큼 레퍼런스가 많아져서 그런게 아닐까 생각이 드네요. 이런 개발 관련 커뮤니티가 많아지면 좋겠습니다. 제 홈페이지도 매크로 개발 관련 커뮤니티이지만~ 댓글은 1년에 10개 달릴까 말까예요. 그만큼 참여도가 상당히 떨어지는 분야가 개발쪽인거 같습니다^^;

 

 

파이썬으로 하드웨어 매크로를 만들기 위한 기본적인 개발 환경을 구축해야 합니다. 비개발자분들은 이 부분부터 어려울수도 있는데요. 세세하게 그림으로 설명하고 있으니 너무 겁먹지 않아도 됩니다. 아래 설명처럼 잘 따라하면 누구나 쉽게 매크로를 만들 수 있으니까요~ 아래 사이트에서 VSCode(Visual Studio Code)를 다운로드 합시다.

비주얼 스튜디오 코드 다운로드 ]

 

 

VSCode는 설치하는데 복잡한 설정이나 변경해야 할 부분은 없습니다. 서버 설치나 데이타베이스와 같이 시스템에 영향을 주거나 사용자 계정 및 권한 관리등등 선택하는게 없기 때문입니다. C드라이브에 용량이 없다면 설치 위치정도 변경할 수 있겠네요. 하지만, 가능하면 기본값으로 설치하세요. 설치가 완료되면 비주얼 스튜디오 코드를 실행해줍니다. 아래와 같은 화면을 볼 수 있습니다.

※ 워크 스페이스나 환경에 따라 다를 수 있지만, 대부분은 아래와 비슷한 화면이 열릴겁니다.

 

 

우리는 한글이 익숙하므로 한글로 변경해줍시다.

  1. 확장 클릭. (Extensions, Ctrl+Shift+X)
  2. korean 입력
  3. Korean Language Pack for Visual Studio Code - Install 클릭

 

 

설치가 완료되면 ①Restart를 클릭하세요.

 

 

아래 그림과 같이 한글로 변경되었죠? 영어로만 보다가 한글로 보니깐 왠지 생소하네요 ㅎㅎ;

 

 

이제 파이썬을 설치 해볼까요? Extensions(Ctrl+Shift+X)를 눌러서 python을 검색합니다. 저는 이미 설치되어 있는데요. 여러분들은 아래 3가지를 모두 설치해야 합니다.

 

 

프로그래밍 언어를 처음 시작할 때 항상 하는게 있는데요. 바로~ "Hello NGMsoftware!"입니다. 개발자들이 이런걸 항상 하는 이유는 간단합니다. 개발 환경이 잘 갖춰지고 정상적으로 동작하는지 확인하기 위함이죠. 그리고, 언어를 가르치는 대부분의 전문 서적이나 사이트에서 저렇게 하기 때문에 의례 하는것 정도로 이해하시면 됩니다. 그렇게 큰 의미를 가진건 아닙니다. 아래 그림과 같이 좌측 상단 메뉴에서 파일 > 새 파일을 클릭하세요.

 

 

새로운 파일이 만들어졌습니다. 이상태에서 Ctrl+S를 눌러서 저장할 수 있는데요. VSCode는 대부분의 언어를 개발할 있도록 만들어진 IDE이기 때문에 단순히 파일만 만들어서는 어떤걸 할지 알 수 없는 상태가 됩니다. 그래서, 파일을 저장하면서 확장자를 지정하거나 아래 그림처럼 "언어 선택"을 통해 명시적으로 Visual Studio Code에게 알려줘야 합니다. "언어 선택"을 클릭해보세요.

※ 파일을 py 확장자로 저장하면 자동으로 파이썬으로 인식합니다. 파이썬 확장이 없으면 알려줍니다.

 

 

python을 입력하고, 검색된 항목을 클릭해줍니다.

 

 

아래와 같이 코딩을 추가하고, Ctrl+S를 눌러서 "start.py"로 저장합니다. 프린트 함수는 인자로 텍스트를 받고, 실행하면 텍스트를 출력해주는 기능을 합니다. 이제 막 시작 단계라서 함수와 인자에 대한 설명은 건너뛰고 동작이 되는지만 확인하시면 됩니다. 그리고, 처음에는 어쩔 수 없이 무조건 외우는 수밖에 없습니다.

※ 컴파일(실행)하면 자동으로 저장됩니다. 하지만, 가능하면 저장하는 습관을 들이는게 좋습니다.

print("Hello NGMsoftware!")

 

 

혹시라도 F5로 실행이 되지 않는다면, 우측 하단에 표시되는 알람 "Select Interpriter"를 클릭하고 설치되어 있는 파이썬을 선택하세요.

※ 설치된 확장의 종류에 따라 실행 단축키가 다른 기능에 연결되어 있을수도 있습니다.

 

 

파이썬을 실행할 단축키를 설정하고 갑시다. 영문 버전이면 "File > Preferences > Keyboard Shortcuts"로 이동하면 됩니다. 한글 버전은 아래와 같이 이동하세요.

 

 

저는 주로 빌드 또는 컴파일 또는 실행을 F5로 사용합니다. 자신의 취향에 맞게 설정하면 됩니다. 바로 가기 키에서 "Type to search in keybindings"에 "run python file in terminal"을 입력하세요. 검색에서 나온 항목에서 좌측에 + 버튼을 클릭합니다.

 

 

F5를 누르고 엔터를 치면 입력됩니다. 만약, 중복이 있거나 자신이 원하는 조합키가 있다면 그걸 넣어도 상관 없습니다.

 

 

아래와 같이 키 바인딩이 설정되었습니다.

 

 

start.py 파일을 선택하고, F5를 눌러보세요. 하단에 출력 결과를 확인할 수 있습니다.

 

 

아래 동영상을 참고해서 hardware_macro.py 파일을 하나 추가하세요. 저는 예제로 만들어둔 매크로 프로그램들이 있어서 파일이 많지만, 여러분들은 아마도 파일이 한두개밖에 없을겁니다.

 

 

아두이노를 이용해서 하드웨어 매크로를 만들려면 시리얼 통신을 이용해야 합니다. 물론, 아두이노도 컴퓨터에 연결되어 있어야겠죠?

import serial

 

컴퓨터에 연결된 아두이노가 몇번째 콤 포트를 사용하는지 알아내야 합니다. 윈도우의 장치 관리자를 실행해보세요.

 

 

장치 관리자(Device Manager)의 포트(COM & LPT)를 보면, 컴퓨터에 연결된 아두이노가 COM3 포트를 사용하고 있다는걸 확인할 수 있습니다.

 

 

엔지엠 매크로를 사용하면 아두이노에 쉽게 연결할 수 있습니다. 자동으로 컴퓨터의 포트를 보여줍니다. 포트는 컴퓨터마다 다를 수 있으므로 선택적으로 사용할 수 있게 해주는게 좋습니다. 개인적으로 사용하는거라면~ 이렇게 옵셔널하게 할 필요까지는 없긴하죠^^

 

 

파이썬으로 다시 돌아와서 아래와 같이 코드를 작성해보세요. 이 코드는 마우스를 Y축으로 5만큼 이동한 후 클릭하도록 해줍니다.

import serial

mySerial = serial.Serial("COM3", 115200, timeout = 1)
mySerial.write(str.encode("Y5"))
mySerial.write(str.encode("0"))

 

실행 해보면, 마우스가 5만큼 아래로 이동한 후 클릭이 발생합니다.  아래로 5만큼 이동한 후 클릭한 파일이 helloTypeScript.ts 입니다. 파일을 클릭했기 때문에 파일이 자동으로 열립니다.

 

 

아두이노는 한번에 8비트만 처리할 수 있습니다. 그래서, 마우스가 -128~127까지 이동합니다. 8비트 범위를 벗어나는 거리를 이동하려면 반복문을 사용해서 127만큼 잘라서 이동시켜줘야 합니다. 엔지엠 매크로에서 아두이노 설정을 봐도 기본값이 127로 되어 있는걸 확인할 수 있습니다. 아래 동영상은 엔지엠 매크로에서 시리얼 통신에 연결한 후 마우스 클릭 좌표를 설정하고 클릭하도록 만든 간단한 스크립트입니다. 실행하면 클릭 좌표로 이동한 후 마우스 클릭이 발생합니다.

 

 

간단하게 파이썬으로 아두이노를 연결해서 마우스로 클릭하는 방법을 알아봤습니다. 아두이노가 아니더라도 하드웨어 신호로 변환해주는 클래스디디(ClassDD)를 사용해도 됩니다. 클래스 디디의 경우는 아래와 같이 코드를 작성할 수 있습니다. 코드는 크게 어렵지 않죠? 클래스 디디 모듈은 깃헙에서 다운로드 받을 수 있습니다.

[ 클래스 디디 다운로드 ]

from ctypes import *
import time

print("DD!")
dd_dll = windll.LoadLibrary('c:\DD94687.64.dll')

#키보드 win
dd_dll.DD_key(601, 1)
dd_dll.DD_key(602, 2)

time.sleep(2)

#절대 좌표
dd_dll.DD_mov(200, 200)

time.sleep(2)

#마우스 우클릭
dd_dll.DD_btn(4)
dd_dll.DD_btn(8)

#상대 좌표
dd_dll.DD_movR(200, 200)

 

이외에도 다양한 방법으로 하드웨어 방식으로 마우스와 키보드를 입력시킬 수 있습니다. 파이썬으로 매크로를 만들고 싶으면, 아래 글들을 참고해보세요. 또한, C#으로 매크로를 만드는 방법도 잘 설명되어 있으니 참고하시면 프로그래밍하는데 많은 도움이 될듯 합니다.

[ 파이썬, C# 매크로 만들기 ]

[ 각종 자동화 매크로 및 RPA 프로그램 제작 해드립니다. ]

[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]

 

원본 글 보기

http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로 #이미지맥스 #심플핫키 #오토클리커 #UiPath #Brity #스푸퍼 #DKOM #모바일게임매크로 #다클라매크로 #다계정매크로 #인스타그램매크로

반응형

댓글