ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬으로 간단한 시리얼 통신
    프로그래밍/파이썬 2021. 9. 29. 19:28
    반응형

     

     

     

    안녕하세요 레오입니다.

    오늘은 파이썬으로 간단한 시리얼 통신을 해보겠습니다.

     

    F4를 누르면 아두이노에 AM2442.17 과 LC 를 보내 주는 예제입니다.

     

     

    (저의 아두이노 레오나르도는 저 신호를 받으면 마우스를 x좌표 2442 , y좌표 17로 보내주고 LeftClick을 합니다.)

    (최소화 버튼 클릭)

    import serial
    import time
    
    class ExternalHID:
    	ser = 0
    	def __init__(self, comport):
    		try:
    			self.ser = serial.Serial(comport, 9600, timeout=1)
    		except Exception as e:
    			print(str(e))
    	
        def disconnectSerial(self):
    		self.ser.close()
    	
        def checkSerial(self):
    
    		if self.ser == 0:
    			print('Serial Not available')
    			return False
    
    		else:
    			return True
    
    	def keyboardInput(self, keyinput):
    		if not self.checkSerial():
    			return False
    		moveCommand = '%s' % keyinput
    		self.ser.write(str.encode(moveCommand))
    		rsp = self.ser.readline()
    
    		if rsp.strip() == b'Key':
    			return True
    		else:
    			return False
    
    if __name__ == "__main__":
    	import keyboard as key
    	import time
    	ser = ExternalHID('COM18')
    	#사용하시는 포트로 변경하세요
    
    	def GoAndClick():
    		state = False
    		returnList = []
    		
            while True:
    			val = key.is_pressed('F4')
    			if state != val:
    				if val == True:
    					time.sleep(3)
    					ser.keyboardInput('AM2442.17')
    					time.sleep(1)
    					ser.keyboardInput('LC')
    
    				state = val
    
    	while True:
    		time.sleep(0.001)
    		GoAndClick()

    티스토리 오류로 소스가 조금 뒤틀려서 보이네요 위에 이미지 보시고 들여쓰기 확인하시기 바랍니다.

    알려주신 지니어스님 고맙습니다.

    반응형

    댓글

Designed by Tistory.