Skip to main content

用于 HM3xxP 系列的 Hanmatek 电源单元 (PSU) 的库和 CLI。

项目描述

最新发布的 管道状态 覆盖率报告 执照:麻省理工学院

Hanmatek HM3xxP PSU 控制库和 CLI

为流行的低成本数字实验室电源HM305PHM310P.

该库为设备的所有已知功能提供(几乎)完整、易于使用的界面。这个项目与下面提到的不同,它提供了一个最小但完整的设备接口,并且保持低依赖。

该项目基于https://github.com/notkevinjohn/HM310P中所做的工作,它使用该 minimalmodbus库进行设备通信。其他相关项目提供了有用的寄存器定义和提示:

安装

pip install hanmatek-psu

如果用户在plugdev用户组中,则可以通过/dev/ttyUSBx无权限访问 Hanmatek 设备。当通过 USB 插入 Hanmatek PSU 设备时,添加以下udev规则将创建符号链接。/dev/ttyHM3xxP默认情况下,此符号链接用于hanmatek-cli查找设备:

echo 'SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="ttyHM3xxP", MODE="0666", GROUP="plugdev"' | sudo tee "/etc/udev/rules.d/99-hanmatek.rules" > /dev/null

用法

命令行使用

hanmatek-cli -h
hanmatek-cli --discover             # find devices
hanmatek-cli                        # show default device info
hanmatek-cli --device /dev/ttyUSB0  # specific device
hanmatek-cli voltage:set 3.0        # set voltage
hanmatek-cli current:set 0.1        # set current limit
hanmatek-cli output on
hanmatek-cli current                # read current
hanmatek-cli power                  # read power
hanmatek-cli output off
hanmatek-cli --list                 # list all commands/registers

图书馆使用

from hanmatek import HM3xxP

device = HM3xxP("/dev/ttyHM3xxP")
print(device.info())
device.write("voltage:set", 3.0)
device.write("current:set", 3.0)
device.write("output", True)
print(device.read("current"))
print(device.read("power"))
device.write("output", False)

发展

以下工具用于提供干净和高质量的软件,并通过 tox配置提供:flake8用于 linting、black代码格式化和检查、mypy类型检查和pytest单元测试。用于:

pip install tox tox-poetry

(我们正在使用tox-poetry,以便tox从 读取依赖项pyproject.toml

tox -a       # show test environments
tox          # run all
tox -e test  # run unit tests
tox -e lint  # run lint
tox -e type  # run type checker

(我们正在使用pyproject-flake8,以便flake8 配置可以存在于pyproject.toml-tox我们然后运行pflake8而不是 运行flake8。)

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

hanmatek-psu-1.0.2.tar.gz (8.4 kB 查看哈希

已上传 source

内置分布

hanmatek_psu-1.0.2-py3-none-any.whl (8.4 kB 查看哈希

已上传 py3