JulianaNFC is een Python-programmaatje voor Windows en Linux dat pollt voor NFC tags en deze vervolgens over een WebSocket verstuurt.
NFCPy heeft libusb nodig om generieke toegang te krijgen tot USB apparaten, wat normaal niet is toegestaan onder Windows. (instructies gekopieerd van NFCPy)
-
Download Zadig
-
Connect your NFC device
-
Run the downloaded executable
-
Click Options -> List All Devices
-
Select your NFC reading/writing device from the list
-
Select the WinUSB driver from the other drop down and install it (Replace Driver)
-
Then, install libusb:
- Download libusb (Downloads -> Latest Windows Binaries).
- Unpack the 7z archive (you may use 7zip).
- For 32-bit Windows:
- Copy VS2015-Win32\dll\libusb-1.0.dll to C:\Windows\System32.
- For 64-bit Windows:
- Copy VS2015-x64\dll\libusb-1.0.dll to C:\Windows\System32.
- Copy VS2015-Win32\dll\libusb-1.0.dll to C:\Windows\SysWOW64.
Download en start JulianaNFC_Python:
- Download de release executable voor Windows (
JulianaNFC_vX.X.exe
) - Zet hem op een mooi plekje neer
- Start daarna
JulianaNFC_vX.X.exe
, de GUI zal starten.
- Blacklist de
pn533
enpn533_usb
kernel modules en herstart de PC.» cat /etc/modprobe.d/blacklist-libnfc.conf blacklist pn533 blacklist pn533_usb
- Download de release executable voor Linux (
JulianaNFC_linux_vX.X
) - Zet hem op een mooi plekje neer
- Start het executable bestand
JulianaNFC_linux_vX.X
, de GUI zal starten. (draai het met de-h
flag voor CLI-opties)
- Clone of download de code van github (
git clone git@github.com:Inter-Actief/JulianaNFC_Python.git
) - Maak een virtualenv als je dat graag wilt en activeer deze (
python3 -m venv venv; source ./venv/bin/activate
) - Installeer de requirements uit requirements.txt (
pip install -r requirements.txt
) - Voer
python juliana.py
uit, de GUI zal starten. (ziejuliana.py -h
voor CLI-opties)
Vanuit een browser connect je met de WebSocket.
socket = new WebSocket('ws://localhost:3000');
socket.onmessage = function (event) {
var rfid = JSON.parse(event.data);
console.log("Tag scanned!");
console.log(rfid);
};
Als er een kaart wordt gescand ontvang je over de websocket een JSON-object (in het veld event.data
hierboven) met kaartinfo over de socket.
{"type": "iso-x", "atqa":"12:34", "uid":"ab:cd:ef:gh", "sak":"56"}
En dat is alles wat JulianaNFC doet.
Niks bekend. Maak hier nieuwe tickets aan: https://github.com/Inter-Actief/JulianaNFC_Python/issues
Mocht de kaartlezer ineens niet meer werken, dan kan je hem opnieuw inpluggen. JulianaNFC zou hem dan opnieuw moeten detecteren.
- Zoek een computer met het gewenste doelbesturingssysteem en installeer Python en alle requirements voor JulianaNFC.
- Noot: Gebruik bij packagen op Windows een python-versie waarvoor een .whl van wxPython beschikbaar is, dit package zelf bouwen op Windows is lastig.
- Installeer pyinstaller (
pip install pyinstaller
) (Getest met 5.2, maar zou met nieuwere prima moeten werken) - Open een command prompt / terminal en ga naar de map waar JulianaNFC staat
- Verwijder de
build
endist
folders als deze nog bestaan van een vorige build - Draai Pyinstaller op de specfile (
pyinstaller juliananfc.spec
) - De build zal in de
build
folder plaatsvinden, de executable zal in dedist
folder geplaatst worden.