Skip to main content

Библиотека созданная для устройства XGlove

Project description

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]
    }
    

    Чертёж устройства

    Чертёж устройства

    Project details


    Download files

    Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

    Source Distribution

    xglove-0.3.1.tar.gz (15.9 kB view details)

    Uploaded Source

    Built Distribution

    If you're not sure about the file name format, learn more about wheel file names.

    xglove-0.3.1-py3-none-any.whl (17.7 kB view details)

    Uploaded Python 3

    File details

    Details for the file xglove-0.3.1.tar.gz.

    File metadata

    • Download URL: xglove-0.3.1.tar.gz
    • Upload date:
    • Size: 15.9 kB
    • Tags: Source
    • Uploaded using Trusted Publishing? No
    • Uploaded via: twine/6.1.0 CPython/3.8.10

    File hashes

    Hashes for xglove-0.3.1.tar.gz
    Algorithm Hash digest
    SHA256 0dd1843e7d670d1f25aa29cf52c136a61684c48ce624d575542a4cefc164bc91
    MD5 13edb362a6bcba936be20d4115ccfbc9
    BLAKE2b-256 83dc5e538be77c058b3f2cc33201166b6ac16c0383e6a0722a4abbf5f51facd9

    See more details on using hashes here.

    File details

    Details for the file xglove-0.3.1-py3-none-any.whl.

    File metadata

    • Download URL: xglove-0.3.1-py3-none-any.whl
    • Upload date:
    • Size: 17.7 kB
    • Tags: Python 3
    • Uploaded using Trusted Publishing? No
    • Uploaded via: twine/6.1.0 CPython/3.8.10

    File hashes

    Hashes for xglove-0.3.1-py3-none-any.whl
    Algorithm Hash digest
    SHA256 897980d85b9e839c2baac38c39bb1bb50c24f08edb11c65bdd14d3209ed697f8
    MD5 64b3ed89d94447048e6287a4a3973ed3
    BLAKE2b-256 9705a45f98cd819cb74bde900c72e8d4896743d68904401beff3914eece0354c

    See more details on using hashes here.

    Supported by

    AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page