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/ttyACM0or/dev/ttyUSB0.
If you get acan't open device "<port>": Permission deniederror, 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. ClickViewand selectShow Hidden Devices. LocatePorts (COM & LPT). Note theCOMport 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
Bkey 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.