1.python 工具
#coding = utf-8import ptyimport osimport selectdef
mkpty(): master1, slave = pty.openpty() slaveName1 =
os.ttyname(slave) master2, slave = pty.openpty() slaveName2 =
os.ttyname(slave) print ‘\nslave device names: ‘, slaveName1,
slaveName2 return master1, master2if __name__ ==
“__main__”: master1, master2 = mkpty() while True: rl,
wl, el = select.select([master1, master2], [], [], 1) for master in
rl: data = os.read(master, 128) print “read %d
data.” %len(data) if master == master1:
os.write(master2, data) else:
os.write(master1, data)
使用方法:
启动:在终端里运行“python
mkptych.py&”,这样就可以生成一个基于pty(伪终端)的虚拟端口对,两个设备名会显示在终端里。然后就可以利用这两个设备名在本机上进行虚拟串口之类的调试。
关闭:使用完后用ps查看这个python进程的pid号,然后kill掉即可。
2.Ubuntu下 cutecom 图像界面串口调试工具
(1)终端下载命令:sudo apt-get install cutecom
(2)通过终端打开软件:sudo cutecom (需要root权限,否则无法打开串口)
3. python 编写测试程序
(1)1.安装pyserial(安装 serial module)
这里区分python2和 python3:
sudo apt install python-pip //python2sudo apt install python3-pip
//python3
(2)然后通过:
pip install pyserial //python2pip3 install pyserial //python3
(3)测试程序
import serialfrom time import sleep
def recv(serial): while True: data = serial.read_all()
if data == ”: continue else:
break sleep(0.02) return data
if __name__ == ‘__main__’: serial = serial.Serial(‘COM5’, 9600,
timeout=0.5) #/dev/ttyUSB0 if serial.isOpen() : print(“open
success”) else : print(“open failed”)
while True: data =recv(serial) if data != b”
: print(“receive : “,data) serial.write(data)
#数据写回