Skip to main content

A library for reading and analyzing Flipper Zero raw RFID files

Project description

Flipper Zero Raw RFID Tools

A python library for reading and analyzing Flipper Zero raw RFID files (tag.[ap]sk.raw)

Installation

Via pip

pip install flipper-raw-rfid

From source

git clone https://github.com/hnesk/flipper-raw-rfid.git 
cd flipper-raw-rfid
make install

Usage

As a library

from flipper_raw_rfid import RiflFile
import matplotlib.pyplot as plt 

rifl = RiflFile.load('test/assets/Red354.ask.raw')
# for the reconstructed binary signal
signal = rifl.signal()
# or for the raw pulse and duration values
pd = rifl.pulse_and_durations()

plt.plot(signal[0:20000])

results in:

Plot of the RFID signal with matplotlib

There is also a short tutorial notebook

From commandline

# Plot a file (requires matplotlib)
$ flipper-raw-rfid plot tests/assets/Red354.ask.raw
# Dump the contents in pad format (see below) 
flipper-raw-rfid convert --format=pad tests/assets/Red354.ask.raw Red354.pad.csv
# Dump the contents in signal format
flipper-raw-rfid convert --format=signal tests/assets/Red354.ask.raw Red354.signal.csv

Commandline help

flipper-raw-rfid --help
flipper-raw-rfid 

Description:
    Reads a raw rfid file from flipper zero and plots or converts the signal

Usage:
    flipper-raw-rfid convert [-f <format>] RAW_FILE [OUTPUT_FILE]
    flipper-raw-rfid plot RAW_FILE
    flipper-raw-rfid (-h | --help)
    flipper-raw-rfid --version

Arguments:
    RAW_FILE        The raw rfid file from flipper (xyz.ask.raw or xyz.psk.raw)
    OUTPUT_FILE     The converted file as csv (default: stdout)

Options:
    -h --help                 Show this screen.
    --version                 Show version.
    -f --format=(pad|signal)  Output format: "pad" (=Pulse And Duration) is the internal format of the Flipper Zero,
                              each line represents a pulse and a duration value measured in samples, see
                              "Pulse and duration format" below.
                              In "signal" format the pulses are written out as a reconstructed signal with a "1" marking a
                              sample with high value and "0" marking a sample with low value [default: pad]

Pulse and duration (pad) format:

    column 0: pulse - (number of samples while output high) and
    column 1: duration - (number of samples till next signal)

    Diagram:

    ______________      __________
                  ______          __________ .......

    ^ - pulse0 - ^      ^-pulse1-^           .......
    ^ -    duration0  -^^ -    duration1  -^ .......

    The csv file has the following format:

    pulse0, duration0
    pulse1, duration1
    ....

Tutorial

There is a short RFID tutorial notebook to see if there is data in the recording and what to do with it.

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

flipper-raw-rfid-0.2.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

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

flipper_raw_rfid-0.2-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file flipper-raw-rfid-0.2.tar.gz.

File metadata

  • Download URL: flipper-raw-rfid-0.2.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for flipper-raw-rfid-0.2.tar.gz
Algorithm Hash digest
SHA256 e174e76eb51558dd60d6b073dda26e13a8eaa1090f80c077f9dca78266564375
MD5 4becb6988c3b930cb4f0507c96e08bfc
BLAKE2b-256 1f7345eb2e63d098023509f86f8a7cebbf42a4c6c7d2b8d3e40cc291b36779a1

See more details on using hashes here.

File details

Details for the file flipper_raw_rfid-0.2-py3-none-any.whl.

File metadata

  • Download URL: flipper_raw_rfid-0.2-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for flipper_raw_rfid-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 88ad2e9b1ab3e4789466be50ba7074a90a6919aba4e8bd6f0c9e115cba597d31
MD5 fb7e560fceacb60896a214942f4e2a0b
BLAKE2b-256 7717f3d6b12f0f4b534d7b7c8c8faada501ec31c95ced5100b3ef7c7d2782230

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