Giter Club home page Giter Club logo

pcprox's Introduction

pcprox python module

This is an open-source reimplementation of the functionality available in the CmdpcProx utility for the RFIDeas pcProx USB readers, as a Python 3 module.

This has been tested with the RDR-6081AKU/APU (pcProx 125kHz HID Prox Desktop USB reader). It might work with other readers, but I don't have any other readers to test.

This implements the proprietary and undocumented USB HID commands that CmdpcProx uses to control the device.

This differs from some other implementations in that it does not use evdev to access the device. This also does not require the closed source CmdpcProx executable (which is only available for Linux x86 and Windows x86).

This does not support USB Serial or other non-USB interfaces.

Requirements

  • Python 3.x
  • cython-hidapi (generally packaged as python3-hid or python3-hidapi)

Note: There are multiple Python libraries called hid or hidapi; this library was tested with the Trezor fork.

Python 2.x is not supported, and will not be supported.

Platform support

Known-working platforms:

  • Linux (tested on x86_64, but will probably work on any Linux-supported CPU architecture, including ARM).
  • Mac OS X (tested on 10.14)

Non-working platforms:

Otherwise, this should run wherever hidapi runs, as long as one can send USB HID feature reports to keyboard devices (which pcProx simulates).

Setting up permissions

Linux

Copy the udev rules (as root):

install -o0 -g0 -m0644 udev/60-rfideas-permissions.rules /etc/udev/rules.d/
udevadm control --reload-rules

Then disconnect the pcProx (if connected), and then reconnect it.

These rules use uaccess, which should grant access to anyone logged in locally via systemd-logind (which includes most recent Linux distros).

If you're using this with a user which is not logged in locally, or are not using systemd, modify this configuration to replace TAG+="uaccess" with something like GROUP="rfidusers", which will instead set ACLs based on group membership.

Mac OS X

Mac OS X requires that all applications requesting direct access to a keyboard device run as root.

Examples

  • configure.py: A basic configuration utility that supports dumping and changing settings at the command line, and storing the running configuration in the EEPROM.

  • usbtest.py: An example application that runs the pcProx in non-keyboard mode, and flashes the LEDs on the device.

Other resources

pcprox's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.