单线协议的python实现

pydigitemp的Python项目详细描述


1-wire协议的python实现。

最初是为了替换我的pet项目中的digitemp实用程序而编写的 直接接入单线设备。它是为读取连接的DS1820温度传感器而创建的 通过DS9097适配器连接到RS232串行端口。

支持的硬件

主人

  • DS9097 - COM port adapter which performs RS-232C level conversion.
  • Custom 1-wire serial port interface (see below).

用法

查找所有连接设备的ROM代码:

from digitemp.master import UART_Adapter
from digitemp.device import AddressableDevice

print(AddressableDevice(UART_Adapter('/dev/ttyS0')).get_connected_ROMs())
# ['108739A80208006F', '10A75CA80208001A']

获取温度:

from digitemp.master import UART_Adapter
from digitemp.device import DS1820

bus = UART_Adapter('/dev/ttyS0')  # DS9097 connected to COM1

# only one 1-wire device on the bus:
sensor = DS1820(bus)

# specify device's ROM code if more than one 1-wire device on the bus:
sensor = DS1820(bus, rom='10D67E5B02080037')

# display sensor's information
sensor.info()

# get temperature
print(sensor.get_temperature())
# 25.48

设置DS18B20和DS1822的分辨率:

from digitemp.device import DS18B20
sensor = DS18B20(bus)

sensor.set_resolution(DS18B20.RES_9_BIT)

digitemp.device模块提供以下类:

  • DS18S20 - for DS1820, DS18S20 and DS1920 High-Precision Temperature Sensors (family code: 0x10);
  • DS18B20 - for DS18B20 Programmable Resolution Temperature Sensors (family code: 0x28);
  • DS1822 - for DS1822 Econo Temperature Sensor (family code: 0x22)
  • DS1820, DS1920 - are aliases for DS18S20

示意图

重要免责声明:这里的所有电路都是从互联网上的不同来源收集的,因此 完全按照“现状和无保证”的原则提供。我们不提供任何形式的保证 以任何方式负责。

1线串行端口接口

Serial Port Temperature Sensors - Hardware Interface 详情。

1线USB/UART适配器

这些都经过测试:

  • [ds18b20-uart.svg](docs/ds18b20-uart.svg)
  • [ds18b20-uart-par.svg](docs/ds18b20-uart-par.svg)
  • [ds18b20-uart-dioda.svg](docs/ds18b20-uart-dioda.svg)
  • [ds18b20-uart-diodapar.svg](docs/ds18b20-uart-diodapar.svg)

并非所有的示意图都适用于所有情况,这取决于适配器和电缆长度。

这些尚未测试:

  • [ds18b20-uart-mosfet.svg](docs/ds18b20-uart-mosfet.svg)
  • [ds18b20-uart-npn.svg](docs/ds18b20-uart-npn.svg)

许可证

python许可证。简而言之,您可以在商业和非商业应用中使用本产品, 修改它,重新分配它。欢迎在使用和/或修改时通知作者。

有关许可证的实际文本,请参见许可证文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带有字符串的java JNA调用与带有字节[]的java JNA调用的行为不同   java基于键列表获取子映射   重启后永久增加java堆大小?   JavaHTTPS服务器:相互SSL身份验证   java为什么接受接口的方法会拒绝该接口的实现?   片段中的java视图无法应用于()   ms access Java SQL更新命令不工作   java将web服务自动打包和部署到Oracle Application Server 10g   java有没有办法在安卓 studio中为安卓时钟设置多个警报?   位于FTP服务器上的文件上的Java校验和md5   在Java中创建类时遇到问题。有些方法不太确定   java错误:在类chrome\u驱动程序中找不到主方法   通用海图(Javascript\Java)