NFC 及本地密码管理

更新时间:2022-07-21 01:31:39下载pdf

背景信息

目前,用户主要使用钥匙、报警器面板等方式解锁车辆,出门携带十分不便,忘带的情况下无法使用车辆。故基于以上需求,涂鸦新增 NFC 及本地密码解锁方案,并且支持 App 管理及修改别名,让用户骑车更简单。

DP 配置

DP ID DP 名称 DP code 传输类型 数据类型 描述
81 NFC 卡号添加 nfc_id_input 可下发可上报(rw) string 下发数据:
  • 添加卡片:{“publish”:“1”}
  • 取消添加卡片:{“publish”:“0”}
上报数据:
  • 添加成功:{“upload”:“1”}
  • App 主动取消添加:{“upload”:“2”}
  • 本地取消添加:{“upload”:“4”}
  • 非认证卡:{“upload”:“5”}
  • 超过卡片数量限制:{“upload”:“6”}
82 NFC 卡号删除 nfc_id_delete 可下发可上报(rw) string 事件触发,删除某一张卡号。
下发: {“nfc_id”:“编号”}
上报:
  • 销卡成功:{“upload”:“1”}
  • 销卡失败:{“upload”:“0”}
83 NFC 卡号同步 nfc_id_sync 只上报(ro) string 上报格式:[{“nfc_id”:“ID”},{“nfc_id”:“ID”}]
84 NFC 卡号清空 nfc_id_reset 可下发可上报(rw) string 事件触发,删除某一张卡号。
下发: {“publish”:“1”}
上报:
  • 重置成功:{“upload”:“1”}
  • 重置失败:{“upload”:“0”}
87 密码创建 password_creat 可下发可上报(rw) raw 下发格式:{“pass_id”:“编号”,“pass”:“密码”},每次仅下发一组密码数据。
上报:
  • 创建成功:{“upload”:“1”}
  • 创建失败:{“upload”:“0”}
  • 超过数量限制:{“upload”:“2”}
88 密码删除 password_delete 可下发可上报(rw) raw 下发: {“pass_id”:“编号”}
上报:
  • 销卡成功:{“upload”:“1”}
  • 销卡失败:{“upload”:“0”}
89 密码同步 password_sync 只上报(ro) raw 上报格式:[{“pass_id”:“编号”,“pass”:“密码”},{“pass_id”:“编号”,“pass”:“密码”}]

NFC 交互解析

设备先进行 NFC 卡号同步,字段格式为:[{“nfc_id”:“”},{“nfc_id”:“”}],其中有几个 {} 则代表 App 及设备本地最多支持几个 NFC 卡片。当添加的卡片数量达到上限时,App 上添加的按钮禁用。如:设备最多支持 3 个卡片,则上报(nfc_id_sync):[{“nfc_id”:“”},{“nfc_id”:“”},{“nfc_id”:“”}]。

NFC 卡片添加

时序图如下所示:

NFC 及本地密码管理

交互流程图如下所示:

NFC 及本地密码管理

App 上会有 30s 倒计时动画,等待用户刷卡。在 30s 时间内用户刷卡成功,则设备上报(nfc_id_input):{“upload”:“1”},同时同步卡片信息(nfc_id_sync):[{“nfc_id”:“1234”},{“nfc_id”:“4321”},{“nfc_id”:“”}]。

当用户在 App 上主动退出添加,App 下发(nfc_id_input):{“publish”:“0”},此时设备上报(nfc_id_input):{“upload”:“2”},此时无需同步卡片信息。

其他异常情况(支持扩展,需增加 App 多语言字段:ty_outdoor_dp_nfc_id_input_id):

  • 本地取消添加(nfc_id_input):{“upload”:“4”}
  • 非认证卡(nfc_id_input):{“upload”:“5”}
  • 超过卡片数量限制(nfc_id_input):{“upload”:“6”}

NFC 卡片删除

时序图如下所示:

NFC 及本地密码管理

交互流程图如下所示:

NFC 及本地密码管理

在 App 单击删除卡片按钮后,App 下发(nfc_id_delete):{“nfc_id”:“编号”},此时设备收到数据后,本地删除对应编号的卡片信息,删除完成后设备上报(nfc_id_delete):{“upload”:“1”}。同时,同步卡片信息(nfc_id_sync):[{“nfc_id”:“1234”},{“nfc_id”:“”},{“nfc_id”:“”}]。如果设备本地删除失败,设备上报(nfc_id_delete):{“upload”:“0”},此时无需同步卡片信息。

NFC 卡片重置

时序图如下所示:

NFC 及本地密码管理

交互流程图如下所示:

NFC 及本地密码管理

在 App 单击重置按钮后,App 下发(nfc_id_reset):{“publish”:“1”},此时设备收到数据后,本地重置所有卡片信息,重置完成后设备上报(nfc_id_reset):{“upload”:“1”}。同时,同步卡片信息(nfc_id_sync):[{“nfc_id”:“”},{“nfc_id”:“”},{“nfc_id”:“”}]。如果设备本地重置失败,设备上报(nfc_id_reset):{“upload”:“0”},此时无需同步卡片信息。

密码交互解析

设备先进行密码信息同步,字段格式为 [{“pass_id”:“编号”,“pass”:“密码”},{“pass_id”:“编号”,“pass”:“密码”}],其中有几个 {} 则代表 App 及设备本地最多支持几个密码。当添加的密码数量达到上限时,App 上添加的按钮禁用。如:设备最多支持 2 个密码,则上报(password_sync):[{“pass_id”:“”,“pass”:“”},{“pass_id”:“”,“pass”:“”}]。

添加密码

时序图如下:

NFC 及本地密码管理

交互流程图如下:

NFC 及本地密码管理

在 App 单击添加按钮后,App 会弹窗让用户输入 4 位密码,用户输入完成后 App 会下发(password_creat):{“pass_id”:“001”,“pass”:“1234”}。此时设备收到数据后,本地存储密码相关信息,上报创建成功(password_creat):{“upload”:“1”}。同时,同步本地所有的密码信息(password_sync):[{“pass_id”:“001”,“pass”:“1234”},{“pass_id”:“”,“pass”:“”}]。

其他异常情况(支持扩展,需增加 App 多语言字段:ty_outdoor_dp_password_creat_id):

  • 创建失败(password_creat):{“upload”:“0”}
  • 超过数量限制(password_creat):{“upload”:“2”}

删除密码

时序图如下:

NFC 及本地密码管理

交互流程图如下:

NFC 及本地密码管理

在 App 单击删除密码按钮后,App 下发:password_delete:{"pass_id":"001"},此时设备收到数据后,本地删除对应编号的密码信息。删除完成后,设备上报:password _delete:{"upload":"1"}。同时,同步密码信息:password_sync:[{"pass_id":"","pass":""},{"pass_id":"","pass":""}]。如果设备本地删除失败,设备上报:password_ delete:{"upload":"0"},此时无需同步密码信息。

  • 密码相关功能点均为 raw 类型。
  • raw 类型功能点云端不存储,需要设备联网后初始化本地数据上报。