To view README in English, click here
XGlove
XGlove — Python-библиотека для работы с перчаткой-контролёром X.Glove. Позволяет считывать данные с тензорезисторов и инерциального датчика, а также выводить их на OLED-дисплей.
Возможности
- Считывание углов наклона (roll, pitch, yaw) с инерциального датчика.
- Получение процентного соотношения сгиба пальцев.
- Получение выходного напряжения с тензорезистора каждого пальца.
- Отображение данных на монохромном OLED-дисплее 128x64 через
luma.oled. - Простая интеграция в Python-проекты.
Установка
pip install xglove
pip install git+https://github.com/XaleraBLT/xglove.git
Функции
Физическое устройство
Инициализация устройства
import xglove
glove = xglove.Glove()
Считывание данных с тензорезисторов
Индексы пальцев (finger_num):
glove.get_finger_percent(0) - получение процентного отношения сгиба пальца
glove.get_finger_voltage(0) - получение выходного напряжения с пальца
glove.get_finger_raw(0) - получение сырого значения изгиба от 0 до 65536
Считывание данных с инерциональных датчиков
Обозначение углов (*angles):
glove.get_angles("roll", "pitch", "yaw") - получение углов поворота ладони (0-360)
Вывод данных на дисплей:
Описание аттрибутов:
glove.render_data(angles, fingers) - вывод данных на дисплей
Обмен данных между устройствами
Через провод
На устройстве:
import xglove
glove = xglove.Glove()
xglove.connectors.host.Serial_connector(glove)
На приёмной машине:
import xglove
con = xglove.connectors.client.Serial_connector(port="COM1") # В зависимости от порта в диспетчере устройств
Через точку доступа
На устройстве:
import xglove
glove = xglove.Glove()
xglove.connectors.host.Socket_connector(glove)
На приёмной машине:
import xglove
con = xglove.connectors.client.Socket_connector()
Аттрибуты коннектора
con.fingers_percent - возвращает словарь с ключами от 0 до 3, значениями которого являются процентные отношения сгибов пальцев
con.fingers_voltage - возвращает словарь с ключами от 0 до 3, значениями которого являются выходные напряжения с пальцев
con.fingers_raw - возвращает словарь с ключами от 0 до 3, значениями которого являются сырые данные от 0 до 65536
con.x // con.y // con.z - возвращает значение угла от 0 до 360
Загрузка python-файла на устройство (только через точку доступа)
import xglove
xglove.utils.update_code("путь_к_коду.py")
Каллибровка перчатки (только через точку доступа)
import xglove
xglove.utils.update_calib("путь_к_файлу.json")
Пример файла с калибровочными данными:
Правила оформления файла
{
"0": [2869, 2826, 2346, 2177, 2121],
"1": [3941, 2237, 2413, 1698, 1483],
"2": [5607, 2898, 2517, 2200, 1797],
"3": [6596, 3123, 3039, 2275, 2048]
}
Чертёж устройства
Metadata
Release files for xglove 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xglove-0.3.2.tar.gz | 15.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xglove-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.7 kB
Release files / xglove-0.3.2.tar.gz
| Download URL | xglove-0.3.2.tar.gz |
|---|---|
| Size | 15.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e804479e83e9ffbeaf7590b425a00a875312df43910b68651c03461c084a3e67
|
|
BLAKE2b-256 checksum How to use checksums |
b9c96a4b50bf16798a0eeec5c97b389983a5703c3e11d910793a1426d6517d32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.8
|
Release files / xglove-0.3.2-py3-none-any.whl
| Download URL | xglove-0.3.2-py3-none-any.whl |
|---|---|
| Size | 17.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec5813c9e1ee1ae0bb7c9418a8ef594092610c077ecc41d4dae5ed7054c72adf
|
|
BLAKE2b-256 checksum How to use checksums |
f8135f044cfafce7fc0845cb56e75a47b2ed22c4896de055b8e06ba37c61e0cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.8
|