는 좀 패킷을 전송하여 파이썬 파일을 통해 노트북 및 UART 사이의 통신을 만들고 싶어 : 내 패킷 = 포함python 파일에서 내 uart로 apacket을 보내려면 어떻게해야합니까?
2 bytes for Star of frames+
2 bytes for command types+
1 byte for the size of my data+
16 bytes for my data+
1 byte for my CRC.
내가 보낼 데이터의 예를 포함하는 file.txt를 파일이 있습니다 : 나는 (내가 이미 한) file.txt를에서 데이터를 읽고 싶어 내 파이썬 파일을 사용하여
0xccddeeff0x8899aabb0x445566770x00112233
, 그때는 UART에 대한 모든 패킷을 보내기 위해 필드의 모든 나머지를 추가 할 수 있습니다.
import string
import serial
import time
from array import array
#Plaintxt.txt File
with open('C:\\Users\\user\\Win_My_Scripts\\test.txt') as f:
content = f.readlines()
#serial port
ser = serial.Serial(
port='COM4',\
baudrate=230400,\
parity=serial.PARITY_NONE,\
stopbits=serial.STOPBITS_ONE,\
bytesize=serial.EIGHTBITS,\
timeout=0)
#enter inputs plaintext & key
print ('Plaintext=')
SOF= '0x124'
ENCRYPT_PLAINTEXT= '0x7772'
SEND_CYPHERTEXT ='0x7773'
SIZE_OF_FRAME= '0x10'
CRC8= '0x00'
for a in range (0,4):
line_array=content[a]
plaintxt_16b=line_array[0:16]
input_plaintext= SOF+ENCRYPT_PLAINTEXT+SIZE_OF_FRAME+plaintxt_16b+CRC8
print(plaintxt_16b)
ser.write (input_plaintext.encode())
time.sleep(0.4)
#closing the serial port
ser.close()
그래서 제 질문은 다음과 같습니다 1/어떻게 이러한 패킷을하기 위해 그 변수를 CONCAT하기 위해?
0x1240x77720x100xccddeeff0x8899aabb0x445566770x001122330x00
2/내 UART 다음 그 UART하는 파이썬에서 데이터를 전송하는 가장 좋은 솔루션입니다 thik 않습니다 cmd.exe를에서 해당 패킷을 읽을 것인가? 다른 제안이 있다면 매우 감사 할 것입니다.
미리 감사드립니다.
참조 다음 struct.pack. –
구조 팩은 연결 용으로 사용됩니다. – tssmokey46