क्या PySerial का उपयोग कर पूर्ण-डुप्लेक्स संचार प्राप्त करना संभव है? विशेष रूप से, इनपुट के लिए बंदरगाह की निगरानी करना और जब भी आवश्यक हो लिखना संभव होगा? मुझे लगता है कि धागे का उपयोग करना संभव होना चाहिए (और सीरियल इंटरफेस पूर्ण डुप्लेक्स नंबर हैं?)। यदि नहीं, तो प्रेषण न होने पर एक धारावाहिक बंदरगाह की निगरानी करने का सबसे अच्छा तरीका क्या होगा? एक टाइमआउट?पायसरियल - पूर्ण-डुप्लेक्स संचार
संपादित करें: यहां मेरा प्रयास है। यह कोड टीआई के सीसी 2540 ब्लूटूथ ली चिप को लक्षित कर रहा है। गैट init संदेश भेजने पर मैं एक उत्तर (चिप के ऑपरेटिंग मानकों का ब्यौरा) ... मैं कुछ भी नहीं है, हालांकि
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()
क्या आप एक छोटा सा उदाहरण दे सकते हैं? या शायद दिए गए कोड नमूने के साथ किसी भी तत्काल मुद्दों को इंगित करें। दूसरे दृष्टिकोण के साथ समस्या यह है कि मुझे नहीं पता कि डेटा कब भेजा जाना चाहिए ... उपयोगकर्ता किसी भी समय – stephenfin
पर कौन सा संदेश भेजना चुन सकता है, आपने अपना रीड थ्रेड शुरू नहीं किया है। 'T1.start()' – TJD
दोह जोड़ें! बहुत बहुत धन्यवाद! – stephenfin