跳转到主要内容

通过ZMQ接口读取bluesky硬件的代理。

项目描述

Bluesky 硬件代理

这是一个代理服务器,通过zmq接口提供对某些bluesky设备方法的访问。接口直接基于bluesky-queueserver的zmq接口,因此可以使用相同客户端(地址不同)。为了方便,提供了一个默认地址为tcp://localhost:60620zmq_single_request版本,作为bluesky_hwproxy.comms.zmq_single_request

启动服务器

start-hwproxy-server 是一个启动 hwproxy 实例的入口点。它接受与 bluesky-queueserver 的 start-re-manager 相同的参数来指定包含设备对象的环境。

例如

$ start-hwproxy-server --startup-script ./startup.py
$ start-hwproxy-server --startup-module ophyd.sim
$ start-hwproxy-server --startup-dir ./startup/

请注意,目前 --startup-profile 未连接,但将在不久的将来。

通过python连接

from bluesky_hwproxy.comms import zmq_single_request

devices = zmq_single_request("list")[0]["result"]

describe = zmq_single_request("describe", {"device":devices[-1]})[0]["result"]

通过命令行连接

我们提供了一个 hwproxy 命令行程序,允许与 hwproxy 服务器接口。

与服务器交互的命令

$ hwproxy list # List available hardware as string keys, one per line
motor1
motor2
det

$ hwproxy reload # reload available devices

以下将打印 JSON 响应到终端

$ hwproxy read <device>
$ hwproxy describe <device>
$ hwproxy config read <device>
$ hwproxy config describe <device>
$ hwproxy hints <device>

在交互式 shell 中运行时,输出将着色,在例如管道的情况下为纯文本。

最后,我们允许检查设置的位置是否有效

$ hwproxy check <device> <value>
true

结果将简单地打印到终端的 truefalse

<value> 可以是任何 json 编码的字符串(大多数情况下它是一个简单的浮点数,但是伪位置器和专用硬件可能使用列表等)。

项目详情


下载文件

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

源代码分发

bluesky-hwproxy-2022.8.0.tar.gz (6.3 kB 查看哈希值)

上传时间 源代码

构建分发

bluesky_hwproxy-2022.8.0-py3-none-any.whl (7.6 kB 查看哈希值)

上传时间 Python 3