μFR纳米在线日志和访问控制模式 #
如何开启日志模式? #
- 登录到 μFR 在线日志和访问控制模块在线 WEB 配置器 GUI。
- 启用 主模式 (如果尚未启用)。
- 单击保存并重新启动选项以应用更改。
- 启用日志模式(仅在启用主模式后可见)
如何开启访问控制模式? #
- 登录到 μFR 在线日志和访问控制模块在线 WEB 配置器 GUI。
- 启用日志模式。
- 启用访问控制模式(仅在先前启用日志模式时可用)。
- 从电源关闭 μFR 联机
- 连接访问控制板。
- 从电源打开 μFR 联机
在连接门禁控制板之前,必须启用访问控制模式。
访问控制模式附加选项 #
- 继电器脉冲时间:继电器输出方波脉冲多少毫秒
- 继电器脉冲频率:方波输出频率,单位:Hz
- 继电器脉冲功率:方波输出功率(占空比)
- 继电器活动时间:方波脉冲后保持输出高电平多少毫秒
用例 #
本节将介绍两个主要用例场景。
-
无访问控制的日志模式 #
启用日志模式并确保禁用访问控制模式。
- 导航到日志模式部分,然后单击编辑按钮。
- 输入日志服务器主机 URL。
- 单击"保存"按钮。
- 单击保存并重新启动按钮。
- 日志模式现在可供使用。
下表将根据黑名单或白名单描述允许或拒绝哪些卡。
场景 |
允许/拒绝 |
同时清空白名单和黑名单 |
允许所有卡 |
白名单空白,黑名单不空白 |
除列入黑名单的卡外,允许使用所有卡 |
白名单不为空,黑名单空白 |
只允许列入白名单的卡 |
白名单和黑名单都不为空 |
仅允许未列入黑名单的白名单卡 |
启用独占白名单 |
仅允许未列入黑名单的白名单卡(在专业模式下,除列入黑名单外,只允许列入白名单的公司卡) |
如果允许使用卡,读卡器将发出哔哔声,绿灯将亮起。 如果卡被拒绝,读卡器将不会发出哔哔声,红灯将亮起。 |
-
具有访问控制的日志模式 #
启用日志模式并确保已启用访问控制模式。
- 导航到日志模式部分,然后单击编辑按钮。
- 输入日志服务器主机 URL。
- 单击"保存"按钮。
- 单击保存并重新启动按钮。
- 具有访问控制的日志模式现已准备就绪,可供使用。
场景 |
允许/拒绝 |
白名单和黑名单都清空 |
所有卡都被拒绝(在专业模式下,允许所有公司卡) |
白名单空白,黑名单不空白 |
所有卡都被拒绝(在专业模式下,除黑名单外,允许所有公司卡) |
白名单不为空,黑名单空白 |
只允许列入白名单的卡片(在专业模式下,除列入黑名单外,允许所有公司卡片) |
白名单和黑名单都不为空 |
仅允许未列入黑名单的白名单卡(在专业模式下,除列入黑名单外,允许所有公司卡) |
启用独占白名单 |
仅允许未列入黑名单的白名单卡(在专业模式下,除列入黑名单外,只允许列入白名单的公司卡) |
如果允许使用卡,读卡器将发出哔哔声,绿灯将亮起。 此外,门禁控制板将触发继电器,发出一次哔哔声并打开外部 LED 环。 如果卡被拒绝,读卡器将不会发出哔哔声,红灯将亮起。 此外,门禁控制板将打开外部 LED 环。 |
下表将根据黑名单或白名单描述允许或拒绝哪些卡。
如何连接门禁控制板? #
还有一根预制电缆,用于连接μFR Online和访问控制板。
注意:在连接控制板之前,必须启用访问控制模式,否则蜂鸣器将始终启用。
读取器内日志格式 #
所有日志事件都以人类可读的 JSON 格式存储。
存储在μFR在线阅读器中的日志示例:
{“日志”:[ {“id”:1,“uid”:“11223344”,“时间”:“2022-08-15 06:56:02”,“delta”:16,“类型”:0,“读者”:1,“状态”:0}, {“id”:2,“uid”:“AABBCCDD”,“时间”:“2022-08-15 06:56:04”,“delta”:18,“类型”:0,“读者”:1,“状态”:2} ]} |
|
JSON 键/节点名称 |
D标注 |
日志 |
包含日志事件的主父节点 |
id |
唯一的自动增量日志事件 ID |
Uid |
卡唯一标识 |
Pid |
个人身份证。 仅在专业模式下可用 |
时间 |
以 UTC 格式记录事件日期/时间 |
三角洲 |
两个日志事件之间的时差 |
类型 |
始终为 0,保留供将来使用 |
读者 |
如果内部读卡器已读取卡,则为 1,如果外部读卡器已读取,则为 2 |
状态 |
|
读者内白名单/黑名单格式 #
白名单和黑名单以人类可读的JSON格式存储。
存储在μFR在线阅读器中的白名单示例:
{ “白名单”:[“11223344”, “AABBCCDD”], “时间戳”:1660492955 } |
|
JSON 键/节点名称 |
D标注 |
白名单 |
包含逗号分隔格式的白名单 UID 的节点 |
时间 戳 |
当前存储的白名单时间戳 |
存储在μFR在线阅读器中的黑名单示例:
{ “黑名单”:[“11223344”, “AABBCCDD”], “时间戳”:1660492955 } |
|
JSON 键/节点名称 |
D标注 |
黑名单 |
包含以逗号分隔格式列入黑名单的 UID 的节点 |
时间 戳 |
当前存储的黑名单时间戳 |
日志和访问控制模式流程图 #
日志和访问控制模式下有两个主要事件。
-
读卡事件 #
-
读取器/服务器同步(每 60 秒) #
HTTP(S) 服务器请求和响应协议 #
-
实时事件协议 #
实时事件以人类可读的 JSON 格式发送到服务器。 从读取器到服务器的实时事件请求示例:
对服务器的读取器 HTTP(S) 请求 |
|
{ “RTE”: [{ “id”:83,pid“:10,uid”:“AABBCCDD”,“时间”:“2022-08-16 07:45:01”,“delta”:89349,“类型”:0,“读者”:1,“状态”:1 }], “whitelist_timestamp”:1660492955, “blacklist_timestamp”:1660492955 } |
|
JSON 键/节点名称 |
D标注 |
即食 |
包含实时事件的父节点 |
有关 RTE 子节点的详细信息,请阅读读取器内日志格式 |
|
whitelist_timestamp |
当前读取器内存储的白名单时间戳 |
blacklist_timestamp |
当前读取器中存储的黑名单时间戳 |
读取器的序列号、IP 地址和固件版本在 HTTP POST 标头中以“OSN”、“SN1”、“SN2”、“IP”、“FW”、“FW1”、“FW2”的形式发送 |
服务器对读取器的 HTTP(S) 响应 |
|
{ “last_id”:79, “时间”:1660636893, “黑名单”:[“AABBCCDD”], “blacklist_timestamp”:1660636882, “白名单”:, “whitelist_timestamp”:1660636882, “update_fw”:[“11223344”][“2.8.2”, “5.0.71”, “5.0.70”] } |
|
JSON 键/节点名称 |
D标注 |
last_id |
存储在服务器上的最后一个日志事件 ID。 读取器将发送 ID 大于 last_id 的所有日志事件 |
时间 |
选。 如果发送服务器时间戳,读取器会将内部 RTC 时间与服务器时间同步 |
黑名单 |
选。 如果发送服务器黑名单,阅读器将用新收到的黑名单替换当前存储的黑名单。 |
blacklist_timestamp |
如果发送黑名单,则此参数是必需的。 读取器将用新收到的blacklist_timestamp替换当前存储的。 |
白名单 |
选。 如果发送了服务器白名单,读取器将用新收到的白名单替换当前存储的白名单。 |
blacklist_timestamp |
如果发送白名单,则此参数是必需的。 读取器将用新收到的whitelist_timestamp替换当前存储的。 |
update_fw |
此参数是可选的。 它包含在读取器固件中更新的请求。 如果发送此参数,读取器将触发固件更新过程。 第一个元素包含μFR Online固件,第二个元素包含UART1读取器,第三个元素包含UART2读取器。 如果数组元素为空字符串,则不会触发更新。 |
-
日志事件协议 #
日志事件以人类可读的 JSON 格式发送到服务器。
从读取器到服务器的实时事件请求示例:
对服务器的读取器 HTTP(S) 请求 |
|
{ “日志”:[{ “id”:83,pid“:10,uid”:“AABBCCDD”,“时间”:“2022-08-16 07:45:01”,“delta”:89349,“类型”:0,“读者”:1,“状态”:1, “id”:84,pid“:10,uid”:“AABBCCDD”,“时间”:“2022-08-16 07:45:01”,“delta”:89349,“type”:0,“reader”:1,“status”:1 }]} |
|
JSON 键/节点名称 |
D标注 |
日志 |
包含日志事件数组的父节点 |
有关日志的详细信息,子节点读取读取器中日志格式 |
每当从服务器接收到“last_id”参数(实时事件响应或读取器/服务器同步响应)时,都会发送日志事件。
-
读取器/服务器同步协议 #
日志事件以人类可读的 JSON 格式发送到服务器。
从读取器到服务器的实时事件请求示例:
对服务器的读取器 HTTP(S) 请求 |
|
{ “whitelist_timestamp”:1660636882, “blacklist_timestamp”:1660636882 } |
|
JSON 键/节点名称 |
D标注 |
blacklist_timestamp |
当前读取器内黑名单时间戳 |
whitelist_timestamp |
当前读取器内白名单时间戳 |
PHP 和 MySQL 服务器脚本 #
有预构建的PHP和MySQL脚本可以托管在服务器上。 它可以轻松实现日志和访问模式的服务器端部分。 它可以处理实时事件、日志事件和读取器-服务器同步请求。
-
MySql 数据库结构 #
“事件”表 |
|
列名称 |
列说明 |
id |
唯一的日志事件 ID |
Uid |
卡片用户界面 |
Pid |
个人身份证。 可用于识别具有多个卡 UID 的同一用户 |
时间 |
事件时间戳 |
三角洲 |
两个事件之间的时差 |
类型 |
始终为 0,保留供将来使用 |
状态 |
事件状态 |
OSN |
μFR 在线序列号 |
SN1 |
内部连接的 μFR NFC 读卡器序列号 |
锡2 |
外部连接的 μFR NFC 读卡器,序列号 |
读者 |
|
即食 |
|
“读者”表 |
|
列名称 |
列说明 |
OSN |
μFR 在线序列号 |
描述符 |
μFR 在线阅读器描述符。 默认值为空 |
锡2 |
外部连接的 μFR NFC 读卡器序列号 |
whitelist_on_server |
服务器上上次修改白名单的时间戳。 通过user_after_update触发器自动更新 |
whitelist_in_reader |
存储在读取器中的白名单时间戳。 通过发送的 HTTP POST 自动更新 读者 |
blacklist_on_server |
服务器上上次修改黑名单的时间戳。 通过user_after_update触发器自动更新 |
blacklist_in_reader |
存储在读取器中的黑名单时间戳。 通过发送的 HTTP POST 自动更新 读者 |
IP |
存储在读取器中的黑名单时间戳。 通过发送的 HTTP POST 自动更新 读者 |
online_firmware |
当前 μFR 在线固件版本。 通过发送的 HTTP POST 自动更新 读者 |
reader1_firmware |
UART1 固件版本上的当前 μFR。 通过发送的 HTTP POST 自动更新 读者 |
reader2_firmware |
UART2 固件版本上的当前 μFR。 通过发送的 HTTP POST 自动更新 读者 |
requested_online_firmware |
如果此字段已填充且与online_firmware不同,则将向读取器发送更新请求 |
requested_reader1_firmware |
如果此字段已填充且与reader1_firmware不同,则将向读取器发送更新请求 |
requested_reader2_firmware |
如果此字段已填充且与reader2_firmware不同,则将向读取器发送更新请求 |
新读者会自动添加到每个读者事件中。 例如,如果将新读取器连接到网络并设置了日志模式主机 URL,则在首次发送事件时将动态添加新读取器。 **请勿手动添加读取器 |
“用户”表 |
|
列名称 |
列说明 |
Uid |
卡唯一标识 |
Pid |
个人身份证。 可用于识别具有多个卡 UID 的同一用户 |
描述 |
用户说明。 可以使用例如。以设置名字和姓氏。 |
图像 |
二进制格式的用户图像 |
*ON123456 |
序列号为 ON123456 的 μFR 在线阅读器示例。 此字段用于将此阅读器上的当前用户列入白名单或黑名单 |
*ON654321 |
序列号为 ON654321 的 μFR 在线阅读器示例。 此字段用于将此阅读器上的当前用户列入白名单或黑名单 |
新读者会自动添加到每个读者事件中。 例如,如果将新读取器连接到网络并设置了日志模式主机 URL,则在首次将事件作为新列发送时,将动态添加新读取器。 如果添加了新读取器。 *示例阅读器。 **请勿手动添加读取器。 |
“debug_log”表 |
|
列名称 |
列说明 |
id |
唯一的调试标识 |
OSN |
μFR 在线序列号 |
日志 |
从读取器发送到服务器或从服务器发送到读取器的原始 POST 数据 |
时间 |
当前服务器时间戳 |
方向 |
FROM_SERVER – HTTP 服务器响应FROM_READER – HTTP 读取器请求 |
仅当在 PHP 脚本中启用了“DEBUG”标志时,才会填充调试日志表 |
-
PHP 脚本流程图 #