环境Linux + Python 2.7
import os
import sys
import select
MAX_READ_CNT = 256
def write(dev,
endl="\r",
timeout=5 #seconds
):
try:
tty = os.open(dev, os.O_RDWR)
while True:
at = raw_input() #input() Python 3.x
if at.lower() in ["quit", "bye","exit"]:
print("Bye")
break
at_cmd = "{}{}".format(at,endl)
os.write(tty, at_cmd)
#select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)
r,w,x=select.select([tty],[],[], timeout) #tty.fineno() Python 3.x
if r !=[]:
rsp = os.read(tty, MAX_READ_CNT)
print(rsp)
else:
print("timeout")
except Exception as e:
print ("Exception: {}".format(e))
finally:
os.close(tty)
print("Done!")
if __name__ == "__main__":
if len(sys.argv) < 2:
print ("Usage:\npython testStty /dev/ttyX")
exit()
dev = sys.argv[1]
write(dev)
脚本测试