From owner-freebsd-questions@FreeBSD.ORG Mon Oct 13 05:21:29 2014 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C4D0D9F8 for ; Mon, 13 Oct 2014 05:21:29 +0000 (UTC) Received: from smtp.demon.co.uk (mdfmta010.mxout.tch.inty.net [91.221.169.51]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4E928D58 for ; Mon, 13 Oct 2014 05:21:28 +0000 (UTC) Received: from smtp.demon.co.uk (unknown [127.0.0.1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by mdfmta010.tch.inty.net (Postfix) with ESMTP id C432A401113 for ; Mon, 13 Oct 2014 06:14:48 +0100 (BST) Received: from mdfmta009.tch.inty.net (unknown [127.0.0.1]) by mdfmta009.tch.inty.net (Postfix) with ESMTP id 8C54812810D for ; Mon, 13 Oct 2014 06:14:22 +0100 (BST) Received: from mdfmta009.tch.inty.net (unknown [127.0.0.1]) by mdfmta009.tch.inty.net (Postfix) with ESMTP id 2E2861280E8 for ; Mon, 13 Oct 2014 06:14:22 +0100 (BST) Received: from [192.168.254.7] (unknown [80.177.21.188]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mdfmta009.tch.inty.net (Postfix) with ESMTP for ; Mon, 13 Oct 2014 06:14:22 +0100 (BST) Message-ID: <543B5FB2.6050300@sliderule.demon.co.uk> Date: Mon, 13 Oct 2014 06:14:26 +0100 From: Steve Burton User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: freebsd-questions@freebsd.org Subject: Re: RFID tag read/write on FreeBSD References: In-Reply-To: X-MDF-HostID: 22 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Oct 2014 05:21:29 -0000 On 13/10/2014 04:45, Waitman Gobble wrote: > On Sun, Oct 12, 2014 at 5:05 PM, Waitman Gobble 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 to quit, >> R to Read Tag >> >> Received Command: 72 >> Firmware Version: 1.9 >> r >> 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 to quit, > R to Read Tag > W 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 > 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.