零售防盗实时地图:RFID 读写器、出口与盲区
零售防损软件实例:演示门店如何把三层楼的 85 台 RFID 读写器上图,按活跃度脉冲显示,发现收货码头的离线门禁,并把这一切归入一个 Anti-theft 解决方案。


要点
防损是一个“在哪里”的问题
RFID 防损成败取决于覆盖。标签从读写器失灵的门离开,就等于隐形 —— 不管系统其他部分多好。读写器软件通常只在设备列表里告诉你某台离线,却很少告诉你哪个通道因此无人看守。把读写器放上平面图,一眼就能看出答案。
Spatial Map 不是 EAS 或 RFID 系统,也不会拉响警报。它是叠加在你现有读写器之上的地图、报表和历史记录 —— 与防盗解决方案页面的思路相同,这里用真实的演示数据展示。
门店与读写器
Retail Mart Store 是一家三层的演示门店(Ground、Level 1、Level 2),有品类区、货架、扶梯和电梯。每台 RFID 读写器都是一个以覆盖通道命名的标记 —— RFID-G-01 · Receiving / Loading Docks ↔ Outside、RFID-G-26 · Bakery ↔ Deli —— 看名字就知道该往哪儿走。以下数字均于 2026 年 10 月 11 日从演示数据中读取。
| 位置类型 | 读写器数 | 位置 |
|---|---|---|
| Gate | 66 | 房间之间的门、出入口、收货码头 |
| Escalator | 9 | 扶梯平台 |
| Elevator | 9 | 电梯门 |
| Stairs | 1 | 一处楼梯平台 |


标签读取如何进入系统
读取数据写入一张数据表:Retail Mart · RFID Reader Reads —— 85 行、18 个字段,以 RFID tag 类型创建。Reader ID 必填且唯一,是行键。演示数据每台读写器保留一行累计数据,而不是每次标签读取一行,这样地图更轻、报表更快。其中一行:
{
"reader_id": "RFID-G-02",
"reader_name": "RFID-G-02 · Office ↔ Receiving / Loading Docks",
"reader_type": "Gate",
"floor": "Ground",
"status": "Active",
"reads_today": 590,
"reads_last_hour": 56,
"unique_tags_today": 288,
"in_count_today": 294,
"out_count_today": 296,
"last_read_at": "2026-10-08T09:25:12Z",
"last_tag_epc": "E2801121130DB42AB66C7A7B",
"last_sku": "SKU-339201 Frozen Peas 1kg",
"last_direction": "Out",
"alerts_today": 2,
"rssi_dbm": -59.4,
"firmware": "4.2.1",
"elevation_m": 2.4
}你的读写器中间件(或一个小桥接脚本)用以下两种方式之一保持这些行最新:
- 1用写入 API 推送
在表的 API & access 标签页创建密钥 —— 每个系统一个,方便单独吊销而不影响其他系统 —— 并作为 Bearer Token 发送。每个密钥每分钟限 60 次请求,批量端点每次最多 1,000 行,所以应每隔几秒把 85 台读写器合并成一次调用,而不是每次读取调用一次。`PATCH /rows/bulk` 只合并你发送的字段。
- 2或让 Spatial Map 拉取
在同一标签页开启 Pull from a REST API。Spatial Map 会按计划拉取你的 URL(最快每 30 秒一次),并对返回的每一项执行写入或更新。
curl -X PATCH https://<your API host>/api/v1/public/tables/rows/bulk \
-H "Authorization: Bearer sgv_tbl_..." \
-H "Content-Type: application/json" \
-d '{"rows": [
{"entityKey": "RFID-G-02", "patch": {"status": "Active", "reads_last_hour": 56, "reads_today": 590,
"last_read_at": "2026-10-08T09:25:12Z", "last_direction": "Out"}},
{"entityKey": "RFID-G-01", "patch": {"status": "Offline", "reads_last_hour": 0}}
]}'从零开始?在 Create new table 页面的“What kind of data is this?”中选 RFID tag;新表会带上该类型的标准列,可重命名或删除。


上图:Pulsing zone activity
数据联动 RFID reader activity 把数据行变成可视元素(显示模式):
- Display mode:Pulsing zone activity —— 每台读写器处有一个动画圆环和计数徽标,徽标显示 `reads_last_hour`。
- Attach to shapes —— 形状类型 marker,Match by attribute:`reader_name` ↔ 标记名称。
- Floor scope:From record —— `floor` 字段把 Ground、Level 1、Level 2 映射到门店的三张平面图,每台读写器显示在自己的楼层。
- Map tooltip —— 触发方式 Hover,点击时 Open tooltip / content panel,包含从 Reader ID 到固件版本的 16 个字段。
| 样式规则 | 条件 | 颜色 | 优先级 |
|---|---|---|---|
| Retail · RFID offline | status 等于 Offline | 红色 | 10 |
| Retail · RFID idle | status 等于 Idle | 灰色 | 20 |
| Retail · RFID active | status 等于 Active | 紫色 | 30 |


RFID Live Map 报表
Retail Mart · RFID Live Map 是一份全地图报表:左侧读写器列表,顶部指标卡,右侧 Insights 面板,中间是门店。筛选项:Floor、Status 和 Search by reader。
- 指标:Rows 85 · Total reads today 61,795 · Total reads last hour 6,700 · Total unique tags today(按读写器求和,同一标签被两台读写器看到会计两次)。
- 按状态:Active 81.2%、Idle 14.1%、Offline 4.7%。
- 各楼层今日读取:Ground 31,401 · Level 1 12,681 · Level 2 17,713。
- 选中一层平面图时,列表显示该层 39 台读写器,各带状态和今日读取次数。


演示数据揭示了什么
- 有 4 台读写器离线,其中 3 台守着收货码头:RFID-G-01(码头 ↔ 室外,最后读取于 10 月 8 日 04:30 UTC)、RFID-G-15 和 RFID-G-16(码头 ↔ 食品区)。货物正是从这扇门进来的 —— 这是最先要补上的缺口。
- 第 4 台 RFID-L2-22 位于 Level 2 的 Music & Books 与 Entertainment & Media 之间。
- 12 台读写器处于空闲。空闲不等于故障,但营业时间出口处的空闲读写器值得去看一眼。
- 读写器今天共上报 38 次出口告警。Exit alerts today 字段把每个次数挂在触发它的读写器上,在内容面板里一点即见。
归组:Anti-theft 解决方案
- 1点击 Solutions 旁的 +
在侧边栏的工作区页面下方。
- 2选择 Anti-theft
“RFID tags, gates, cameras and alarm events.” 它的关键词 —— theft、security、rfid、tag、alarm、gate、camera、alert —— 会预先勾选名称匹配的条目:RFID Reader Reads 表、RFID Live Map 报表和 RFID Reader Reads 报表。
- 3手动勾选门店
Retail Mart Store 的名称不含任何关键词,所以要在 Facilities 标签页手动勾选,然后点击 Create solution。
不会移动或复制任何东西 —— 同一家门店也可以同时属于 Retail 解决方案。解决方案有自己的首页、侧边栏入口和范围栏。参见解决方案。


零额外工作的审计记录
对数据表行的每次写入都会记录在变更日志中。在查看器的详情抽屉中打开一台读写器,其历史会列出每次更新及变更的字段 —— 有人问 RFID-G-01 何时开始沉默时很有用。参见查看器中的数据表历史。
动手搭建你自己的
创建一张数据表并为写入 API 生成密钥,用样式规则完成联动,添加一份全地图报表,再归入一个解决方案。读写器与天线布置见把 RFID 读写器接入室内地图;同一家门店的库存与冷链见零售货架监控实时地图。
让数据落到该在的平台上。
Spatial Map 把电子表格、传感器数据流和 CAD 图纸融合成一张实时的 3D 场地视图 —— 无需安装,七天免费试用。
在线演示
继续阅读
- 应用场景在实时地图上运营机场航站楼:RFID 行李牌、排队与登机口航站楼靠一次次交接运转:从值机到安检,从登机口到行李转盘。每次交接都发生在某个位置,所以都应该落在地图上。下面看看我们的 Silverbay 2 号航站楼演示,如何把行李牌、排队、登机口和拥挤度放进一张两层实时视图。
- 应用场景在实时地图上掌握越库中心与堆场:月台门、挂车与闸口越库中心靠节奏运转:哪个月台门正在作业,哪辆挂车在堆场停得太久,哪条闸口车道开始排队。把建筑和堆场放进同一张实时地图,这些答案一眼可见。下面以我们的 Eastport Cross-Dock Freight Hub 演示为例讲解做法。
- 应用场景医药冷库与质检一张实时地图:温区、温度偏差与质检冻结探头编号、门编号和样品编号,只有在你能看到它们属于哪个房间、哪个月台、哪个货架时才真正有用。本文以我们两层楼的 Polar Pharma 演示为例,介绍医药冷库与质检区如何在一张实时地图上运行。