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.2.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.2-py3-none-any.whl (17.8 kB view details)

    Uploaded Python 3

    File details

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

    File metadata

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

    File hashes

    Hashes for xglove-0.3.2.tar.gz
    Algorithm Hash digest
    SHA256 e804479e83e9ffbeaf7590b425a00a875312df43910b68651c03461c084a3e67
    MD5 672fd371dd99aa0eb7e05e511bd83e91
    BLAKE2b-256 b9c96a4b50bf16798a0eeec5c97b389983a5703c3e11d910793a1426d6517d32

    See more details on using hashes here.

    File details

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

    File metadata

    • Download URL: xglove-0.3.2-py3-none-any.whl
    • Upload date:
    • Size: 17.8 kB
    • Tags: Python 3
    • Uploaded using Trusted Publishing? No
    • Uploaded via: twine/6.2.0 CPython/3.11.8

    File hashes

    Hashes for xglove-0.3.2-py3-none-any.whl
    Algorithm Hash digest
    SHA256 ec5813c9e1ee1ae0bb7c9418a8ef594092610c077ecc41d4dae5ed7054c72adf
    MD5 032fbe6b89dd8d19fa278d09d2017ee4
    BLAKE2b-256 f8135f044cfafce7fc0845cb56e75a47b2ed22c4896de055b8e06ba37c61e0cf

    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