python - 读取连接到 HA7E 的 1 线设备的温度

标签 python

我试图通过向 1-wire 适配器发出 ascii 命令来读取 1-wire 设备的温度。问题是 ser.write('W0144') 需要回车符,但代码由于某种原因没有发送它。命令 ser.read(32) 在应该返回 44 时返回 A69000001CFD7E328(来自 HA7E ascii 命令/手册)。如果我在 Windows XP super 终端中输入两个 ser.write 命令(不带/r),则它可以正常工作。

我已经研究这个一周了(是的,我是新手),我被难住了。我尝试过不同的超时和 time.sleeps 但没有乐趣。有人可以提出建议吗?

import serial
import time
ser = serial.Serial(port = 'COM1', baudrate=9600, bytesize=8, parity=serial.PARITY_NONE, stopbits=1, timeout=0)
#show the port is open
print ser.isOpen()
ser.write('A69000001CFD7E328')
time.sleep(1)
ser.write('WO144/r')
ser.read(32)
ser.close()

最佳答案

Python 中的转义码需要反斜杠:

>>> ord('\r')
13

您将发送两个字符,即“/”和字母“r”:

>>> len('\r')
1
>>> len('/r')
2
>>> list('/r')
['/', 'r']

关于python - 读取连接到 HA7E 的 1 线设备的温度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10759631/

相关文章:

python - 如何找到最小(或最大)属性的名称?

python - 如何在 Pandas 中的同一数据框中组合/合并列?

python 将两个不同的列表合并为一个

python - 如何理解使用 tensorflow 进行 MNIST 实验的技巧?

python - 有什么方法可以在python中将路径附加到环境变量 'PATH'

python - 根据值有效地跟踪字典的前 k 个键

python - 默认字典的默认字典?

python - 使用预训练的 BERT 模型进行错误多类文本分类

python - 没有名为 igraph 的模块 - 错误

python - 使用 pandas 数据框绘制箱线图