Açıklama Yok

Chaka abeac4a69b more refractor 2 yıl önce
assets ef38b1eec8 experimental changes, might roll back or not 2 yıl önce
icons 4026ea0a9b partially working ui, with a BusFault error on app exit 2 yıl önce
scenes abeac4a69b more refractor 2 yıl önce
README.md 889028ad4d Update README.md 2 yıl önce
application.fam cd4014e736 simple working read sequence complete. 2 yıl önce
uhf_app.c abeac4a69b more refractor 2 yıl önce
uhf_app.h 59392b764b added landing app scene 2 yıl önce
uhf_app_i.h abeac4a69b more refractor 2 yıl önce
uhf_buffer.c abeac4a69b more refractor 2 yıl önce
uhf_buffer.h abeac4a69b more refractor 2 yıl önce
uhf_cmd.c 28b375c9f0 added steps to read all banks, not working yet 2 yıl önce
uhf_cmd.h abeac4a69b more refractor 2 yıl önce
uhf_data_i.h 59392b764b added landing app scene 2 yıl önce
uhf_device.c abeac4a69b more refractor 2 yıl önce
uhf_device.h 781e181601 still refractoring 2 yıl önce
uhf_module.c abeac4a69b more refractor 2 yıl önce
uhf_module.h abeac4a69b more refractor 2 yıl önce
uhf_module_cmd.h 0aa2d6f403 reworking uhf_data to seprate classes and adding a module framework 2 yıl önce
uhf_tag.c abeac4a69b more refractor 2 yıl önce
uhf_tag.h abeac4a69b more refractor 2 yıl önce
uhf_worker.c abeac4a69b more refractor 2 yıl önce
uhf_worker.h 781e181601 still refractoring 2 yıl önce

README.md

[UHF]RFID App for FlipperZero

FlipperZero

Overview

This repository contains a UHF RFID application developed for FlipperZero, a versatile multi-tool device. The app leverages the YRM100 module to enable UHF RFID functionality.

Features

  • Read Single UHF RFID tag.
  • View saved UHF RFID tag.
  • Write Single UHF RFID tag. (in progress)
  • Change Module setting parameters.
  • Easy-to-use interface on FlipperZero's display.
    • Extras
      • Read multiple tags at once
      • View multiple on a list view

Requirements

To run this application on FlipperZero, you will need:

Setup and Installation

  1. Ensure you have set up your FlipperZero device with the YRM100 module properly. You can also read more about how to setup the module from the Md5Stack Docs page. wiring diagram
  2. Clone this repository to the applications_user folder of your flipper firmware of your choice
  3. If you have VSCode setup with your flipper firmware.
    • ### Windows
      1. Press Ctrl+Shift+B on vscode while in the uhf_app folder
      2. Select the Launch App on Flipper option. And watch as the app launches on your flipper
      3. If you don't have vscode setup you can use the cli command ./fbt COMPACT=1 DEBUG=0 launch APPSRC=applications_user\uhf_rfid
    • ### MacOS ... tbd

Usage

  1. Power on your FlipperZero device.
  2. Connect the uhf module to the flipper via gpio.
  3. Navigate to the UHF RFID app on FlipperZero's menu.
  4. Currently Reading the EPC tag is the only usable option ... will further update this page as it development goes

Contributions

As this app is still in the development stage, I welcome contributions to this project. If you find any issues or want to enhance the application, feel free to create a pull request.

Future Plans

  • Code cleanup
  • Build a framework around the chip communication commands
  • Build a proper tag class

    // Ideal concept
    #include <stdint.h>
    #include <stdio.h>
    #include <string.h>
    
    typedef struct {
    int uart_fd; // UART file descriptor or other identifier
    } YRM100_RFID;
    
    void sendCommand(YRM100_RFID *rfid, const uint8_t *command, size_t length) {
    // Implementation to send the command through UART
    // Write the command to the UART interface using rfid->uart_fd
    }
    
    // Configuration functions:
    
    void setCommunicationBaudRate(YRM100_RFID *rfid) {
    uint8_t command[] = {0xBB, 0x00, 0x11, 0x00, 0x02, 0x00, 0xC0, 0xD3, 0x7E};
    sendCommand(rfid, command, sizeof(command));
    }
    
    void setWorkingArea(YRM100_RFID *rfid, uint8_t area) {
    uint8_t command[] = {0xBB, 0x00, 0x07, 0x00, 0x01, area, 0x09, 0x7E}; 
    sendCommand(rfid, command, sizeof(command));
    }
    
    // other method etc ... 
    
    // Ideal concept
    #include <stdint.h>
    #include <stdlib.h>
    
    typedef struct {
    uint8_t *killPassword;
    uint8_t *accessPassword;
    size_t size;
    } ReservedMemory;
    
    typedef struct {
    uint8_t *header;
    uint8_t *filter;
    uint8_t *partition;
    uint8_t *companyPrefix;
    uint8_t *itemReference;
    size_t size;
    } EPCMemory;
    
    typedef struct {
    uint8_t *tid;
    size_t size;
    } TIDMemory;
    
    typedef struct {
    uint8_t *userMemory;
    size_t size;
    } UserMemory;
    
    typedef struct {
    ReservedMemory reserved;
    EPCMemory epc;
    TIDMemory tid;
    UserMemory user;
    } ISO18000_6C_Tag;
    

Disclaimer

  • This application is provided as-is and may contain bugs or issues.
  • Use it at your own risk.
  • I am not responsible for any damage or loss caused by the usage of this app.

Extra Resources

Contact

For any inquiries or support, you can reach out to us at :