Pozyx 设备的 Python 库
项目描述
通过 USB 与 pozyx 室内定位系统配合使用的 Python 库。
该库适用于 Python 2 和 3。
先决条件
下载并安装 Python。在 Windows 上,让您的生活更轻松,并确保 Python 在您的 PATH 中。因此,推荐的安装是 Continuum 的Anaconda Suite。如果您要按照教程进行操作,则需要安装 Python 3 以获得对 python-osc 的支持。
安装 PySerial 包。如果您安装了 pip,您可以通过在命令行界面(Windows 上的 cmd)中编写pip install pyserial来执行此操作。
Windows 只安装ST 的虚拟 COM 驱动程序。运行此安装程序后,请为您的系统运行正确的驱动程序包,位于“C:\Program Files (x86)\STMicroelectronics\Software\Virtual comport driver”。如果您运行 Windows 7 或更早版本,请选择 Win7。为 Windows 8 或更新版本选择 Win8。在 64 位系统上运行“dpinst_amd64.exe”,在 32 位系统上运行“dpinst_x86.exe”。
安装这个包
只需运行pip install pypozyx
PyPozyx 现在已安装。要检查它是否是:如果您正确执行了所有步骤,并且知道您的 Pozyx 在哪个端口上,则以下代码应该可以工作:
from pypozyx import PozyxSerial
port = 'COMX' # on UNIX systems this will be '/dev/ttyACMX'
p = PozyxSerial(port)
如果你的端口是正确的并且 Pozyx 的串行连接没有被其他软件使用,这将运行没有任何错误。
但!我怎么知道我的 Pozyx 在哪个端口上?
您可以使用 Python 轻松查看系统上的 COM 端口:python -c "from pypozyx import *;list_serial_ports()"
新您可以使用以下命令快速查找是否存在已识别的 Pozyx 设备:python -c "from pypozyx import *;print(get_first_pozyx_serial_port())"
文档和示例
您可以在我们的网站上找到 Python 教程。您可能是从入门页面到这里的
文档可以在这里找到。
这最初是 Pozyx 的 Arduino 库的一个端口,因此大多数Arduino 库文档都可以转换为此。主要区别在于您不再需要传递正在读取/写入的数据的长度。这由库通过 Data 和 SingleRegister 类来处理,如下所示:
whoami = SingleRegister()
pozyx.regRead(POZYX_WHO_AM_I, whoami) # which is pozyx.getWhoAmI(whoami)
SingleRegister(value=0, size=1, signed=1)基本上是一个实例Data([0], 'B'),它作为单个 uint8_t 运行。如果您想制作自定义数据,对于单个寄存器,您可以调整大小和有符号参数,对于更大的数据结构,您可以使用自己的数据格式。例如, Data([0]*3, 'BHI')创建了一个 1 uint8_t、uint16_t 和 uint32_t 的结构。使用此示例作为参数写入和读取数据将自动读取/写入 7 个字节的数据。要指定您自己的数据格式,请查看Python 3或Python 2的struct 包文档。
一个更 Pythonic 的库会很好,但不是在工作中。