python串口控制8通道继电器方法笔记
保存当前文件为RelayControl.py,在其他py文件引用时,使用from RelayControl import relay 格式导入
调用时,使用 relay.connect() 即 relay.ALL_ON() 等即可。

# coding:utf-8import serial
import time
from logset import logger'''
8路继电器开关控制函数,包含打开连接串口,单独继电器开关控制和全部开全部关控制。
author:yutao
'''class relay(object):def __init__(self):self.chl_ON_code = ['00 f1 ff', '00 f2 ff', '00 f3 ff', '00 f4 ff', '00 f5 ff', '00 f6 ff', '00 f7 ff', '00 f8 ff', '00 f9 ff']self.chl_OFF_code = ['00 01 ff', '00 02 ff', '00 03 ff', '00 04 ff', '00 05 ff', '00 06 ff', '00 07 ff', '00 08 ff', '00 09 ff']self.ACC_chl = 1self.BAT_chl = 2self.GND_chl = 3self.ALL_chl = 9self.port = 'COM3'def relay_send(self,send_code):if self.port:relay_serial = serial.Serial(self.port, 9600, timeout = 1)if not relay_serial.isOpen():relay_serial.Open()relay_serial.write(bytes.fromhex(send_code))time.sleep(0.5)   #等待操作完成,防止干扰后续指令relay_serial.close()def ALL_ON(self):send_code = self.chl_ON_code[self.ALL_chl - 1]print(send_code)self.relay_send(send_code)logger.info("继电器控制: ALL_CHANNEL_ON")def ALL_OFF(self):send_code = self.chl_OFF_code[self.ALL_chl - 1]self.relay_send(send_code)logger.info("继电器控制: ALL_CHANNEL_OFF")def GND_ON(self):send_code = self.chl_ON_code[self.GND_chl - 1]self.relay_send(send_code)logger.info("继电器控制: GND_ON")def GND_OFF(self):send_code = self.chl_OFF_code[self.GND_chl - 1]self.relay_send(send_code)logger.info("继电器控制: GND_OFF")def BAT_ON(self):send_code = self.chl_ON_code[self.BAT_chl - 1]self.relay_send(send_code)logger.info("继电器控制: BAT_ON")def BAT_OFF(self):send_code = self.chl_OFF_code[self.BAT_chl - 1]self.relay_send(send_code)logger.info("继电器控制: BAT_OFF")def ACC_ON(self):send_code = self.chl_ON_code[self.ACC_chl - 1]self.relay_send(send_code)logger.info("继电器控制: ACC_ON")def ACC_OFF(self):send_code = self.chl_OFF_code[self.ACC_chl - 1]self.relay_send(send_code)logger.info("继电器控制: ACC_OFF")if __name__ == "__main__":relay = relay()relay.port = 'COM5'relay.ALL_chl = 1relay.ALL_ON()

python串口控制8通道继电器方法笔记相关推荐

  1. python关于路径需使用的方法笔记

    关于python中有关路径实现代码的方法 常用的python方法 join()方法 split()方法 关于文件路径\ / // \\的用法解释 斜杠/ 反斜杠\ 读取某个路径的文件 双斜杠// 双反 ...

  2. [单片机学习笔记](35):串级PID算法应用剖析、通过串口控制电机、MPU6050获取平衡车姿态、自制平衡车PID算法程序设计

    串级PID算法应用剖析 这是经过给队友讲解串级PID的程序的之后的进一步的理解总结. 内环的实际值,取决于你能测出什么值给内环.而内环的输入就是内环误差 内环的输出值,是内环误差(内环目标值-内环实际 ...

  3. 航模遥控继电器单通道控制2路继电器开关实现原理解析

    航模遥控继电器单通道控制2路继电器开关实现原理解析 航模遥控继电器 硬件解析 两路型号为: SRD-05VDC-SL-C 继电器 2个PC817光耦 3个S4,1N5819WS肖特基二极管 2个S80 ...

  4. python编写代码避免内存增加_读书笔记(6): 编写高质量python代码的59个有效方法-完结...

    前言 <编写高质量python代码的59个有效方法>这本书分类逐条地介绍了编写python代码的有效思路和方法,对理解python和提高编程效率有一定的帮助.本笔记简要整理其中的重要方法. ...

  5. python控制小数点位数_python中实现控制小数点位数的方法

    python中实现控制小数点位数的方法 前段时间遇到一个问题,python中怎么设置小数点位数,经过查资料,在这里整理了两种较为简单的方法: 法1:利用python内置的round()函数 a = 1 ...

  6. STM32通过串口控制LED闪烁或者呼吸效果

    STM32通过串口控制LED闪烁或者呼吸效果 目录 STM32通过串口控制LED闪烁或者呼吸效果 1.准备工作 2.思路分析 3.实际操作 4.小结 1.准备工作 1.首先我们需要准备32的最小系统板 ...

  7. 计算机网络:自顶向下方法 笔记

    计算机网络:自顶向下方法 笔记 综述 因特网部件图例 交换方式 分组交换 电路交换 频分复用 时分复用 对比 五层/七协议 一个传输实例 攻击 DOS攻击 应用层 应用程序结构 客户-服务器结构 P2 ...

  8. python编程:从入门到实践 笔记

    文章目录 第二章 变量和简单数据类型 2.1 运行 hello_world.py 时发生的情况 2.2 变量 2.2.1 变量的命名和使用 2.2.2 使用变量时避免命名错误 2.3 字符串 2.3. ...

  9. 一文了解Python流程控制

    本文主要介绍 Python 的流程控制,包括 if.while.for 的用法以及一些注意事项等.阅读本文预计需要 8 min. Python入门之Python流程控制 1. 前言 2. 条件控制语句 ...

最新文章

  1. poj2112(网络流-最大流+二分)
  2. RAID原理及其使用方法
  3. shell 脚本比较字符串相等_比较带空格的字符串相等的Shell脚本 如何比较两个.....
  4. Ubuntu10.04下安装Ns2的一系列错误及解决方案
  5. XEON® Scalable-如何为虚拟化挑选合适的CPU
  6. mui php上传图片,mui ajax图片上传
  7. 调用某个按钮事件_高级UI晋升之触摸事件分发机制(一)
  8. 如何安装.nupkg文件?
  9. java学科竞赛管理系统_《高校学科竞赛管理系统的web前端设计与实现》文献阅读随笔...
  10. 如何安装GlobalMapper
  11. 计算小于100的最大素数
  12. 农大计算机工程,肖德琴-华南农业大学计算机科学与工程系
  13. 使用PIL改变图像分辨率
  14. 学习 CSAPP 对工作有帮助吗?一切从底层逻辑开始!
  15. html 滚动条自动最底,让DIV的滚动条自动滚动到最底部 - 4种方法
  16. virt-manager设置主机和虚拟机之间文件共享
  17. 页面表单数据返显方法
  18. 语法分析器 Java版
  19. Android SearchView基本用法
  20. Laurent(洛朗或者劳伦)多项式,泰勒展开式

热门文章

  1. 矢量网络分析仪测试射频线线损的注意事项
  2. Mail企业邮箱登录入口在哪里?如何注册企业邮箱账号?
  3. android常用代码合集,Android常用代码
  4. linux最大的账户,Linux系统账户安全
  5. python代码画樱花教程-如何用Python代码实现樱花树效果
  6. 语义分割(三)Unet++
  7. java项目_第171期ssm房屋租赁系统_计算机毕业设计
  8. kaggle竞赛之Hungry Geese比赛
  9. Redis学习笔记(实战篇)(自用)
  10. Java小学算术10以内的加减乘除运算