Có thể thực hiện giao tiếp song công bằng PySerial không? Cụ thể, có thể giám sát cổng liên tục để nhập và viết bất cứ khi nào cần thiết? Tôi tưởng tượng nó nên có thể bằng cách sử dụng các chủ đề (và giao diện nối tiếp là full duplex no?). Nếu không, cách tiếp cận tốt nhất để giám sát cổng nối tiếp khi không truyền là gì? Thời gian chờ?PySerial - Giao tiếp song công
Chỉnh sửa: Đây là nỗ lực của tôi tại đó. Mã này đang nhắm mục tiêu đến chip TI LE2525 Bluetooth LE của TI. Về việc gửi thông điệp init GATT Tôi mong đợi một câu trả lời (quy định chi tiết các thông số hoạt động của chip) ... Tôi nhận được gì dù
import serial
import threading
from time import sleep
serial_port = serial.Serial()
GAP_DeviceInit = \
"\x01\x00\xfe\x26\x08\x03\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"
def read():
while True:
data = serial_port.read(9999);
if len(data) > 0:
print 'Got:', data
sleep(0.5)
print 'not blocked'
def main():
serial_port.baudrate = 57600
serial_port.port = '/dev/ttyACM0'
serial_port.timeout = 0
if serial_port.isOpen(): serial_port.close()
serial_port.open()
t1 = threading.Thread(target=read, args=())
while True:
try:
command = raw_input('Enter a command to send to the Keyfob: \n\t')
if (command == "1"):
serial_port.write(message)
except KeyboardInterrupt:
break
serial_port.close()
Bạn có thể đưa ra một ví dụ ngắn không? Hoặc có thể chỉ ra bất kỳ vấn đề tức thời nào với mẫu mã đã cho. Vấn đề với cách tiếp cận thứ hai là tôi không biết khi nào dữ liệu sẽ cần được gửi ... người dùng sẽ có thể chọn tin nhắn để gửi bất cứ lúc nào – stephenfin
Bạn đã không bắt đầu chuỗi đã đọc của mình. Thêm 't1.start()' – TJD
Doh! Cảm ơn rất nhiều! – stephenfin