看起来最简单的部件,出事最多

扫码开门的技术链路很短:用户扫门上的二维码,手机带着身份信息请求服务端,服务端校验订单有效性,下发开门指令,门锁动作。四步,任何一步出问题都表现为「门打不开」,而用户只会说一句话:你们这系统不行。真正难的不是开通,是边界条件:断网了怎么办、码被人拍照发群里怎么办、四个人同时扫同一张码怎么办、用户手机没信号怎么办、门禁控制器重启到一半怎么办。这些场景在设计阶段不想清楚,上线后一条一条变成工单。

静态码与动态码:一张贴在门上的码能撑多久

静态码就是一张固定的二维码,贴在门上或立柱上,所有人扫的都是同一个。它的优点是成本几乎为零、不怕断网、不怕贴纸磨损(可以换),缺点是码一旦泄露,理论上任何人都能扫。静态码的安全性完全依赖服务端校验。也就是说,扫码只是「发起请求」,真正的鉴权发生在服务端:这个用户有没有此刻有效的订单、订单是否在这个门、是否在允许的时间窗内。只要服务端校验严格,静态码本身泄露不构成风险——因为攻击者扫了也拿不到开门的资格。

动态码是屏幕上滚动的二维码,每隔几十秒刷新一次,扫到过期码直接失效。它适合两种场景:一是高安全等级场所(贵重设备、危险区域),二是需要「扫码即绑定」的场景(比如首次进场地要绑定身份)。动态码的代价是成本和故障点:要一块屏、要供电、要网络同步时间、屏坏了就没法开门。户外场景尤其不适用,阳光直射下屏看不清,冬天低温屏反应慢。多数无人值守场所用静态码加严格的服务端校验就够了,不要为了「看起来高级」上动态码,把可用性搭进去。

离线校验:断网时还认不认人

这是选型的第一硬指标。门禁控制器断网后有两种表现:一是彻底失效,只能人工开门;二是按本地缓存的白名单或订单放行,并记录,恢复后上传。离线能力的实现方式有两种。一种是本地缓存用户白名单,适合长期会员,一次下发长期有效;另一种是本地缓存订单时段表,适合按时段预约的场景,需要提前把未来若干小时的订单下发到设备。共享球场、自习室这类预约制场所,用订单时段表更准。

要问清三个参数:本地能存多少条记录、断网多久后缓存失效、恢复联网后记录是否自动补传。第一条决定断网期间的数据完整性,第二条决定长时间断网后的行为,第三条决定对账能不能做平。还要注意离线状态下的「拒绝」行为。断网时一个没有有效订单的人来扫码,系统应该明确拒绝并给出提示,而不是「静默无响应」。用户分不清「没权限」和「设备坏了」,静默会引发大量投诉电话。

防截图与防重放

二维码被拍照转发,是共享空间最常见的薅羊毛方式。防的手段有三层,从弱到强。第一层是服务端时段校验:订单只在有效时段内、只在指定门禁上有效。这一层最有效,即使码被转发,非订单本人也进不去(因为还要校验用户身份)。前提是扫码后要带用户身份,而不是只带一个订单号。

第二层是动态令牌:二维码内容里带一个短期签名,有效期三十秒到两分钟。截图转发出去,等对方打开时已经过期。这一层对静态码不适用,需要屏或者需要每次刷新。第三层是行为风控:同一张码在短时间内被不同账号扫、同一账号在异地扫、扫码后未在合理时间内进门,这些都可以作为风险信号触发二次验证(比如要求输入手机后四位)。

重要提醒:不要用「一次性码」做门禁主方案。一次性码意味着每次开门都要联网生成,断网即不可用,而且用户操作步骤变多。一次性码适合临时访客和远程开门,不适合日常通行。

并发:四个人同时扫同一张码

这是团队场景的真实问题。一场球四个人,发起人订的场,到了门口四个人一起扫同一张门上的码,四个请求几乎同时到达。服务端的处理要明确三件事:一是幂等,同一个人短时间重复扫码不重复下发开门指令,也不重复扣费;二是限流,同一门禁每秒的请求数要有上限,超了排队而不是丢弃;三是并发授权,四个不同用户扫同一门禁,只要各自有有效授权,都应该放行,不能因为「已经开过一次」就拒绝后面的人。

硬件侧的并发瓶颈往往在继电器和电源,而不是软件。多门同时动作时瞬时电流大,电源余量不足的表现是「偶尔一扇门不开」。这一点在选型和施工阶段就要按峰值配电源,不能按均值。还有一个隐藏的并发问题是「开门超时」。电磁锁持续通电超过几分钟会发热,控制器要有开门超时保护(一般五到十秒自动断),否则线圈烧毁是小,门锁粘死是大。

读头选型与安装位置

读头分两类:一类是二维码读头(摄像头加解码),一类是二维码加 IC 卡双模。双模的成本高一些,但对老人、外卖员、保洁这类不方便用手机的人群很有必要。纯二维码读头在断网加手机没电时会彻底没办法。

安装高度建议一米二到一米四,正对用户站立位置,略微下倾。太高需要抬手,太低需要弯腰,都会显著降低一次扫码成功率。户外安装要加遮光罩,直射阳光下摄像头过曝,扫不出来。补光要慎用。红外补光在夜间能提升识别率,但会招虫,长期使用镜头容易脏。更实际的做法是让门禁位置本身有照明,或者在读头上方装一盏小功率常亮灯。最后一条容易被忽略:二维码贴纸的材质。普通打印纸覆膜,三个月就起边发黄。用户扫不出来会以为是系统坏了。用亚克力或金属蚀刻的码牌,成本几十块,寿命几年,这是投入产出比最高的一笔钱。

常见问题

门禁控制器和扫码读头一定要同一品牌吗?

不必须,但强烈建议。扫码读头与控制器之间常见的接口是韦根和 RS485,韦根是标准协议可以跨品牌,但实际使用中跨品牌偶发丢码;RS485 多为私有协议,跨品牌基本不通。省下的差价不够一次现场排查。

用户手机没信号扫不出来怎么办?

三个兜底:门禁支持 IC 卡或人脸作为备用凭证;门禁旁贴一张提示,说明可用 WiFi 或请拨打服务电话;控制器侧提供一个「本机临时码」入口,由客服在系统内生成短期有效的授权。三选一即可,多数场所用第一种。

扫码后门开了但记录丢了,怎么查?

看控制器的本地存储和上传机制。支持离线记录的设备会先写本地再上传,断网恢复后补传;不支持的设备在断网期间直接丢记录。选型时问「本地能存多少条」,按日均通行次数乘以最长断网天数算。

能不能用微信小程序直接开门,不用扫码?

能,走近场加蓝牙或远程开门都可行。但要注意远程开门的滥用风险:用户可以在家点开门让朋友进。远程开门应只开放给管理员和临时授权场景,日常通行还是扫码或蓝牙更可控。

一个控制器最多带几个读头?

看控制器规格,常见的四门控制器带四个读头、八门带八个。要注意的是通信总线负载和电源余量,不是接口数量。八门满配时建议双电源或者集中电源加电池,按峰值电流配,别按额定值配。

全国服务热线:400-6537-085