Skip to main content

SHAKE 传感器设备驱动程序

项目描述

# SHAKE Drivers

该项目包含 SHAKE SK6 和 SK7 传感器包的驱动程序。有关设备及其功能的更多信息,[参见 wiki](https://github.com/andrewramsay/shake-drivers/wiki)。

此 repo 包含多个驱动程序。最新和推荐的实现是在 Python 中(在 /python 下),应该在 3 个主要桌面操作系统中的任何一个上运行,以及在任何其他支持通过 [pyserial](http://pyserial) 访问串行端口的平台上.sourceforge.net/) 模块。它还应该同时支持 Python 2 和 Python 3。

其他驱动程序如下所述,但请注意,它们已经有一段时间没有维护了,并且在较新的系统上可能会出现各种问题。

**注意**:如果您想通过 USB 电缆连接而不是蓝牙使用 SHAKE,您需要安装 [FTDI VCP 驱动程序](http://www.ftdichip.com/Drivers/VCP.htm ) 为您的平台。有关详细信息,请参阅 [用户手册](http://www.dcs.gla.ac.uk/~adr/SHAKE%20SK7%20User%20Manual%20Rev%2007.pdf)。

## 简单安装

如果您使用推荐的 Python 驱动程序(仅依赖于 pyserial,并且应该适用于支持它的所有主要平台),那么您现在应该能够通过 pip 安装:
`pip install shake-drivers`

## 安装在 Windows 上

在 Windows 上快速启动和运行的最简单方法是使用 Python 实现。安装 pyserial,然后从 `shake-drivers/python` 目录运行 `python setup.py install`。

如果你想使用 C++ 驱动程序,你需要先编译它。在 `shake-drivers/cpp` 目录中,您会发现:

*shake\_driver(C++ 代码)
* pyshake(shake\_driver 的 Python 绑定)
*shake\_cs(shake\_driver 的 C# 绑定)
*shake\ _java(shake\_driver 的 Java 绑定)
*shake\_mex(shake\_driver 的基本 Matlab 绑定)

每个都应该有一个 Visual Studio 项目文件,可用于根据您需要的部分单独编译它们。他们可能还会使用来自 MingW 的 gcc/g++ 进行编译,但目前没有用于此的构建脚本。

## 在 OSX 上安装

Python 实现是快速入门的最简单方法:

* 安装 pyserial
* 从 `shake-drivers/python` 运行 `python setup.py install`

如果你安装了 XCode/developer 包并且想要编译 C++/Python 绑定:

* 从 `shake-drivers/ 运行`sh build_osx_64.sh` cpp/shake_driver`
* 从 `shake-drivers/cpp/pyshake` 运行 `python setup_osx.py install`

## 在 Linux 上安装

类似于 OSX。对于 Python 实现:

* 安装 pyserial
* 从 `shake-drivers/python` 运行 `python setup.py install`

对于 C++/Python 绑定:

* 从 `shake-drivers/cpp/shake_driver` 运行 `sh build.sh`
* 从 `shake-drivers/cpp/pyshake` 运行 `python setup.py install`

## 其他驱动程序

Python 实现的替代方案是可以为 Windows、OSX 和 Linux(32/64 位)编译的 C++ 驱动程序。此驱动程序还附带 Python、C# 和 Java 的绑定,尽管在某些情况下 C++ 代码支持的功能尚未通过这些绑定公开,并且与纯 Python 实现相比,此包中的代码通常已过时/

此外,有一个用 Java 编写的基本但功能性的实现(可能仅在它支持 Android 时有用)。

## 一个基本示例

(更多示例请参见 [wiki 页面](https://github.com/andrewramsay/shake-drivers/wiki/Examples))

**Python / pyserial**

``python
import pyshake
sd = pyshake.ShakeDevice()

# 连接细节取决于平台
# Windows (virtual COM port number)
device = 10
# OSX (Serial Port Profile dev node)
# device = '/dev/tty.SHAKESK7SN0077-SPPDev'

sd.connect(device) # 如果连接失败则返回 False
print sd.acc( ) # 当前加速度计输出
print sd.mag() # 当前磁力计输出
print sd.gyro() # 当前陀螺仪输出(如果安装了硬件模块)
sd.close()
```

**Python / C++ 绑定**
``` python
import shake
sd =shake.shake_device()

# Windows:对于非 Microsoft 蓝牙堆栈,或者如果您使用 USB 连接,请提供 COM 端口号
sd.connect(10)

# Windows:如果您使用的是 Microsoft蓝牙堆栈,
# 你可以通过直接指定设备地址来连接
sd.connect_rfcomm('aa:bb:cc:dd:ee:ff')

# OSX:总是使用这个函数
# (尽管有这个名字,它适用于蓝牙和 USB 连接) .
sd.connect_usb('/dev/tty.SHAKESK7SN0077-SPPDev')

# Linux:蓝牙设备地址
sd.connect_rfcomm('aa:bb:cc:dd:ee:ff')

# 访问数据...
print sd.acc( ), sd.mag(), sd.gyro()

sd.close()
```

项目详情


下载文件

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

内置分布

Shake_drivers-1.0.4-py2.py3-none-any.whl (38.5 kB 查看哈希

已上传 py2 py3