Python-API色谱仪devkit

microspec的Python项目详细描述


MicroSpec概述

{cda>Python的API是 光谱仪开发套件。在

microspec项目还包括:

  • 用于运行basic的命令行实用程序microspec-cmdline 无需开发Python应用程序的度量
  • 一个仿真器(仅限Mac和Linux),用于伪造开发工具包 单元测试中的硬件

光谱仪硬件

色谱仪是一种表面贴装的印刷电路板封装 由线性光电二极管阵列和光学元件组成。在

pythonapi与两者上的固件通信 开发工具包中的微控制器,每个堆叠的PCB上都有一个。在

  • 堆栈底部的微控制器提供一个SPI 与铬酸盐离子光谱仪的接口。在
  • 上面堆叠的PCB上的微控制器提供了一个USB接口 将SPI接口转换为USB接口的网桥。在

microspeclib使用pyserial访问此USB接口。在

安装Python API

使用pip安装microspec项目:

$ pip install microspec

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

Windows加载VCP

在Windows上,第一次连接开发工具包时:

  • 打开设备管理器:
    • 右击USB串行转换器
    • 选择属性
    • 转到“高级”选项卡
    • 检查“加载VCP”
    • 关闭开发工具包的电源(拔下/插入USB电缆)

现在,每当开发工具包连接到 这台Windows计算机。在

如果“加载VCP”未启用,pyserial无法与通信 开发工具包和microspec将报告它没有看到 已连接USB设备。在

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

开发人员可能希望安装 运行单元测试并重建文档。在

^{pr2}$

许多microspec单元测试都使用仿真器来伪造 开发工具包硬件。模拟器需要实用程序socat,它是 仅适用于Mac和Linux。在

  1. 文档是用Sphinx构建的。开发者扩展 API需要重新生成文档。安装 将[dev]添加到install中,从而实现与狮身人面像相关的要求 命令:
^{pr2}$

使用Python API

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

>>>frommicrospeclib.simpleimportMicroSpecSimpleInterface

API是一组用于配置分光计和 获取数据。在

每个命令都有一个方法。命令是 camelcase格式化。命令返回接收到的应答对象。如果 出现错误或超时,答复为None。在

以下将连接到开发工具包USB硬件,捕获 单帧,然后打印状态、像素数和 第三个像素的值。在

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可执行文件将运行单个命令 并打印stdout的回复(可选)为CSV格式。这个 默认情况下是查找硬件,但可以使用-f文件来指向 它可以是设备文件或端口名,如“COM3”, 如有必要。命令本身不区分大小写,并且 如果 必要的,例如led_num=0或{}。在

t timeout是每个命令等待的时间 时间,如果失败了,它将不打印任何内容,然后继续前进。如果a-r 指定repeat时,它将运行该命令多次。 如果它是重复的,a-w等待会在这中间等那么长时间 命令。所有时间都以分数秒为单位。在

例如,设置曝光和周期,然后得到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

在Windows

上,命令行实用程序是.exe

在Windows上,替换上面几行中的microspec_cmdline.py 威斯康星州第microspec_cmdline.exe。在

例如:

>microspec-cmdline.execaptureframe-t0.2-r3-w1.5--csv

使用-e

模拟硬件

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

仿真器

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

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

将仿真器与microspeclib.simplemicrospeclib.expert具有关键字参数emulation=True的API。在

更多信息

更多信息请参见项目主页:

https://github.com/microspectrometer/microspec

作者

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

推荐PyPI第三方库


热门话题
java无法使用JAXB配置Moxy   java如何让我的简单Swing telnet客户端正确显示字符?   java中从可运行线程调用主线程的多线程处理   java数据源。EBJ3会话bean中的getConnection()   使用java和正则表达式从xml文件提取值时出现问题   java定制Jersy胡须Mvc   在Java中,“限制并发”是什么意思?   java有没有更干净的方法可以在这里使用Optional,而不在三个地方返回“NA”?   java Tomcat启动,然后崩溃,除非我打电话   java理解客户机和服务器   java时间戳将在视图对象>实体转换期间丢失   如何在java中返回布尔值(基元)?   java使用spring mvc设置日志记录,希望仅对我的代码进行跟踪/调试   用Jackson解析嵌套对象