python3 通过serical连接下位机(称重设备通过串口通信)

1、将称重设备的USB连接至主机

2、通过ls /dev查看当前连接设备,可以看到,除了之前配置过的USB,新增了一个未配置的USB

3、打开主板配置

cd /etc/udev/rules.d/
cat uvccam_z390.rules

4、查看刚刚插入的USB的ID_PATH,可以看到称重设备的号

 

 5、修改主板配置文件

SUBSYSTEM=="tty",ENV{ID_PATH}=="pci-0000:00:14.0-usb-0:5:1.0",MODE="0666",SYMLINK+="ttyWEIGHT"
SUBSYSTEM=="tty",ENV{ID_PATH}=="pci-0000:00:14.0-usb-0:5:1.0",MODE="0666",SYMLINK+="ttyUSB98"

6、重启主机,使用ls /dev 可以看到新增的设备ttyWEIGHT。

 

 7、使用serial与设备建立通信,称重设备的字节大小为8,停止位为1,校验位为None,波特率为9600,端口为刚刚配置的/

串行口的属性:
name:设备名字
portstr:已废弃,用name代替
port:读或者写端口
baudrate:波特率
bytesize:字节大小
parity:校验位
stopbits:停止位
timeout:读超时设置
writeTimeout:写超时
xonxoff:软件流控
rtscts:硬件流控
dsrdtr:硬件流控
interCharTimeout:字符间隔超时

复制代码
ser = serial.Serial(
    port='/dev/ttyWEIGHT',
    baudrate=9600,
    bytesize=serial.EIGHTBITS,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    timeout=0.02,  # 时间越小接收plc的速度越快
    writeTimeout=0.1
)

ser.flushInput()
ser.flushOutput()
ser.readline()
复制代码

8、可以看到返回的信息为btye数据。

 

posted @   谢牧谚  阅读(333)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示