ubuntu python serial实现串口数据收发

目录

  • 1 ubuntu python serial实现串口数据收发
    • 1.1 ubuntu设置python3
    • 1.2 安装python3-pip
    • 1.3 安装串口通信库pyserial
    • 1.4 安装串口调试软件cutecom
    • 1.5 serial 收发数据示例
    • 1.6 参考链接

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连接

ubuntu python serial实现串口数据收发_第1张图片

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()))

ubuntu python serial实现串口数据收发_第2张图片

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)

ubuntu python serial实现串口数据收发_第3张图片

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

你可能感兴趣的:(ubuntu,python,串口通信)