Windows系统python与RS485型传感器通讯

Windows系统python与RS485型传感器通讯 一、准备操作 1.硬件:需要准备电脑一台,RS485型传感器两个,传感器供电设备一个(与传感器

Windows系统python与RS485型传感器通讯

一、准备操作
1.硬件:需要准备电脑一台,RS485型传感器两个,传感器供电设备一个(与传感器供电电压一致),USB转RS485线一根
2.软件: 电脑安装python3.X版本,需要安装serial库,或者使用pycharm,Anoconda,Mu等软件都可以。RS485驱动,CRC(循环冗余校验)。
二、测试
1.通过卖家给的传感器测试软件测试传感器是否有问题。
2.通过传感器资料查看传感器问询码。
3.通过串口调试助手测试能否传感器通讯成功
4.如果重新设置传感器参数,需要重新计算校验码。
在线计算CRC链接:https://editor.csdn/md?not_checkout=1&articleId=122897495
参数模型详见传感器资料
三、程序编辑
编辑以下程序:

import serial
import time

CO = "04 03 00 02 00 01 25 9F"           # 一氧化碳传感器问询帧
smoke = "03 03 00 03 00 01 75 E8"        # 烟雾传感器问询帧
temp_GS = 1                                   # 报警标志    1 正常   0 报警

ser = serial.Serial("COM3", 9600)  # 选择串口,设置波特率

def read_data(temp):
    global temp_GS
    if ser.is_open:
        print("port open success")
        # hex(16进制)转换为bytes(2进制),应注意python3.7与python2.7此处转换不同
        if temp:
            send_data = bytes.fromhex(CO)  # 发送数据转换为b'\xff\xff\xff\xff\xff'
        else:
            send_data = bytes.fromhex(smoke)
        ser.write(send_data)  # 发送数据
        time.sleep(0.1)       # 延时,否则len_return_data将返回0
        len_return_data = ser.inWaiting()  # 将获取缓冲数据(接收数据)长度
        # print(len_return_data)
        if len_return_data:
            return_data = ser.read(len_return_data)    # 读取缓冲数据
            # bytes(2进制)转换为hex(16进制),应注意python3.7与python2.7此处转换不同
            str_return_data = str(return_data.hex())
            # print(str_return_data)
            if temp:
                print("当前CO浓度为:", end="")
                print(int(str_return_data[6:10], 16) / 10, end="")  # 16进制转为整形   CO值
                print("ppm")
                if int(str_return_data[6:10], 16) > 50000:
                    print("当前CO浓度过高!")
                    temp_GS = 0
            else:
                print("当前烟雾状态:", end="")
                if int(str_return_data[6:10]):  # 16进制转为整形
                    print("警告")
                    print("起烟了!")
                    temp_GS = 0
                else:
                    print("正常")
    else:
        print("port open failed")
def main():
    read_data(1)
    time.sleep(0.5)
    read_data(0)
    time.sleep(0.5)
if __name__ == "__main__":
    # global temp_GS
    while temp_GS:
        main()

运行程序即可。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1743912021a4528537.html

相关推荐

  • Windows SDK for Windows 7 and .NET Framework 4 Release Notes

    Windows SDK for Windows 7 and .NET Framework 4 Release Notes 1. Welcome 2. License Agreement 3. Installing and Uninsta

    3小时前
    00
  • Windows Service Pack 1

    Win 7 安装程序时,弹出警示缺少Windows Service Pack 1 or later 1.解压 2.以管理员身份运行 此资源适用于win 7 x64,32位系统不适用 资源链接

    3小时前
    00
  • Windows7系统基本进程简介

    audiodg.exe  windows音频设备管理器  可以结束但是一旦打开音频文件还是会重新加载 csrss.exe-是微软客户端、服务端运行时子系统,管理Windows图形相关任务  可以被

    3小时前
    10
  • 如何实现命令行连接mysql数据库【Windows系统】

    首先默认已经安装好了MySQL,然后想要通过命令行的方式实现连接。 第一步 用管理员身份打开命令行 左上角出现了管理员 · 命令提示符 第二步 切换到Mysql Server所在文件夹中的bin目录 例如&

    3小时前
    10
  • Windows可执行脚本后台运行脚本

    目录 脚本说明:代码内容:执行方法:后言 脚本说明: 1、使用java、python 写的一些小脚本,或者一些轻量级的服务&am

    3小时前
    00
  • Windows网络文件共享和打印机共享

    Windows网络文件共享和打印机共享(Win7为例) 一、基本设置 1.启用服务:Computer Browser、Servers、Workstation 2.高级共享设置:启用文件和打印机共享、关闭密码保护共享 3.启用Guest用户,

    3小时前
    00
  • kvm安装windows虚拟机

    一、安装条件:a.windows镜像文件,这里以win7为例(可直接进入下载 链接:https:pan.baidus1pLMbXQr 密码&am

    3小时前
    00
  • cmd命令行设置 windows 设置环境变量

    cmd命令行设置 windows 设置环境变量 一、局部设置环境变量 使用set进行环境变量设置时,只对当前对话框程序有效。当cmd设置对话框关闭时,环境变量复原。如:

    3小时前
    10
  • Mac添加Windows共享打印机

    如题: 准备工作:知道你要连接的windows打印机服务器的ip地址和共享打印机的名称打印机名称:有的打印机名称包含空格比如HP LaserJet P2035  有的不带空格

    3小时前
    00
  • Windows 域

    一、概述 域是计算机网络的一种形式,其中所有用户账户,计算机,打印机和其他安全主体都在位于称为域控制器的一个或多个中央计算机集群上的中央数据库中注册。 域之间相互访问则需要建立信任关系。信任关系是连接在域与域之间的桥梁。当一个域与

    3小时前
    00
  • 仿Windows桌面(HTML5+CSS3)

    emmm 自学HTML5的过程中做了一个仿Windows的界面比较粗糙 记录一下=-= <!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 TransitionalEN"

    3小时前
    00
  • 麒麟桌面系统上运行Windows应用

    原文链接&#xff1a;麒麟桌面系统上运行Windows应用​​​​​​​ Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于 在麒麟桌面系统上使用 Windows 应用 的文章。通过 kyl

    3小时前
    00
  • 在Windows 7Server 2008 R2上部署asp.net 1.1程序

    .NET 1.1只有32位的&#xff0c;Windows Server 2008 R2只有64位的&#xff0c;可以通过WOW64运行32位应用程序&#xff0c;按照How to install ASP.NET

    3小时前
    00
  • Windows字符编码集大全

    在使用Windows系统的电脑办公&#xff0c;经常会遇到乱码问题&#xff0c;原因一般都是字符集不一致导致&#xff1b; 查看字符集 命令行中执行 chcp 设置字符集 chcp代码页 国内常用字符集

    3小时前
    00
  • SVN服务器安装 - Windows系统

    文章目录 前言1 下载安装1.1 下载安装包1.2 软件安装1.3 异常处理 2 仓库创建3 权限分配 前言 Windows系统下SVN服务器搭建及遇到相关问题和处理方法记录 1 下载安装 1.1 下载安装包 Windows系统中的S

    3小时前
    00
  • 取消Win10开机系统选择倒计时,让电脑秒进系统

    取消Win10开机系统选择倒计时,让电脑秒进系统 近期,不少Win10用户反映在开机时会遇到一个选择系统的倒计时画面,这在一定程度上延缓了开机进程。对于追求高效启动体验的用户来说,这无疑是一个不必要的步骤。那么,如何取消这个倒计时,让电脑

    2小时前
    00
  • 重装系统只影响C盘吗?深入解析系统重装的全过程

    重装系统只影响C盘吗?深入解析系统重装的全过程 在计算机的日常使用中,重装系统是一个常见的操作,尤其是在系统出现故障、感染病毒或需要优化系统性能时。然而,许多用户对于重装系统的具体过程和影响存在误解,认为重装系统仅仅是对C盘进行清空和重置

    1小时前
    10
  • Windows系统密钥检测工具PIDKey 2.1中文版

    Windows系统密钥检测工具PIDKey 2.1中文版 【下载地址】Windows系统密钥检测工具PIDKey2.1中文版 Windows系统密钥检测工具PIDKey 2.1中文版是一款功能强大的工具&#xff0c;专为管理Win

    1小时前
    00
  • windows切换系统版本

    powershell 管理员身份打开 输入 irm massgrave.devget | iex 输入数字 对应后面写着 change windows edition新的会话框中选择想要的版本即可 获取windows 密钥 官方提供的

    1小时前
    10
  • Windows 10 LTSC 2019 中文版下载及安装教程(附安装包)

    &#xff08;cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24&#xff09;涵盖常见疑问和注意事项&#xff1a; cn_windows_10_enterpr

    40分钟前
    10

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信