Skip to main content

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):
  • 0 - большой
  • 1 - указательный
  • 2 - средний
  • 3 - безымянный
  • glove.get_finger_percent(0) - получение процентного отношения сгиба пальца

    glove.get_finger_voltage(0) - получение выходного напряжения с пальца

    glove.get_finger_raw(0) - получение сырого значения изгиба от 0 до 65536

    Считывание данных с инерциональных датчиков

    Обозначение углов (*angles):
  • roll или x - крен
  • pitch или y - тангаж
  • yaw или z - рыскание
  • glove.get_angles("roll", "pitch", "yaw") - получение углов поворота ладони (0-360)

    Вывод данных на дисплей:

    Описание аттрибутов:
  • angles = (roll, pitch, yaw) - углы поворота (0-360)
  • fingers = (100, 100, 100, 100) - процентное соотношение изгиба для каждого пальца (0-100)
  • text_attributes = (текст, шрифт) - отображение текста на дисплее (необязательно, максимальное разрешение 108x44)
  • image - изображение (необязательно, максимальное разрешение 108x44)
  • 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 до 3)
  • Значение - список из 5 элементов через запятую: сырые значения датчика при 0-25-50-75-100 процентных уровнях сгиба
  • Правила оформления 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)

    Source distribution for xglove 0.3.2
    File Size Uploaded
    xglove-0.3.2.tar.gz 15.9 kB Details

    Built distribution (wheel)

    Table of built distributions (wheels) for xglove 0.3.2
    File Interpreter ABI Platform
    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

    Release history Release notifications | RSS feed

    This release

    0.3.2 This release

    2 release files

    0.3.1

    2 release files

    0.3

    2 release files

    0.2.1

    2 release files

    0.2.0

    2 release files

    Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page