Coder Social home page Coder Social logo

paulvha / thingmagic Goto Github PK

View Code? Open in Web Editor NEW
23.0 9.0 7.0 2.78 MB

Encoding and Decoding of many different types of EPC according to the EPC tag data standard 1.9 for RFID tags, written in C

License: GNU General Public License v3.0

C 71.05% Shell 0.82% JavaScript 4.52% C++ 23.56% Makefile 0.06%
epc uri rfid thingmagic xtid esp32-arduino

thingmagic's Introduction

This repository contains different folders with programs to support ThingMagic readers and handle the read data

thingmagic's People

Contributors

jonaphael avatar paulvha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

thingmagic's Issues

ThingMagic M5E

Hello. I am trying to connect ThingMagic M5E-C to HW-UART ESP32 using your library but nothing works for me. I connected the M5E using a voltage divider on the TX line. I use stable 5V power from the power supply. But I keep getting "Module failed to respond. Please check wiring" message. Could you help me? This is for my university project.

ThingMagic/use_serialport/

There doesn't seem to be a file here. Are you able to use MercuryApi connecting the reader to the UART of the Raspberry Pi?

I've tried using logic level shifters to protect the GPIO pins from the 5V of the Sparkfun simultaneous RFID tag reader, but I always get connection time-outs.

esp32 continuous reconnection to m6e nano

Hi Paul,

I am using your library with the #undef statement included to connect from the esp32 to the m6e nano. However, I see that in the constant read example code we are simply stepping into an infinite "while" loop if we are unable to initially connect to the M6E Nano. My question is: how can we make it so that the esp32 continuously attempts to reconnect to the M6E Nano rather than hanging when it is unable to do so the first time?

When I try to do this myself by removing the while(1) loop, replacing it with while(!setupNano(115200)) and printing the nano.msg I keep getting the code:
01 00 03 1D 0C C2 00 A4 60 30 00 00 02 20 19 06 10 01 19 01 11 00 00 00 10 BC 91

Also, does the scanning of tags function asynchronously? I am trying to scan a tag and send its information to a web server and I am wondering if there could be periods during the sending process that the scanner is "inactive" or scanning, but the esp32 is not able to read it because it is currently handling an HTTP POST request.

Thanks

Alex

Connecting ESP-32S nodeMCU yields incomplete response

When I try connecting to the M6E nano through a 5 V to 3.3 V bidirectional converter I get this error:
#1

sendCommand:
[FF] [00] [03] [1D] [0C]
response: [DD] [84] [83] [7D] [72] [E3] [3E] [9E] [98] [0E] [23] [3E] [8C] [3C] [A4] [1C] [DC] [1F] [F6] [63] [FD] [18] [FF] [F0] [0F] [1C] [3F] [DE] [63] [FE] [7E] [7E] [7F] [FE] [FE] [E0] [FE] [EE] [EE] [A2] [A6] [A6] [7E] [80] [02] [E6] [40] [D0] [F0] [F0] [F0] [F0] [F0] [10] [FE] [FE] [EE] [A2] [02] [F8] [50] [00] [07] [1C] [F8] [FC] [3C] [0C] [CC] [CC] [CF] [CE] [CC] [CE] [0C] [E6] [EE] [EE] [E6] [82] [02] [50] [F0] [F8] [F8] [F8] [3C] [3C] [F7] [F8] [F8] [F8] [F8] [C6] [3C] [CC] [CE] [E7] [E6] [F7] [77] [76] [37] [76] [F7] [F8] [00] [02] [02] [50] [F0] [F8] [3C] [3C] [0C] [CC] [36] [3C] [3C] [3C] [3C] [F4] [1C] [CE] [F7] [37] [36] [B3] [37] [37] [37] [BB] [BB] [0E] [F8] [F8] [F0]
Corrupt response
sendCommand:
[FF] [04] [06] [00] [00] [96] [00] [E0] [41]
Time out 2: Incomplete response 9
sendCommand:
[FF] [00] [03] [1D] [0C]
response: [2D] [56] [7A] [AD] [AA] [AE] [BF] [B7] [79] [5A] [6B] [A5] [0F] [0F] [0F] [0F] [0F] [C7] [F7] [C7] [0F] [0F] [0F] [0F] [0F] [CF] [C7] [0F] [0F] [0F] [C7] [0F] [FD] [79] [FD] [FD] [FD] [FD] [FF] [BF] [FF] [FF] [FF] [FF] [FF] [BF] [CF] [BF] [BF] [3F] [3F] [0F] [C7] [7F] [E0] [E0] [E0] [E0] [E0] [80] [80] [10] [00] [11] [59] [59] [59] [59] [FD] [07] [FD] [FD] [FD] [79] [0F] [FF] [2F] [0F] [0F] [0F] [CF] [0F] [0F] [7F] [E0] [7E] [7E] [7E] [7E] [7C] [7E]
Corrupt response
Module failed to respond. Please check wiring.

#2

sendCommand:
[FF] [00] [03] [1D] [0C]
response: [E7] [B6] [DE] [7B] [9F] [FF] [CF] [E7] [0F] [00] [7F] [00] [86] [FA] [AF] [FB] [FC] [DF] [E6] [66] [66] [EE] [E6] [CA] [CE] [9C] [EF] [99] [AE] [7B] [79] [79] [DB] [A6] [7B] [7A] [7A] [5A] [F2] [B2] [66] [6E] [DE] [DE] [9E] [9E] [DE] [DE] [DE] [EE] [A6] [79] [7B] [7A] [6D] [7B] [79] [5A] [5A] [5B] [79] [5B] [DA] [92] [DB] [9B] [9B] [B6] [79] [7B] [7B] [7D] [D2] [5B] [9B] [B2] [66] [66] [66] [EE] [DE] [DE] [DE] [6E] [D2] [7B] [ED] [E9] [EB] [E9] [E9] [7B] [7B] [ED] [79] [7B] [7D] [DA] [DB] [92] [66] [5A] [79] [5A] [79] [9B] [5B] [59] [9B] [93] [B6] [66] [6E] [EE] [DE] [9E] [9E] [7E] [DB] [5B] [59] [5B] [79] [7B] [5A] [6D] [5B] [DB] [93] [9B] [93] [B2] [F2] [EE] [DE] [66] [66] [B6] [66] [DE] [66] [66] [DE] [DE] [DE] [9E] [9E] [3E] [7E] [FE] [E0] [9E] [DE] [EE] [6E] [6E] [6E] [6E] [6E] [66] [66] [66] [6E] [EE] [DE] [9E] [1E] [E0] [9E] [9E] [9E] [9E] [E1] [7E] [7E] [F8] [FE] [E0] [E0] [E0] [E0] [E0] [80] [80] [61] [9E] [9E]
Corrupt response
sendCommand:
[FF] [04] [06] [00] [00] [96] [00] [E0] [41]
Time out 2: Incomplete response 11
sendCommand:
[FF] [00] [03] [1D] [0C]
response: [8A] [9F] [66] [B3] [7D] [BF] [BF] [CB] [5B] [DB] [DB] [C9] [4B] [CC] [B3] [7B] [6C] [B5] [2C] [54] [6B] [6F] [CB] [DB] [EF] [3A] [C7] [CF] [0F] [0F] [C7] [0F] [CF] [0F] [0F] [0F] [0F] [CF] [3F] [3F] [3F] [FF] [FF] [FD] [FD] [FD] [FF] [FD] [FD] [FF] [FD] [FD] [FF] [FD] [FF] [CF] [FF] [FD] [FD] [FD] [AF] [FD] [BF] [0F] [C7] [FF] [7D] [11] [01] [00] [80] [00] [11] [59] [00] [01] [11] [59] [11] [FD] [FD] [FF] [FD] [7D] [19] [F8] [79] [FD] [FF] [3F] [0F] [FD] [7D] [59] [F9] [59] [19] [10] [58] [FD] [FD] [FD] [FF] [FD] [FD] [BF] [F7] [BF] [FF] [FF] [FF] [FD] [3F] [2F] [0F] [0F] [C7] [FF] [FF] [FF] [FD] [3D] [FD] [FD] [79] [F9] [59] [FD] [FF] [FF] [FF] [3F] [BF] [FF] [FF] [FF] [3F] [0F] [0F] [0F] [0F] [C7] [FD] [FD] [FD] [FD] [FF] [FD] [FD] [FD] [59] [59] [FD] [FD] [FD] [FF] [FF] [FF] [FF] [FF] [FD] [FF] [BF] [3F]
Corrupt response
Module failed to respond. Please check wiring.

Compiling error when uploading to NodeMCU-32S

Hi, I am trying to use this library to connect a NodeMCU to an M6E Nano RFID Reader. I installed the library by downloading and extracting the folder to my libraries folder. The Arduino IDE seems to read the libraries and shows me the examples, but when I try running example1 constant read from this library I get an error:
`In file included from C:\Users~~~~~\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/sdk/include/esp32/xtensa/xtruntime.h:30:0,
from C:\Users~~~~~\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/sdk/include/freertos/freertos/portmacro.h:80,
from C:\Users~~~~~\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/sdk/include/freertos/freertos/portable.h:96,
from C:\Users~~~~~\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/sdk/include/freertos/freertos/FreeRTOS.h:105,
from C:\Users~~~~~\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\cores\esp32/Arduino.h:32,
from C:\Users~~~~~\AppData\Local\Temp\arduino-sketch-C473708062EFC059CA482FDCA5D4610D\sketch\Example1_Constant_Read_copy_20230204091135.ino.cpp:1:
C:\Users~~~~~\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/sdk/include/esp32/xtensa/config/specreg.h:106:14: error: expected unqualified-id before numeric constant
#define EPC 176
^
c:\Users~~~~~\Documents\Arduino\libraries\SparkFun_Simultaneous_RFID_Tag_Reader_Library_dec2022\src/SparkFun_UHF_RFID_Reader.h:108:11: note: in expansion of macro 'EPC'
uint8_t EPC[12]; // EPC bytes or part of the EPC to match
^

exit status 1

Compilation error: exit status 1`

How do I fix this?

A few questions

Hello Paulvha,
Can you tell me which model of Raspberry Pi you used for this and also what type of connection between the sensor and the raspberry pi you used?
Thank you.

Sparkfun Artemis compatability?

Hello paulvha,

I was looking for a solution to reading a RFID chip with user that extends past the usual 64 bytes and came across you library.

I am running on the Arduino platform but can't see to get you library to compile, for any Arduino.

Do you support the Arduino and if so can you tell me how to set it up so I can try your library.

Most appreciated,

dyones7

cant find " nano.getTemp();"

hi i am using sparkfun_UHF_RFID_Reader.h , but when i run your example11_Constant_read_temp i get this error.
"class RFID has no member name getTemp". kindly guide me i am doing wrong? i try get temperature value from RFM3250 temperature senser using sparkFun simultaneous RFID tag reader. Thanks

Time out 1: No response from module when connecting NodeMCU-32S to EM6 Nano

When I try to connect the two boards through the Serial2 port of the NodeMCU I get the error:

Time out 1: No response from module
sendCommand:
[FF] [04] [06] [00] [00] [96] [00] [E0] [41]
Time out 1: No response from module
sendCommand:
[FF] [00] [03] [1D] [0C]
Time out 1: No response from module
Module failed to respond. Please check wiring.

How do I go about fixing this error / what should my next steps for debugging be?

Using external microcontroller UART

I'm fairly new to TM RFID Modules and to controlling anything more than a servo using UART. Where should I start if I'm trying to use a TI MSP430FR2355 to program an M6E Micro? I'm experienced in programming the MSP however I just need some direction on controlling and reading from the module via UART. Any help is appreciated

RESPONSE_IS_KEEPALIVE

Hi, on your example 1, Constant_Read, as compared to using the original library from Sparkfun, the code does not output the keep alive 'Scanning'.
if (responseType == RESPONSE_IS_KEEPALIVE)
{
Serial.println(F("Scanning"));
}

I have used the Keep alive as a point to look at when to get the TagReadtime off set from.
Thanks for the great addtions to the original library.

COMMAND_TIME_OUT seems to long

Hi Paul,

I have been using your updated SparkFun Simultaneous RFID Reader library with much success, specifically for reading to chips with deep user memory.

I issues however with the #define COMMAND_TIME_OUT set to 2000ms.

Have you modified this setting and do you know why it is set to 2 seconds.

Are there commands that will have problems with this or could affect the operation of the Nano?

I wanted to get your opinion before I mucked with the library.

thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.