Dapatkah seseorang menunjukkan kepada saya kode sampel python lengkap yang menggunakan pyserial , saya memiliki paketnya dan saya bertanya-tanya bagaimana cara mengirim perintah AT dan membacanya kembali!
96
Posting blog Koneksi serial RS232 dengan Python
import time
import serial
# configure the serial connections (the parameters differs on the device you are connecting to)
ser = serial.Serial(
port='/dev/ttyUSB1',
baudrate=9600,
parity=serial.PARITY_ODD,
stopbits=serial.STOPBITS_TWO,
bytesize=serial.SEVENBITS
)
ser.isOpen()
print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
input=1
while 1 :
# get keyboard input
input = raw_input(">> ")
# Python 3 users
# input = input(">> ")
if input == 'exit':
ser.close()
exit()
else:
# send the character to the device
# (note that I happend a \r\n carriage return and line feed to the characters - this is requested by my device)
ser.write(input + '\r\n')
out = ''
# let's wait one second before reading output (let's give device time to answer)
time.sleep(1)
while ser.inWaiting() > 0:
out += ser.read(1)
if out != '':
print ">>" + out
serial.serialutil.SerialException: Port is already open
saat menjalankan kode ini. Saya tidak yakin akan hal ini, tetapi saya yakin port serial secara otomatis dibuka ketika secara eksplisit didefinisikan seperti yang telah Anda lakukanser
. Setelah mengomentariser.open()
baris itu berhasil.ser.open()
gunakan https://pythonhosted.org/pyserial/ untuk contoh lainnya
sumber
http://web.archive.org/web/20131107050923/http://www.roman10.net/serial-port-communication-in-python/comment-page-1/
sumber
Saya belum pernah menggunakan pyserial tetapi berdasarkan dokumentasi API di https://pyserial.readthedocs.io/en/latest/shortintro.html sepertinya antarmuka yang sangat bagus. Mungkin ada baiknya memeriksa ulang spesifikasi untuk perintah AT dari perangkat / radio / apa pun yang Anda hadapi.
Secara khusus, beberapa memerlukan beberapa periode diam sebelum dan / atau setelah perintah AT untuk masuk ke mode perintah. Saya telah menemukan beberapa yang tidak suka membaca respon tanpa penundaan terlebih dahulu.
sumber