RFIDIOt | python RFID / NFC library & tools | Authentication library
kandi X-RAY | RFIDIOt Summary
kandi X-RAY | RFIDIOt Summary
python RFID / NFC library & tools
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- select card
- Decode a GDEF file into a list of 2D images .
- Decode PESE .
- Decode Field Dg1 Dg1 field .
- Connect to a remote host .
- Encrypt a file .
- Decrypt a file .
- Decode EF_COM tag .
- Decode Jcopecycle lifecycle data
- Decode GP registry data .
RFIDIOt Key Features
RFIDIOt Examples and Code Snippets
Community Discussions
Trending Discussions on RFIDIOt
QUESTION
I've been working on an RFID project to produce our own RFID cards to work on our existing timeclocks and readers.
I've got most of the work done, and have been able to successfully write a Hitag2 card using the value of page 4 & 5 from another card (so basically copying the card) then changing the config bit which makes it act like an EM4x02 which allows our readers to read it.
What I'm struggling with is trying to relate the hex code on page4/5 to the output you get when scanning as an EM4x..
The values of the hitag page 4/5 are FF800000/003EDF10. This translates to 0000001EBC when read as an EM4x.
Does anybody have an idea on how this translation is done? I've tried using the methods in RFIDIOT but that doesn't seem to work for this.
...ANSWER
Answered 2022-Jan-30 at 11:29I've managed to find how this is done after finding a hitag2 datasheet from 1999 (the only one I could find that explains the bits when hitag is in public mode A)
Firstly, convert the number you want on the EM4 card to hex.
Convert that hex into binary.
Split the binary into 4 bit chunks, then work out the even parity for each section and add it to the end of each chunk. (So you'll end up with 5 bits per chunk)
Then, work out the even parity of each column in the data (i.e first character of all chunks, then second etc. But ignoring the parity bit you added) and add these 4 bytes to the binary string.
Then add the correct amount of zeros at the start to ensure the data section has 50 bits.
Once you have the data section sorted, add 9 bits of 1 to the beginning (header) and a final 0 to the very end of the binary.
Your whole binary string should be 64 bits long.
Convert this to hex and split it in half. You can then write these onto pages 4/5 of a Hitag2 card.
You then need to change the configuration bit to 0x02 for the tag to work in public mode a.
QUESTION
So my project involves the following components:
- RFID Antenna on always read mode
- RFID tag/card containing data
- Python program to bridge the gap between the two.
What happens is that as soon as the card/tag comes within the range of the antenna, the antenna reads the data present in the card and saves it into a database. My python program is supposed to take the data received by the antenna, process it and save the contents into the database and maybe display it at a later date. I have had experience using pyserial to communicate with a RFID reader connected to an arduino and process the received data into a database. However, I am clueless on how to communicate with the rfid antenna and aquire the data I need. Moreover, I'm unable to find any refernce materials online or anything relating to coding and linking the antenna to a program.
EDIT: I wish to know which all libraries, etc would allow me to establish the connection and linking required for utilizing the RFID data. I have tried RFIDiot, however, that library is designed for Python2 and throws a lot of errors as well as broken use when used in Python3.
...ANSWER
Answered 2020-Feb-08 at 12:00There are libraries like ie https://github.com/AdamLaurie/RFIDIOt and https://github.com/nfcpy/nfcpy
The antenna is attached to circuitry that interfaces with the uC via some interface or bus like SPI, I2C, UART. This is the point where you grab the data from the antenna \ receiver like in https://randomnerdtutorials.com/security-access-using-mfrc522-rfid-reader-with-arduino/
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install RFIDIOt
You can use RFIDIOt like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page