Skip to main content

用于 Chromation 光谱仪开发套件的 Python API

项目描述

微规格概述

包microspeclib是 Chromation 光谱仪开发套件的 Python API。

该microspec项目还包括:

  • microspec-cmdline无需开发 Python 应用程序即可运行基本测量的命令行实用程序
  • 用于在单元测试中伪造开发套件硬件的模拟器(仅限 Mac 和 Linux)

光谱仪硬件

Chromation 光谱仪是一种表面贴装 PCB 封装,由线性光电二极管阵列和光学元件组成。

Python API 与开发套件中的两个微控制器上的固件进行通信,每个堆叠的 PCB 上都有一个。

  • 堆栈底部的微控制器为 Chromation 光谱仪提供 SPI 接口。
  • 上面堆叠的 PCB 上的微控制器提供了一个 USB 桥接器,可将 SPI 接口转换为 USB 接口。

microspeclib使用 访问此 USB 接口pyserial。

安装 Python API

安装microspec项目pip:

$ pip install microspec

要扩展/自定义/重新利用 API,请从项目主页克隆存储库: https ://github.com/microspectrometer/microspec并以 --editable模式安装。

Windows 加载 VCP

在 Windows 上,第一次连接 dev-kit 时:

  • 打开设备管理器:
    • 右键单击 USB 串行转换器
    • 选择属性
    • 转到选项卡“高级”
    • 勾选“加载 VCP”
    • 为开发套件循环供电(拔下/插入 USB 电缆)

现在,每次将开发工具包连接到这台 Windows 计算机时,都会启用“加载 VCP”。

如果未启用“加载 VCP”,pyserial则无法与开发套件通信,并microspec报告它没有看到连接的 USB 设备。

安装额外的测试和文档要求

开发人员可能希望安装运行单元测试和重建文档所需的其他包。

$ pip install microspec[dev]

许多microspec单元测试使用模拟器来伪造开发套件硬件。模拟器需要实用程序socat,该实用程序仅适用于 Mac 和 Linux。

  1. 该文档是使用 Sphinx 构建的。扩展 API 的开发人员将需要重新构建文档。[dev]通过添加以下install 命令来安装 Sphinx 相关要求:
$ pip install microspec[dev]

使用 Python API

在 Python 脚本或 Python REPL 中导入 API:

>>> from microspeclib.simple import MicroSpecSimpleInterface

API 是一组用于配置光谱仪和采集数据的命令。

每个命令都有一种方法。命令是驼峰格式的。命令返回接收到的回复对象。如果出现错误或超时,则回复为None。

下面将连接到 dev-kit USB 硬件,捕获单个帧,然后打印状态、像素数和第 3 个像素的值。

from microspeclib.simple    import MicroSpecSimpleInterface
si = MicroSpecSimpleInterface(timeout=2)
reply = si.captureFrame()
print(reply.status)
print(reply.num_pixels)
print(reply.pixels[2])

命令行 API

可执行文件将microspec_cmdline.py运行单个命令并将回复打印到标准输出,可选择以 CSV 格式。默认是查找硬件,但如果需要,可以使用 -f FILE 将其指向设备文件或端口名称,如“COM3”中的名称。命令本身不区分大小写,并且在命令之后是命令的 key=value 对选项,如有必要,例如led_num=0or cycles=100。

-t timeout 是每次等待命令的时间,如果失败,它将打印 None 并继续。如果指定了 -r repeat,它将多次运行该命令。如果它在重复, -w wait 将在命令之间等待那么长时间。所有时间都以小数秒为单位。

例如,要设置曝光和周期,然后获取 3 个间隔 1.5 秒的捕获帧,每个帧的超时时间为 0.2 秒,然后以 CSV 格式打印:

microspec_cmdline.py setsensorconfig binning=true gain=gain1x row_bitmap=0x1f
microspec_cmdline.py setexposure cycles=100
microspec_cmdline.py captureframe -t 0.2 -r 3 -w 1.5 --csv

命令行实用程序是.exeWindows 上的

在 Windows 上,microspec_cmdline.py将上述行中的替换为microspec_cmdline.exe.

例如:

> microspec-cmdline.exe captureframe -t 0.2 -r 3 -w 1.5 --csv

模拟硬件-e

请注意,如果您没有连接硬件,您可以(在 Linux 和 MacOSX 上)添加一个“-e”标志来使用模拟器。它不会返回非常有趣的捕获帧数据,但会提供测试接口的机会。

模拟器

目前,这仅在 Linux 和 MacOSX 上受支持,并且需要socat安装可执行文件并在您的 PATH 上可用。

通过添加“-e”标志,将模拟器与命令行实用程序一起使用。

microspeclib.simple使用带有关键字参数的或 microspeclib.expertAPI的模拟器emulation=True。

更多信息

更多信息请查看项目主页:

https://github.com/microspectrometer/microspec

作者

项目详情


下载文件

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

源分布

microspec-0.1.1b0.tar.gz (148.0 kB 查看哈希)

已上传 source

内置分布

microspec-0.1.1b0-py3-none-any.whl (77.7 kB 查看哈希)

已上传 py3