RFID tag read/write on FreeBSD

Steve Burton steve at sliderule.demon.co.uk
Mon Oct 13 05:21:29 UTC 2014


On 13/10/2014 04:45, Waitman Gobble wrote:
> On Sun, Oct 12, 2014 at 5:05 PM, Waitman Gobble <gobble.wa at gmail.com> wrote:
>
>> Hi,
>>
>> If you are wanting to read and write RFID tags (for like tracking people,
>> and stuff) on FreeBSD I am working on software based on the Impinj R2000
>> chipset. The SDK/demos are in c# / .NET, which runs in 'mono' but the mono
>> people have apparently omitted the code for serial port callback functions
>> so it basically sits there.. which is useless IMHO. So it looked to me like
>> more work to make the code do what i need it to, at least in my
>> application, instead of starting from scratch.
>>
>> Anyhow at the moment it's performing basic functions and reading tags..
>> writing tags soon.
>>
>> ie,
>>
>> # ./rfid
>> Connected to /dev/cuaU0 at 115200 baud.
>> RFID read/write tags
>> Control-C or Q<enter> to quit,
>> R<enter> to Read Tag
>>
>> Received Command: 72
>> Firmware Version: 1.9
>> r<enter>
>> Received Command: 81
>> Tag: [pc 30 0] [epc e2 0 57 76 76 6 1 52 5 90 d7 5f] [crc 7f 6] [data e2 0
>> 57 76] [ant 1]  [cnt 1]
>>
>> It's free.
>>
>> https://github.com/waitman/rfid
>>
>> builds with clang but needs boost port. i presume it may work with the
>> RS500, R500 or R1000 chips but I've not any of those to test.
>>
>> --
>> Waitman Gobble
>> Los Altos California USA
>> 510-830-7975
>>
>
> Update, writing tags now works.
>
> Also tested on PR9200 chip, Phychips. Which is apparently optimized for
> "Fast Moving Consumer Goods". so if you want to track those kinds of things
> instead of people. After I talked to some people I now understand the
> protocol is mostly standardized so it might be good to turn this into a
> port, since it should theoretically work with all the modern RFID
> chipsets.  And "AFAIK" RFID tag stuff has been limited to MS OS computers.
>
>
>
> # ./rfid
> Connected to /dev/cuaU0 at 115200 baud.
> RFID read/write tags
> Control-C or Q<enter> to quit,
> R<enter> to Read Tag
> W<enter> to Write Tag
>
> Received Command: 72
> Firmware Version: 1.9
> r
> Received Command: 81
> Tag: [pc 30 0] [epc 11 22 33 44 76 6 1 52 5 90 d7 5f] [crc 8a 6] [data 11
> 22 33 44] [ant 1]  [cnt 1]
> w
> Write Tag. Now enter data on one line. Four bytes separated by SPACEs.
> Example: 11 22 33 44<enter>
> 55 77 88 33
> Received Command: 82
> Tag Write Operation Complete. Read Tag to confirm data.
> r
> Received Command: 81
> Tag: [pc 30 0] [epc 55 77 88 33 76 6 1 52 5 90 d7 5f] [crc 6a 2f] [data 55
> 77 88 33] [ant 1]  [cnt 1]
> q
>
>
> Note:
>
> At the moment it's hard-coded for 4 data bytes in EPC. This can be adjusted
> in the code, eventually may be entered as command.
>
>
For what it's worth, RFID tag stuff is also available for MCU's (Arduino 
etc.).

Steve.


More information about the freebsd-questions mailing list