Rabbit 功能介绍  
Rabbit 是一款针对 Impinj Speedway 开发的嵌入式程序。此程序简化了 Speedway 读写  
器的开发难度及对于上位机的依赖度对简单的读写操作发者可以不需要开发在仅支  
windows 环境下的 SDK,而是采用 Rabbit 程序即可快速实现,通过串口和 TCP/IP socket  
进行通讯,实现在安卓系统,IOS 系统,windows 系统的跨平台应用。  
Rabbit 具有以下特点:  
1 支持网页参数配置  
2 支持网口和串口(RS232) 数据输出  
3 支持网口/串口 RS232 简单命令交互  
4 支持输出数据格式及内容自定义  
5 支持输出数据时间窗去重  
6 支持数据协议级过滤  
7 支持命令触发/外部触发/定时触发等多种启动模式  
8 支持无新增数据/外部触发/定时触发等多种停止模式  
9 支持低功耗模式  
10 支持链路误码率高的无线传输数据完成性通讯协议  
Rabbit 程序导入  
Rabbit 程序导入方式如同读写器固件升级  
步骤 1:通过网页输入读写器 IP 地址(下面均以读写器默认 IP 169.254.1.1 为例)  
输入命令:http://169.254.1.1, 用户名 root,密码:impinj  
步骤 2reader update 过“浏览”选取 rabbit upg 文件后点击 upgrade,  
然后当指示 manual reboot 时,点击 reboot 按钮。  
步骤 3: 在读写器重启后,刷新页面,通过 application SW version 确认是否成功。  
Rabbit 登陆  
Rabbit 软件通过浏览器登录:https://192.168.1.205 ,用户名 root,密码:impinj  
此页面表示已经进入 rabbit 程序。  
Rabbit 读取标签配置  
4.1 模式设置  
可以选择读写器模式和搜索模式和会话,此处建议使用 AutoSetTurbo 模式,在标签密集场  
景效果比较好拥有较高读取率。  
4.2 天线端参数设置  
此处主要设置每个天线口的输入功率和天线端口选取,未使用 antenna hub ,:  
使用 antenna hub 时:  
4.3 读写器启动模式设置  
读写器支持多种触发模式,  
Command 模式:  
启动: 通过网口或者串口向读写器发送 TXX/start 两种命令,启动读写器X 为天线  
端口,0 为全部天线。  
1: 打开端口 1, 触发读写器读取,发送“T01”命令。  
2:打开所有端口,触发读写器读取,发送”T00”命令。  
3:当使用 antenna hub 时,打开端口 16,触发读写器读取,发送“T16”命令  
4:当需要使用页面配置的参数时,如选择页面选择端口 1,端口 3,可以使用  
start”命令来启动读写器(如果之前使用过 Txx 命令,那么“start”会等同于”Txx”).  
停止Command 模式可以配合多种停止模式停止读写器,同时,可以接受“stop”  
命令,使读写器停止工作。  
配置:通过命令 cofig 命令,可以支持配置和配置查询命令  
1: config 查询当前配置  
2: config searchmode x (x = 1-3) 配置查询模式  
3: config session x (x=0-3) 配置会话  
4: config antenna 1,29.5,-60;2,28,-84  
配置天线端口,打开 1 端口,功率  
29.5dbmRSSI -60dbm2 天线端口28dbmRSSI 最大功率值和 RSSI  
值不配置,默认选用网页配置值)  
5: config antenna 2:0  
配置天线,关闭 2 号天线端口  
GPO 输出: 通过命令,来设置 GPO 输出的电平。命令:setgpo port state  
1: setgpo 1 1 GPO 端口 1 设置为高电平  
2: setgpo 1 0 GPO 端口 1 设置为低电平  
GPI 模式:通过 GPI 进行触发读写器读取标签  
AdvancedGPI 模式:通过 GPI 触发对应的天线端口读取标签,如 GPI 1 收到信号时,读  
写器开启天线端口 1 进行盘点  
Immediate 模式:无条件立即启动读写器读取标签  
Periodic 模式:周期触发读写器启动,读取标签  
RabbitProtocol 模式:基于 Rabbit 协议,通过网口或者串口,控制读写器开始,停止,  
配置读写器,进行标签读取,具体详见 Rabbit 协议。  
Port选取 GPI 触发端口,在 GPI 模式下可配置  
EventGPI 触发电平,在 GPI 模式下可配置  
Period : 触发周期间隔,在 Periodic 模式下可配置当只触发一次时,此时值为 0.  
Offset触发前的时间偏移量  
UTC TimeUTC 时间为 0 是,首次触发时间是(时间事件+偏移量),当 UTC 不为 0  
是,首次触发时间为(UTC+偏移量)  
4.4 读写器停止模式设置  
读写器同样支持多种停止模式  
Duration 模式:周期停止,可以配合 Duration 触发使用  
GPI:  
模式 : 外部触发停止  
模式 : 不停止  
None  
TagObserveNTag 模式:到一定数量停止  
TagObserveNoMoreTag 模式: 没有再多的新标签停止  
Port选取 GPI 触发端口,在 GPI 模式下可配置  
EventGPI 触发电平,在 GPI 模式下可配置  
Duration: 触发停止的周期时间  
T: TagObserveNoMoreTag 模式下,判断有无新标签的时间窗  
N: TagObserveNTag 模式下,标签到达数量设定  
TimeoutGPI/TagObserveNoMoreTag/TagObserveNTag 模式下时时间设定。  
既在其他条件无法满足的情况下,设定最长的等待时间,随后停止读写器。  
4.5 Low duty 模式设置  
此功能可以让读写器定时休眠照一定频率唤醒果有标签写器持续工作如  
果没有标签,读写进入休眠状态antenna hub GPI 状态下,不支持低功耗模式)  
Empty Field Timeout 设置未读到标签的时长而进入休眠状态的时间阈值  
Field Ping Interval  
: 每次休眠的时长  
4.6 发射频点设置  
对于可以选择频点的读写器版本如 GX2 版本,可以设置 1 个或者多个发射频点。首先勾选  
使能框,使其功能使能。  
其次据列表择需要设置的频点点是根据不同国家法律规定动生成相应的频  
点列表。  
4.7 数据输出格式及内容设置  
对于数据输出及 GPI 触发事件等,可以以不同的格式和不同的内容进行定制化输出。  
GPI Event勾选上后,支持输出 Gpi Event 事件,消息格式: #gpi:port,state :#gpi:1,0;  
#gpi:2,1。  
Report Mode:如果需要实时获取数据,通常选用 Individual,  
如果需要数据内部整理后,吐数据,可以选用 BatchAfterStop,此功能常在工业领  
当产线使用四个天线读取标签时果出现天线端口间的串读以使用此功能并  
同时勾选 Antenna Port Peak RSSI这时上报的数据,是同一个 EPC 值,RSSI 最大所对  
应的天线端口号。  
Delimiter:分隔符设置  
Line Ending:行结束操作  
Antenna Port :勾选上后,输出数据含天线端口号  
TimesTamp:勾选上后,输出数据含时间戳  
Peak RSSI: 勾选上后,输出数据含 RSSI 值  
TID : 勾选上,输出数据含 TIDTID 长度和起始点可以设置  
User Memory:勾选上,输出数据含用户区,用户区长度和起始点可以设置  
Truncate EPC: 截断 EPC 值,可以根据需求截短。  
Reader Stop Report:勾选上,读停止后,输出指示标识  
Heatbeat  
:勾选上,输出心跳信号(***),心跳信号只在没有标签信息输出时,  
才会输出。Period 中设置为心跳输出周期。  
Data Prefix: 数据头设置。可以设定一个字符作为起始字符,此字符需要用 ascii 10  
进制输入。  
例: 如果需要以“#”开头,需要输入 “35”  
Data Suffix: 数据尾设置。可以设定一个字符作为结束字符,此字符需要用 ascii 10  
进制输入。  
例: 如果需要以“#”结尾,需要输入 “35”  
4.8 数据输出端口设置  
端口输出有如下几种模式可以选择:  
a 可以选择通过 RS232 端口输出,并设置速度,  
b 可以选择 TCP/IP 模式输出,设置端口号  
c 两种同时输出(在数据量很大时,建议只选择一种输出模式)  
d: HTTP post: 数据可以直接吐到相应网址  
4.9 数据软件去重  
在一定标签数量下,此功能用来实现对同样的 EPC 值或者 TID 值的标签,在设定时间  
内,只上报一次。  
当选用 TID 作为去重依据时,需要在Output: data中勾选 TID 选项。  
Read Window:设置去重时间窗  
Filter Field  
: 设置去重判断依据,可以选择 TID/EPC  
4.10 数据协议级过滤  
通过都 EPC 等相关条件的设置,可以实现特定标签的盘点,并支持两组过滤条件。  
Action: 选择下面设置条件是包含 include 还是不包含 exclued  
Memory Bank: 判断依据的数据来源,可以选择 EPCTIDUser  
Bit Point : 数据判断起始点。 通常 EPC 判断,是 32.  
Hex Mask16 进制掩码设置  
Mask Length: 2 进制计算的掩码长度  
4.11 GPO 输出设置  
可以通过 GPO 输出以获取目前读写器状态签读取状态等信息使用 antenna  
hub 时,无法使用此功能。  
CustomInventoryTagsStatus: StopTrigger TagObserveNTag N 设置为 1 读  
到标签时应的 GPO 端口产生一个脉冲信号续时间由 Pulse Duration 来设置省为  
10ms.  
Custom Reader Inventory Read Timeout: 当盘点结束时,如果没有读到标签,  
给指定的 GPO 端口发送高电平脉冲  
LLRP Connection Status: LLRP 连接状态显示接状态下GPO 设置为高电平使用  
Rabbit 情况下,LLRP 始终处于连接状态下  
Network Connection Status:当网络处于连接状态下,GPO 设置为高电平  
Reader Inventory status : 读写器处于盘点状态下,GPO 设置为高电平  
Reader Inventory Tag Status:读写器读到标签的情况下,GPO 设置为高电平  
Reader Operational Status:读写器上电后, GPO 设置为高电平。  
Pulsed : 设置输出为脉冲电平冲频率在 Pulse Duration 中设目前版本暂不支持。  
Pulse Duration :设置脉冲周期。  
4.12 网口与串口数据透传  
此功能便于上位机通过读写器进行网口和串口之间的数据透传现多设备通过读写器  
进行通讯。  
nts:xxxx\r\n  
stn:xxxx\r\n  
xxxx 表用户数据 网口收到此数据,将透传给串口  
xxxx 表用户数据 串口收到此数据,将透传给网口  
如果串口或网口没有开启,什么也不做。  
Rabbit 写标签配置及使用  
Rabbit 程序以通过发送写标签命令给读写器现标签信息的写入序最多可以  
同时输入 1500 条写指令,其中可以是普通写入,也可以是选择性写入。  
5.1 写标签配置  
写标签的配置读取标签的配置基本一直是在发送写标签指令时写器一定处  
于读标签模式,即用 command 模式下的 start/T00 或者 immediately 模式等,让读写器处  
于工作状态。  
模式配置:针对单标签,慢速写,可以选择 single target 模式; 针对多标签,可以选  
dual target 模式。  
命令返回配置于写标签时要对写标签动作状态进行反馈写成功或者未写成  
功等果需要写标签动作状态返回,可以在输出数据时,勾选 Command response  
命令。  
如果配置了发送命令响应,客户端可以收到命令响应信息,所有响应命令以+开头  
写命令的响应为:  
命令响应:成功时返回:+write:Ok,AccessSpecId ,失败时返回 +write:Failed,"出错信息"  
写入结果: +write:Ok/Failed,AccessSpecId,  
"写结果":  
0-Success  
1-TagMemoryOverrunError  
2-TagMemoryLockedError  
3-InsufficientPower  
4-NonspecificTagError  
5-NoResponseFromTag  
6-NonspecificReaderError  
7-Timeout  
写操作超时配置:  
操作操时支持两种模式  
--Timeout 超时时间,超过这个时间没响应的认为超时  
--Operand 操作数,队列中超过设定后,还没响应的认为超时  
5.2 写标签命令  
写命令,命令格式:  
write [d:Data,MemoryBank,WordPointer] t:[Data,MemoryBank,BitPointer] [e:EpcLen]  
--d: 写入数据,必选  
--t: 目标标签,可选  
--p: 访问密码,可选  
--e: 指定 Epc 字长,只有改写 Epc 数据时才有效,如果不指定这个参数,读写器会自动  
更新 Epc 长度, 可选  
数据说明:  
-- Data 16 进制字符串,长度必须能被 4 整除  
-- MemoryBank 内存区,取值 0-3,0-保留区,1-Epc,2-Tid,3-用户区  
-- WordPointer 指针,第一个字要写入的地方,如写入 Epc ,WordPointer 取值为 2  
-- BitPointer 指向开始比较的位的指针  
-- EpcLen长度是需要显示的 EPC 的字长如如果需要显示 EPC 长度为 96bits,  
那么此值应该为 6。如果为空,则不更改原有 EPC 显示长度。  
1:将 abcd0001,写入 EPC:  
write d:abcd0001,1,2  
2:将 abcd0001 写入 FFFF0101 开头的标签。  
write d:abcd0001,1,2 t:FFFF0101,1,32  
注意:红色字体 32 (由于 EPC 的前  
两个字有特殊用途,所以我们通常的 EPC 都是从 32 开始的)  
3: TID E2801160 开头的标签,其 access 密码是 11111111,写入用户区内容  
abcd0001  
write d:abcd0001,3,0 t:E2801160,2,0 p:11111111  
4: 10张标EPC值分别是 DDCC0001 DDCC0010的标签分别写入 DDAA0001  
DDAA0010. 此操作可以使用在写码机上  
注意,可以多指令输入,但是每个指令之间,要有分隔符。  
write d:DDAA0002,1,2 t:DDCC0002,1,32  
write d:DDAA0003,1,2 t:DDCC0003,1,32  
write d:DDAA0004,1,2 t:DDCC0004,1,32  
write d:DDAA0005,1,2 t:DDCC0005,1,32  
write d:DDAA0006,1,2 t:DDCC0006,1,32  
write d:DDAA0007,1,2 t:DDCC0007,1,32  
write d:DDAA0008,1,2 t:DDCC0008,1,32  
write d:DDAA0009,1,2 t:DDCC0009,1,32  
write d:DDAA0010,1,2 t:DDCC0010,1,32  
write d:DDAA0001,1,2 t:DDCC0001,1,32  
5: 12345678 写入 Epc,自动更新 PcBits,Epc 长度设置为 2  
write d:12345678:1:2  
6: 12345678 写入 Epc,但不会更新 PcBits  
write d:12345678:1:2 e:  
7: 12345678 写入 Epc,并更新 PcBits,Epc 长度设置为 3、  
write d:12345678:1:2 e:3  
8特定 TID E28001100 标签12345678 写入第一个 32bits87654321 写  
入第二个 32bits,将 12344321 写入第三个 32bits,最终显示 96bits  
write d:12345678,1,2 t:E28001100,2,0 e:  
write d:87654321,1,4 t:E28001100,2,0 e:  
write d:12344321,1,6 t:E28001100,2,0 e:6  
删除命令  
命令格式:delete [AccessSpecId]  
删除指定的 AccessSpec,不指定 AccessSpecId AccessSpecId 0 ,删除所有操作  
Rabbit 启动及应用配置  
6.1 Rabbit 支持软件启动和关闭。  
当应用启动时,无法通过 multireader 连接。  
Status 显示为红色时,标示此软件处于关闭状态  
Status 显示为绿色时,标示此软件处于开启状态  
6.2 Rabbit 配置应用  
当任何配置修改完成时,需要点击:  
此时会出现确认提示,点击确认:  
当看到应用确认后,标识配置应用完成,点击确定:  
6.3 配置导出/导入  
生成的配置信息可以直接导出,便于以后其他相同配置的导入  
点击“Save”按钮,可以将当前的配置信息导入:  
点击“Load”按钮,可以将已有的配置信息导入:  
6.4 license  
Rabbit 协议对于每一台读写器都有一个基于序列号的 license,输入地址如下:  
七 硬件连接及配套测试软件  
7.1 网口连接  
网络连接口:读写器标识为”ENTERNET”连接口  
7.2 串口连接口  
Impinj 读写器上 GPIO 口内部面含有 4 GPI 4 GPO 以及一个 RS232  
串口。DB15 接口图如下:  
八 版本更新说明  
V1.1: 更新的触发模式 command 停止模式说明,需要 1.0.1.6 以上版本。  
V1.2: 更新 commad 模式中 start 模式,需要 1.0.1.8 以上版本。  
V1.2.1: 注释 4.6 Data Prefix Data Suffix:。  
V1.3 : 增加 Command 模式中的 config 命令。需 1.0.2.0 以上版本  
增加 AdvancedGPI 模式。需 1.0.3.0 以上版本  
V1.3.1: advance GPO 中,增加 CustomInventoryTagsStatus 功能,需要 1.3.1 版本以上  
V1.4.1 增加 4.11 串口和网口数据透传功能 ,需要 1.0.3.7 以上版本。  
V1.4.2 增加发射频点选择功能,具体见功能 4.6,需要 1.0.3.9 以上版本  
V1.4.3 增加 4.1 盘点模式中的 AutoSetTurbo 模式强在高密度标签下的盘点准确率需  
1.0.4.0  
V1.5 增加写标签指令,需要 1.0.5 版本以上。  
V1.5.2 在写指令上,增加 EPC 显示长度指令,需要 1.0.5.2 以上版本  
V1.5.3 Advanced GPO 增加 Custom Inventroy Read Timeout 模式,当盘点结束时,如果没有读  
到标签,给指定的 GPO 端口发送高电平脉冲,需要 1.0.5.3 以上版本  
V1.5.5 数据输出方式,增加 HTTP post 功能,需要在 1.0.5.5 以上版本使用,读写器固件版  
本需要在 5.6.4.240 以上版本使用。  
V1.5.6 增加支持输出 Gpi Event 事件,需要在 1.0.5.6 以上版本使用。  
1 ASCII 表  
ASCII 可显示字符  
十进 十六进  
十进 十六进  
十进 十六进  
二进制  
图形  
(空格)  
(␠)  
二进制  
二进制  
0010 00  
00  
0100 00  
00  
0110 00  
00  
32  
20  
64  
40  
@
A
B
C
D
E
F
G
H
I
96  
60  
`
a
b
c
d
e
f
0010 00  
01  
0100 00  
01  
0110 00  
01  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
21  
22  
23  
24  
25  
26  
27  
28  
29  
2A  
2B  
2C  
2D  
!
"
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
41  
42  
43  
44  
45  
46  
47  
48  
49  
4A  
4B  
4C  
4D  
97  
61  
62  
63  
64  
65  
66  
67  
68  
69  
6A  
6B  
6C  
6D  
0010 00  
10  
0100 00  
10  
0110 00  
10  
98  
0010 00  
11  
0100 00  
11  
0110 00  
11  
#
$
%
&
'
99  
0010 01  
00  
0100 01  
00  
0110 01  
00  
100  
101  
102  
103  
104  
105  
106  
107  
108  
109  
110  
0010 01  
01  
0100 01  
01  
0110 01  
01  
0010 01  
10  
0100 01  
10  
0110 01  
10  
0010 01  
11  
0100 01  
11  
0110 01  
11  
g
h
i
0010 10  
00  
0100 10  
00  
0110 10  
00  
(
0010 10  
01  
0100 10  
01  
0110 10  
01  
)
0010 10  
10  
0100 10  
10  
0110 10  
10  
*
J
j
0010 10  
11  
0100 10  
11  
0110 10  
11  
+
,
K
L
k
l
0010 11  
00  
0100 11  
00  
0110 11  
00  
0010 11  
01  
0100 11  
01  
0110 11  
01  
-
M
m
0010 11  
10  
0100 11  
10  
0110 11  
10  
46  
47  
2E  
2F  
.
/
78  
79  
4E  
4F  
N
O
6E  
6F  
n
o
0010 11  
0100 11  
0110 11 111  
11  
0011 00  
00  
11  
0101 00  
00  
11  
0111 00  
00  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
3A  
3B  
3C  
3D  
3E  
3F  
0
1
2
3
4
5
6
7
8
9
:
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
91  
92  
93  
94  
95  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
5A  
5B  
5C  
5D  
5E  
5F  
P
Q
R
S
T
U
V
W
X
Y
Z
[
112  
113  
114  
115  
116  
117  
118  
119  
120  
121  
122  
123  
124  
125  
126  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
7A  
7B  
7C  
7D  
7E  
p
q
r
0011 00  
01  
0101 00  
01  
0111 00  
01  
0011 00  
10  
0101 00  
10  
0111 00  
10  
0011 00  
11  
0101 00  
11  
0111 00  
11  
s
t
0011 01  
00  
0101 01  
00  
0111 01  
00  
0011 01  
01  
0101 01  
01  
0111 01  
01  
u
v
w
x
y
z
{
0011 01  
10  
0101 01  
10  
0111 01  
10  
0011 01  
11  
0101 01  
11  
0111 01  
11  
0011 10  
00  
0101 10  
00  
0111 10  
00  
0011 10  
01  
0101 10  
01  
0111 10  
01  
0011 10  
10  
0101 10  
10  
0111 10  
10  
0011 10  
11  
0101 10  
11  
0111 10  
11  
;
0011 11  
00  
0101 11  
00  
0111 11  
00  
<
=
>
?
\
|
0011 11  
01  
0101 11  
01  
0111 11  
01  
]
}
0011 11  
10  
0101 11  
10  
0111 11  
10  
^
~
0011 11  
11  
0101 11  
11  
_