跳转到主要内容

Barst的接口。

项目描述

PyBarst是Barst客户端API的Python绑定。

本项目为Barst服务器项目提供Python接口。Barst是一个服务器,提供对实验室常用硬件的访问,例如FTDI USB设备、RTV相机、串行端口等。

轮子包含Barst可执行文件,因此不需要单独安装。可执行文件路径可在pybarst.dep_bins中找到。

更多信息:http://matham.github.io/pybarst/index.html

要安装https://matham.github.io/pybarst/installation.html

Appveyor status Supported Python versions Latest Version on PyPI

使用示例

启动服务器

>>> # create a local server instance with a pipe named TestPipe. Since not
>>> # provided, the executable is searched for in pybarst.dep_bins and in
>>> # Program Files.
>>> server = BarstServer(pipe_name=r'\\.\pipe\TestPipe')
>>> # now actually create the server and start it running
>>> server.open_server()
>>> # Connect to a server running on remote computer named PC_Name using a pipe named TestPipe
>>> server2 = BarstServer(pipe_name=r'\\PC_Name\pipe\TestPipe')
>>> # now open the connection to the remote server
>>> server2.open_server()

获取当前服务器时间

>>> server.clock()
(1.5206475727928106, 13045896424.049448)

使用RTV-4视频卡的示例

>>> from pybarst.core.server import BarstServer
>>> from pybarst.rtv import RTVChannel

>>> server = BarstServer(pipe_name=r'\\.\pipe\TestPipe')
>>> server.open_server()
>>> print(server.get_manager('rtv'))
{'version': 1080L, 'chan': 1, 'chan_id': 'RTVMan'}

>>> # for the code below, there should be a RTV-4 like device connected, with
>>> # a port 0 available
>>> rtv = RTVChannel(server=server, chan=0, video_fmt='full_NTSC', frame_fmt='rgb24', lossless=False)
>>> rtv.open_channel()
>>> rtv.set_state(state=True)

>>> # data is a buffer containing the raw image data
>>> time, data = rtv.read()
>>> print(time, len(data), rtv.buffer_size)
(12865.015067682945, 921600, 921600L)
>>> time, data = rtv.read()
>>> print(time, len(data), rtv.buffer_size)
(12865.048412758983, 921600, 921600L)
>>> # remove any data queued, otherwise read will return any waiting data
>>> rtv.set_state(state=False, flush=True)

使用Windows串行端口的示例

>>> from pybarst.core.server import BarstServer
>>> from pybarst.serial import SerialChannel

>>> server = BarstServer(pipe_name=r'\\.\pipe\TestPipe')
>>> server.open_server()
>>> print(server.get_manager('serial'))
{'version': 498139398L, 'chan': 0, 'chan_id': 'SerMan'}

>>> # for this example, COM3 should have a loopback cable connected to it.
>>> serial = SerialChannel(server=server, port_name='COM3', max_write=32, max_read=32)
>>> serial.open_channel()

>>> time, val = serial.write(value='How are you today?', timeout=10000)
>>> print(time, val)
(1931.5567431509603, 18)
>>> # read the exact number of chars written.
>>> time, val = serial.read(read_len=len('How are you today?'), timeout=10000)
>>> print(time, val)
(1931.5607736011307, 'How are you today?')

>>> serial.close_channel_server()

项目详情


下载文件

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

源代码发行版

PyBarst-2.1.zip (13.5 kB 查看散列值)

上传时间: 源代码

构建版本

PyBarst-2.1-cp34-cp34m-win_amd64.whl (2.4 MB 查看哈希值)

上传时间 CPython 3.4m Windows x86-64

PyBarst-2.1-cp34-cp34m-win32.whl (2.1 MB 查看哈希值)

上传时间 CPython 3.4m Windows x86

PyBarst-2.1-cp27-cp27m-win_amd64.whl (2.4 MB 查看哈希值)

上传时间 CPython 2.7m Windows x86-64

PyBarst-2.1-cp27-cp27m-win32.whl (2.1 MB 查看哈希值)

上传时间 CPython 2.7m Windows x86

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面