锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

python读取RS485接口的TH10S-B温度传感器数据

时间:2022-08-05 00:00:00 传感器has500

准备TH10S-B温度sensor一个

准备RS485 USB转换器一个

连接,插入电脑USB设置端口:

传感器是否正常试传感器是否正常:

进入主题,分析RS485数据首先安装serial包,使用serials.Serial()我遇到了一个错误

报错module 'serial' has no attribute 'Serial'

解决方案,卸载serial,重新安装pyserial

pip uninstall serial pip install pyserial 

正式代码如下:

import serial import time  temp_send = '01 03 00 00 00 02 C4 0B'  ser = serial.Serial("COM3", 9600)  # 将发送的数据转换为2进制b'\x01\x03\x00\x00\x00\x02\xc4\x0b' temp_send = bytes.fromhex(temp_send) print(temp_send) while True:     if ser.is_open:         print('port open ok')         ser.write(temp_send)         time.sleep(0.1)         # 获得返回缓冲data,获取的是buffer_data的长度    9         buffer_data = ser.in_waiting         # print(buffer_data, 'buffer_data')         if buffer_data:             # 返回数据为2进制:b'\x01\x03\x04\x01\x08\x022\xfa\xb8'             return_data = ser.read(buffer_data)             # print(返回数据2进制: return_data)             # 二进制转化为16进制,01030401080230b79             return_data_hex = str(return_data.hex())             print返回的数据转换为16进制: return_data_hex)             # 分析返回数据,获取温度和湿度数据             print("当前温度为:", int(return_data_hex[6:10], 16)/10)             print("当前湿度为:", int(return_data_hex[10:14], 16)/10)             time.sleep(1)  

安装运行结果:

TH10S-B回收据分析说明如下:

其实我看不懂这本手册。

询问商家,温湿度对应的位置,完成。

最后说明,我使用的是win11系统,所以RS485 USB转接头是免驱动的,如果是win7的可能要安装驱动才能用,买的时候商家会给驱动。

此外,后期计划用树莓派读取温湿度等数据,可应用于设备行业。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章