This is a python library to interface with AnySkin sensors. Much of this is adapted and streamlined from the reskin_sensor library. We provide two classes for interfacing with AnySkin. The AnySkinBase
class is good for standalone data collection: it blocks code execution while data is being collected. The AnySkinProcess
class can be used for non-blocking background data collection. Data can be buffered in the background while you run the rest of your code.
Latest stable release is v1.0.0
This package can be installed using pip:
pip install anyskin
Alternatively, if you would like the latest (potentially unstable) version,
- Clone this repository:
git clone https://github.com/raunaqbhirangi/anyskin.git --recursive
- Install this package:
pip install -e .
This guide assumes you are using the AnySkin startup kit.
-
Connect the magnetometer circuit board to the microcontroller using the provided QWIIC cable.
-
Insert the circuit board into the fingertip slot and pull the skin over the printed 3D tip.
-
Connect the microcontroller (Adafruit QT Py) to your computer using a USB-C cable. The startup kit comes with pre-loaded arduino code. If you would like to change the uploaded code, refer to the arduino folder.
-
Find the dev path/COM port your microcontroller is connected to. The simplest way to do this is:
Linux:ls /dev/ | grep -e ACM -e USB
. This is generally/dev/ttyACM0
or/dev/ttyUSB0
.
If you get acan't open device "<port>": Permission denied
error, modify permissions to allow read and write on that port:sudo chmod a+rw <port>
MacOS:ls /dev/ | grep cu.usb
. This is generallycu.usbmodem*
.
Windows: Open Device Manager. ClickView
and selectShow Hidden Devices
. LocatePorts (COM & LPT)
. Note theCOM
port corresponding to the QT Py.
If you have no other devices connected, this should give you a single path. If you see multiple, disconnect the microcontroller and run the command again. Reconnect the microcontroller and re-run the command. The additional path is your<port>
. -
Run the visualizer with the
<port>
identified in the previous step:anyskin_viz <port>
-
Over time, the sensor measurement will drift and you may see a non-zero measurement without any load being applied. When this happens, press the
B
key to recalibrate your zero measurement.
This package is maintained by Raunaq Bhirangi. We would also like to cite the reskin_sensor library from which much of this library is derived.