纽兰扫描仪库
trimarlib-newland的Python项目详细描述
Trimarlib纽兰
用于连接纽兰扫描仪的python库。
开始
这些说明将在本地计算机上为您获取项目的副本,以便进行开发和测试。 有关如何在活动系统上部署项目的说明,请参见Deployment。
先决条件
构建过程需要一些基本的开发工具:
make
-gnu make程序,用于*nix或windows系统,用于执行生成和测试目标git
-不仅用于克隆存储库,还用于自动版本控制(请参见Versioning)python3
两个标准的python包用于构建和安装步骤:
setuptools
wheel
库也依赖于pyserial
包-它用作设备的传输层。
此依赖关系在setup.py
中定义,并在安装时自动满足。
建造和释放
调用make all
(默认目标)准备分发存档。它分两步完成:
- 查询git存储库中的标记(
git describe
命令)以确定当前版本并生成version.py
文件, - 调用传递
setup.py
脚本的python解释器来准备源代码和轮子分发。
由Makefile
调用的python解释器默认为python
-可以重写它
向命令传递PYTHON
变量,例如make all PYTHON=python3
。
发布过程是自动化的,并且基于gitlab ci/cd环境-每个提交都会触发一个构建作业 尝试生成和安装构建的包(尚未实现测试,需要可用的硬件 平台)。如果已标记提交,则生成的控制盘分发将传递到部署阶段,并且 运行程序尝试将包上载到项目设置中指定的存储库。
测试
测试源文件位于newlandlib/tests
目录中,它们以设备和
正在测试功能。测试基于python内置包。
Makefile
定义了三个测试目标:unit-tests
、integration-tests
和tests
(调用这两个
单元和集成测试)。
单元测试
unit-tests
相当快,不需要任何设备连接到机器上,他们测试
实用方法。可以逐个手动调用它们(例如python -m newlandlib.tests.test_fm100_utils
)
或者通过Makefile
(即make unit-tests
)。
集成测试
integration-tests
由于所涉及的测试(fm100设备的完整测试)的数量,速度非常慢
大约需要3个小时),他们要求设备连接到运行代码的机器上。他们可能是
逐个调用(类似于单元测试,例如python -m newlandlib.tests.test_fm100_commands
)或
按Makefile
(即make integration-tests
)分批进行。
部署
库不打算在独立配置中使用-主要目的是
由更高级别的应用程序定义为依赖项。但是这是完全正确的
使用pip
手动安装。
版本控制
该项目使用基于存储库标记功能的简单模式进行版本控制。见Makefile 有关实现的详细信息,有关可用版本,请参见 tags on this repository。
使用量
有关API文档,请参阅docstrings。
使用自动发现功能进行设备初始化的示例:
fromnewlandlibimportFM100ports=FM100.discover()dev=FM100(ports[0])dev.configure()defcallback(sender,*,data,codeid=None,aimid=None):print('sender={}, data={}, codeid={}, aimid={}'.format(sender,data,codeid,aimid))dev.callback=callbackdev.start()
将对每个扫描的条形码调用callback
方法。
许可证
此软件是在麻省理工学院的许可下授权的-请参阅LICENSE。
相关文件
本软件基于纽兰的以下文档:
- fm100集成指南(v1.2.1,22/02/2017)
- fm420集成指南(v1.1.42014年8月7日)
- fm430用户指南(v1.2.1,19/07/2018)
- 基于newland统一命令集的编程指南(v1.0.0,2018年2月12日)
- 串行编程命令手册(v1.3.0,15/11/2016)