본문 바로가기
[파이썬] 소켓 통신 예제 파이썬에 내장되어있는 socket의 서버와 클라이언트 예제입니다. 1개의 서버에 다수의 클라이언트가 접속할 수 있습니다. 서버 import socket server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind(('localhost', 12345)) while True: server_socket.listen() client_socket, addr = server_socket.accept() data = client_socket.recv(65535) print("{}, {}".format(addr, data)) 클라이언트 import socket sock = socket.socket(socket.AF_INET, s.. 2022. 2. 15.
[파이썬] 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.
[파이썬] 비활성 키 입력 코드 공유 안녕하세요? 만들오 입니다. 최근 게임 매크로에 비활성 키 입력을 사용하고 있습니다. 비활성 키 입력이란? 창이 다른 화면에 가려져 있어도 입력하는 방식 이 방식으로 바로 게임창으로 키 입력을 보내는게 가장 좋은데, 게임사에서 막아놓곤 합니다. 아래 깃허브 홈페이지에서, 비활성 키보드 입력하는 부분을 마우스 입력으로 변경해 보았습니다. 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.