ubuntu python serial实现串口数据收发

1 ubuntu python serial实现串口数据收发

1.1 ubuntu设置python3

查看ubuntu当前的python版本,若为python2系列需设置为python3系列

$ python --version

列出当下可用的python版本,例如显示了/usr/bin/python3.6

$ ls /usr/bin/python*

将ubutnu系统的python版本指定为/usr/bin/python3.6

# update-alternatives --install <链接> <名称> <路径> <优先级>
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2

最后再次查看当前python版本是否设置成功

1.2 安装python3-pip

$ sudo apt-get install python3-pip

1.3 安装串口通信库pyserial

$ python3 -m pip install pyserial

1.4 安装串口调试软件cutecom

$ sudo apt-get install cutecom

1.5 serial 收发数据示例

准备一个usb2ttl模块插入电脑,查看它对应的端口号,与后面的程序对应

$ ls -l /dev |grep ttyUSB

将usb2ttl模块的txd与rxd连接

在这里插入图片描述

python serial数据接收程序,利用cutecom发送数据,程序接收数据并打印出来

# serial_rxd.py
import time
import serial

# set serial port initialized parameters
com = serial.Serial(
    port = '/dev/ttyUSB0',
    baudrate = 115200,
    bytesize = serial.EIGHTBITS,
    parity = serial.PARITY_NONE,
    stopbits = serial.STOPBITS_ONE,
)

# wait 1s for serial port initialization
time.sleep(1)

# received data and print in hex string form
while 1:
    rxd_num = com.inWaiting()
    if rxd_num > 0:
        rxd = com.read(rxd_num)
        print(str(rxd.hex()))

在这里插入图片描述

python serial数据发送程序,1秒发送一次16进制数0xAA55,cutecom接收显示

# serial_txd.py
import time
import serial

# set serial port initialized parameters
com = serial.Serial(
    port = '/dev/ttyUSB0',
    baudrate = 115200,
    bytesize = serial.EIGHTBITS,
    parity = serial.PARITY_NONE,
    stopbits = serial.STOPBITS_ONE,
)

# wait 1s for serial port initialization
time.sleep(1)

# send hex data 'AA55' per 1s
while 1:
    hex_str = 'AA55'
    com.write(bytes.fromhex(hex_str))
    time.sleep(1)

在这里插入图片描述

1.6 参考链接

1 Ubuntu18.04修改Python默认版本2.7->3.6

https://blog.csdn.net/ycfn97/article/details/100548743

2 ubuntu python serial实现串口通信
https://copyfuture.com/blogs-details/202204141937287952
http://www.cppcns.com/jiaoben/python/362061.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值