【硬件开发学习】串口通讯继电器板 脚本通讯触发COM口

前言

近端时间从软件视觉上开始转向一定的硬件载体研究,发现基于当前K210开发中应用中未提及继电器串口脚本化的一些通讯使用,因业务存在需求,这边简单做个记录

环境

语言:python
编辑器:Pycharm
工具包:serial
通讯硬件:双路继电器
串口测试工具:UartAssist

脚本

正常继电器模块会产生一些特定的编码内容,这部分主要由商家提供,可以寻找对应的硬件编码进行测试
imagepng
使用之前可以用串口助手进行简单测试,判断是否能够完成操作
imagepng
接线情况如下:
025e31bd291496fab5e55d760e6321djpg
脚本大致如下:
主要进行串口检索与信息收发的实验,如果有部分USB转接头会出现拦截数据的情况,可以多发送几次进行实验

from time import sleep

import serial
import serial.tools.list_ports

# 获取所有串口设备实例。
# 如果没找到串口设备,则输出:“无串口设备。”
# 如果找到串口设备,则依次输出每个设备对应的串口号和描述信息。
ports_list = list(serial.tools.list_ports.comports())
if len(ports_list) <= 0:
    print("无串口设备。")
else:
    print("可用的串口设备如下:")
    for comport in ports_list:
        print(list(comport)[0], list(comport)[1])

ser = serial.Serial("COM3", 9600)
if ser.isOpen():  # 判断串口是否成功打开
    print("打开串口成功。")
    print(ser.name)  # 输出串口号
    # 将十六进制字符串转换为字节串
    open_data = "FF 05 00 00 FF 00 99 E4"
    off_data = "FF 05 00 00 00 00 D8 14"
    byte_data = bytes.fromhex(open_data)
    ser.write(byte_data)
    sleep(1)
    write_len = ser.write(byte_data)
    print("打开继电器 发送数据长度:", write_len)
    sleep(5)
    byte_data = bytes.fromhex(off_data)
    ser.write(byte_data)
    sleep(1)
    write_len = ser.write(byte_data)
    print("关闭继电器 发送数据长度:", write_len)
else:
    print("打开串口失败。")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值