본문 바로가기
[파이썬] 1대의 아두이노와 여러앱과의 통신(작성중) 시리얼 통신은 1:1이 원칙입니다. 즉, 1대의 아두이노와 1개의 앱만 연결할 수 있습니다. 아두이노는 1개인데 여러개의 앱과 통신할 수 없을까? 하는 고민에 관한 글 입니다. 아래와 같이 시리얼 통신이 연결된 상태에서, 같은 포트로 연결을 시도하면 에러가 납니다. Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import serial >>> ser = serial.Serial("COM3", 9600) >>> ser.is_open True >>> se.. 2022. 2. 15.
[파이썬] OpenCV 이미지 서치 (Template matching) 안녕하세요? 만들오 입니다. 파이썬 라이브러리 OpenCV를 이용한 이미지 서치기능 구현에 관한 글 입니다. 이미지 서치란? 배경화면에서 특정 이미지의 위치를 찾아내는것 입니다. 저는 이 기능을 게임화면 분석에 사용하려 합니다. 1. 사용 코드 import cv2 import numpy as np img = cv2.imread("nopotion.jpg") # 배경이미지 #img = cv2.imread("normal.jpg") # 배경이미지 imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 배경이미지를 흑백으로 변환 target = cv2.imread("target.jpg", cv2.IMREAD_GRAYSCALE) # 찾을 이미지. 불러올때부터 흑백 w, h = ta.. 2022. 2. 9.
[파이썬]PySimpleGUI - 간략한 소개 안녕하세요? 만들오 입니다. 최근 진행중인 리니지W 매크로 프로젝트에서 가장 큰 고민을 하게 만든것이 바로 GUI입니다. 얼마 전 OpenCV로 직접 GUI를 만들어 보기도 했는데 아쉬운 부분이 너무 많았습니다. 이것저것 라이브러리를 사용해봤지만, PySimpleGUI가 가장 쉽고 편리했습니다. 리니지W 매크로 V4를 위해 초안으로 사용했던 코드를 이용해 소개를 하겠습니다. import PySimpleGUI as sg sg.theme('DarkGray') #테마 설정 s1 = (8, None) # 1st column size s2 = (3, None) # I size s3 = (11, None) row1 = [sg.T("캐릭터명", size=s1), sg.I(size=(18,None)), sg.B("시작.. 2022. 2. 7.
[파이썬] OpenCV로 GUI 만들기 OpenCV GUI OpenCV는 이미지/영상처리의 대표격인 라이브러리 입니다. 이미지/영상 관련한 일은 뭐든지 할 수 있을것 같습니다. 하지만, GUI만큼은 지원하지 않고 있는데, 이 부분이 아쉬워 직접 만들어 봤습니다. OpenCV를 이용한 GUI 최근 리니지W 매크로 프로젝트를 진행하며, 가장 어려웠던 부분이 GUI였습니다. 전체 코드가 413 라인인데 핵심 코드는 100줄 정도이니, GUI가 75%를 차지하는군요...😂 이걸 이용해 라인수를 최대한 줄여 강좌를 시작하려고 합니다. 사용 방법 ① 필수 라이브러리 설치 pip install opencv-python numpy pillow ② cvgui.py 다운로드 사용할 앱이 있는 폴더에 저장합니다. 더보기 더보기 #cvgui.py import os.. 2022. 1. 21.
텔레그램 봇 만들고 토큰 받기 텔레그램 봇은 참 유용합니다. 저는 리니지W 매크로와 연동해서 원격으로 제어하거나 특정 상황에서 알림을 받는데 쓰고 있습니다. 이러한 봇의 열쇠가 되는 토큰이 있어야 사용이 가능합니다. 이 토큰을 받는 과정을 소개합니다. 동영상을 참고해 주시기 바라며, 요약하면 다음과 같습니다. 검색창에 botfather 검색 후 대화 시작 START 버튼 클릭 /newbot 클릭 봇의 이름을 지어줍니다. 한글 및 띄어쓰기가 있으면 안되고, 꼭 bot으로 끝나야 합니다. (ex. mandloh_bot) 봇의 이름을 다시한번 입력합니다. 토큰은 숫자:문자로 조합되어 있고, 이를 잘 복사해서 저장해 둡니다. 검색창에 봇 이름을 검색해 대화를 시작합니다. START 버튼 클릭. 토큰을 받기만 하고, 대화시작 및 START를 .. 2022. 1. 16.
[파이썬] 비활성 키 입력 코드 공유 안녕하세요? 만들오 입니다. 최근 게임 매크로에 비활성 키 입력을 사용하고 있습니다. 비활성 키 입력이란? 창이 다른 화면에 가려져 있어도 입력하는 방식 이 방식으로 바로 게임창으로 키 입력을 보내는게 가장 좋은데, 게임사에서 막아놓곤 합니다. 아래 깃허브 홈페이지에서, 비활성 키보드 입력하는 부분을 마우스 입력으로 변경해 보았습니다. import win32gui, win32ui, win32con, win32api, time def get_inner_windows(whndl): def callback(hwnd, hwnds): if win32gui.IsWindowVisible(hwnd) and win32gui.IsWindowEnabled(hwnd): hwnds[win32gui.GetClassName(hwn.. 2022. 1. 13.