Ubuntu 下使用虚拟串口进行开发测试
2018-08-07 08:43:41来源:博客园 阅读 ()
1. python 工具
#coding = utf-8 import pty import os import select def 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, master2 if __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 图像界面串口调试工具(参考:https://blog.csdn.net/zhaoqi2617/article/details/72238546)
(1)终端下载命令:sudo apt-get install cutecom
(2)通过终端打开软件:sudo cutecom (需要root权限,否则无法打开串口)
(3)在 Device 中填写上边生成的虚拟串口号 /dev/pts/24 和 /dev/pts/25, Input 中输入文字 ,点击回车发送测试
3. python 编写测试程序
(参考 https://blog.csdn.net/itas109/article/details/78874165 ,https://blog.csdn.net/jiangchao3392/article/details/75107330)
(1)1.安装pyserial(安装 serial module)
这里区分python2和 python3:
1 sudo apt install python-pip //python2 2 sudo apt install python3-pip //python3
(2)然后通过:
1 pip install pyserial //python2 2 pip3 install pyserial //python3
(3)测试程序
1 import serial 2 from time import sleep 3 4 def recv(serial): 5 while True: 6 data = serial.read_all() 7 if data == '': 8 continue 9 else: 10 break 11 sleep(0.02) 12 return data 13 14 if __name__ == '__main__': 15 serial = serial.Serial('COM5', 9600, timeout=0.5) #/dev/ttyUSB0 16 if serial.isOpen() : 17 print("open success") 18 else : 19 print("open failed") 20 21 while True: 22 data =recv(serial) 23 if data != b'' : 24 print("receive : ",data) 25 serial.write(data) #数据写回
参考文章: https://blog.csdn.net/a844651990/article/details/80624019
https://blog.csdn.net/haifengid/article/details/51996613
https://blog.csdn.net/itas109/article/details/78874165
注:解决 ImportError: No module named 'serial' 问题
https://blog.csdn.net/jiangchao3392/article/details/75107330
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- ubuntu开机grub引导界面、登录界面美化 2020-06-09
- windows10安装配置WSL(Ubuntu) 2020-06-07
- ubuntu之命令相关问题 2020-06-06
- 树莓派使用 OLED 屏显示图片及文字 2020-06-05
- 附020.Nginx-ingress部署及使用 2020-06-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash