APP下载

物联网环境下共享公寓系统的研究①

2020-09-18侯礼宁郭伟洁

高技术通讯 2020年8期
关键词:电子锁系统管理身份证

王 兴 侯礼宁 郭伟洁

(* 中国科学院大学 北京 100049) (** 太原科技大学计算机科学与技术学院 太原 030024)

0 引 言

随着共享经济[1]的出现,共享单车、共享汽车、共享公寓、共享平台等也随之产生。其中,共享公寓[2]是指以获得一定报酬为主要目的,基于房屋使用权暂时转移的一种新的经济模式,其本质是整合线下的闲散房屋资源,包括公寓、民宿、住宅等。共享公寓多借助互联网平台发布,让人足不出户就能了解公寓的价格、装修方式等信息,能够更好地整合现有资源,实现资源优化配置,是共享经济的一种。共享公寓解决了房地产市场非买即租的消费模式,它提供洗衣机、厨房等生活设施,满足了人们的多样化需求,为学生、上班族、旅游者、出差人群带来了便利,对于房东也是一种较为理想的投资方式。2018年3月1日,共享公寓在临沂兴起,已有60多家运营企业,这种新兴的共享方式推出后,受到了商务人士和年轻人的欢迎。2018年4月10日,福建平潭制定并出台了《平潭综合实验区旅游民宿管理办法(试行)》,申办民宿证件需符合相应要求,对消防安全、卫生安全等进行指导和规范,明确旅游民宿的办证程序。2018年11月8日,陕西西安发放民宿营业执照,迈出民宿合法经营一大步,促进了西安民宿规范快速健康发展。同日,江苏如皋颁发民宿营业执照,标志着如皋市民宿迈入“正规军”行列,对民宿经营的审批和日常监督管理工作进入法治化、规范化轨道。从目前来看,这种新兴租住服务,正在被人们慢慢接受,满足了现代社会人们对住房的多样化需求。

共享公寓在盘活闲置房源,提高资源配置效率的同时,也存在不少管理问题。例如,房间状态远程监管难、登记与入住人员信息不相符、房间与多网络管理平台难对接、房间管理人工投入大、分散房间不好管理等问题。针对这些问题,同时考虑技术方法与经济指标合理结合,软件设计与硬件实现的复杂情况,本文采用物联网技术手段,对共享公寓管理系统进行研究,设计该系统的体系结构、管理软件、电子锁、通信协议、指令功能,实现二代身份证实名化开锁和远程无线对电子锁的监控管理。

1 共享公寓系统的构建

计算机技术、电子信息技术和物联网技术的发展,使得在网络环境下的软件和硬件技术日趋成熟。对于共享公寓系统的建立,可行的方法很多。在此,本文研究设计了一种共享公寓系统。该系统从体系结构上可分为3层,分别为硬件层、管理层和应用层,如图1所示。

图1 共享公寓系统结构示意图

1.1 硬件层

硬件层为整个管理系统的最底层,由电子锁和路由器组成。

(1)电子锁

电子锁一方面作为房间的锁具存在,另一方面作为通信设备传递着开锁信息、开锁状态、带电量等指令信息。电子锁是整个系统的终端设备,通过对电子锁的监控管理,就能实现对相应房间的监控管理。

(2)路由器

路由器是网络通信设备,也是现代房间必不可少的通信设备,在系统中作为电子锁的主要通信设备使用。电子锁可通过自带Wi-Fi模块与路由器进行无线连接,通过以太网(Ethernet)完成与云服务器的指令信息交互。

1.2 管理层

管理层为整个系统的中间层,由云服务器和系统管理平台组成。

(1) 云服务器

云服务器是整个系统的核心组成部分[3],为用户提供综合业务能力的服务平台,提供计算、存储、备份、托管等服务,也是整个系统的数据通信中心。采用云服务器的优势是主机服务配置与业务规模可根据系统规模的需要进行配置,并可灵活地进行调整。

(2)系统管理平台软件

系统管理平台是整个系统的管理中心,管理和监控着整个系统,如图2所示。

图2 物联网电子锁系统管理平台

其主要功能有:

1)商户管理。商户信息的新建、修改、删除,以及商户信息的查询。

2)电子锁管理。电子锁(房间)信息的新建、修改、删除、电子锁维护、电子锁(房间)管理、指令查询、开门日志管理、入住人员密码身份证授权、管理员密码身份证授权、保洁人员密码身份证授权、房屋管家密码身份证授权、远程开锁、远程封锁等功能。

3)系统管理。用户信息的新建、修改、删除,管理员角色信息的新建、修改、删除。可根据需求为用户分配不同的角色,为角色分配不同的权限。

4)日志管理。登录日志。可根据用户名、姓名、登录时间查询用户登录记录。

5)扩展连接。提供与应用层其他平台的数据对接管理。

1.3 应用层

应用层为整个系统的最高层,主要连接系统所需的多种应用平台,包括订房手机端APP、订房网站、订房微信、公安系统、保洁手机端APP等。

(1)订房手机端APP,通过手机端订房。

(2)订房网站,通过网站订房。

(3)订房微信,通过微信程序订房。

(4)公安系统,提供公安系统接口,方便公安监管。

(5)保洁手机端APP,通过手机端完成保洁人员抢单保洁。

整个系统在后期发展方面,可以以硬件层和管理层为基础,从应用层上进行扩展,对接其他订房、布草、洗衣店、物业、餐饮、家政、教育、水电等多个行业及平台,逐渐构建网络生活平台。通过对多个行业的整合,使被托管的公寓、民宿、住宅等的运营变成无人化、自动化管理。

2 系统工作原理

硬件层的电子锁与云服务器的通信,以及应用层的应用软件与云服务器的通信,都是采用安全超文本传输协议(HTTPS协议),按照请求(request)/应答(response)模型进行通信[4-7]。在系统中,电子锁以固定周期定时向云服务器发送经过加密的请求命令,云服务器接收到请求命令,便会做相应的应答操作,返回相应请求的文档,完成通信。电子锁主要请求命令为电子锁的功能指令,例如:请求开锁身份证号、开锁密码、开门指令等操作,通信步骤如图3所示。

电子锁经过系统管理平台授权后,便可以通过路由器与云服务器进行数据通信,通信过程是以电子锁采用“定时”和“主动”2种方式访问云服务器上的指令。经过授权的电子锁,会自动在云服务器上建立以该电子锁ID命名的“指令池”。每把电子锁访问的指令为各自指令池中的指令。

图3 电子锁与云服务器的通信

电子锁的指令协议在设计上采用开放式协议,指令信息帧格式标准化。这样,系统管理平台以及其他应用平台通过该指令协议,向云服务器中相应的指令池发送接收指令,便可完成对该指令池对应的电子锁的监控。系统管理平台以及其他应用平台通过云服务器实现对电子锁的数据通信。

3 电子锁的设计

3.1 开锁方式

目前,电子锁的开锁方式有钥匙、密码、指纹、人脸识别、虹膜、指静脉、二代身份证等方式[8]。从使用场合、实名开锁、耗电量、信息传输、可靠性、故障处理等方面综合考虑,电子锁的开锁方式选择“身份证+钥匙+密码”三合一方式,即以目前使用的二代身份证感应开锁为主,以钥匙和密码开锁为辅。由于共享公寓涉及住宿特殊领域,实名制入住登记是必不可少的环节。身份证主要是入住人员和保洁人员使用。入住人员通过订房平台提交身份证号、电话、姓名等信息,完成实名登记环节,获得房间的使用权及使用时间。住户持登记的本人身份证到达预订的房间,使用身份证感应开锁完成实名入住。保洁人员也可以通过登记过的身份证进入房间进行实名保洁。

射频识别(radio frequency identification, RFID)技术是一种无线、非接触式的自动识别技术,具有使用简便、识别率高、寿命长等优点,也是本系统智能电子锁身份证识别模块的核心技术,属于物联网感知层。RFID技术从通信信道上来讲是属于无线通信技术的一种,从通信信道上传输的信号来讲属于数字通信,其通信模型如图4所示。

图4 RFID通信系统模型

电子标签与读写器之间的通信是通过磁场中的电磁波来实现的,有2种耦合方式,分别是电感耦合与电磁反向散射耦合,其中电感耦合主要用于近距离RFID系统,一般在1 m以内,RFID电感耦合系统的电子标签主要是无源的。

身份证识别模块中,身份证和身份证信息处理器的通信是通过电感耦合的方式来实现的,身份证信息处理器通过电感耦合给身份证提供能量,电感耦合符合法拉第电磁感应定律。身份证识别模块电感耦合主要过程为当身份证进入读写器的磁场区域后,身份证内置线圈产生感应电压,即交变电压,该交变电压通过整流、滤波和稳压后,给身份证的芯片提供所需的直流电压。身份证正是利用这种微弱的电压,将自身数据进行信号编码和调制,然后发送给身份证信息处理器。

3.2 硬件电路设计

电子锁的硬件电路主要由CPU模块、身份证读写器、Wi-Fi模块、电池、电源电路、密码按键、复位按钮、检测电路、指示灯、蜂鸣器、开关锁控制电路、电子锁锁体等组成。CPU模块可以采用32位基于ARM核心的带128 kB字节闪存的微控制器。Wi-Fi模块用于与路由器进行无线通信。RFID身份证读写器用于读取二代身份证信息。由于二代身份证是RFID电子标签,所以身份证读写器与二代身份证之间采用RFID射频识别技术进行自动识别[9-11]。密码按键用于输入密码使用,复位按钮用于电子锁初始化使用,检测电路用于检测电量、电路状态使用,指示灯和蜂鸣器用于指示开锁、电量、故障等状态,开关锁控制电路用于控制电子锁锁体,电源电路用于给各个模块供电处理,电池用于供电,电池使用6节5号AA电池。电子锁硬件电路结构如图5所示[12]。

图5 电子锁硬件电路结构图

3.3 功能指令

电子锁是整个系统的通信终端设备,系统管理平台和应用软件对电子锁的监控,是通过网络对电子锁进行接收和发送指令完成的。为满足共享公寓系统的管理,电子锁功能指令如表1所示。

表1 电子锁功能指令集

4 指令通信的设计

4.1 通信协议

整个系统的通信协议采用安全超文本传输(HTTPS)协议,该协议是由HTTP+SSL协议构建的可进行加密传输、身份认证的网络协议,在HTTP的基础上通过传输加密和身份认证保证了传输过程中的安全性,比HTTP协议更加安全[13]。此外,HTTPS需要到CA申请证书,一般是收费的。采用HTTPS协议,可使网站变得更加可信,增强防劫持、防篡改、防监听,提高了身份证信息和开锁指令在传输过程中的安全性。

4.2 服务器端访问

4.2.1 服务器端HTTPS访问

服务器端HTTPS访问请求设计如下。

(1)请求方法:Https Get方法

(2)请求的URL:https://ip:port/网页的相对路径

ip:Web服务器的地址。

port:端口号。

网页的相对路径:由服务器端路径决定。

例如:https://47.94.83.90:8080/electronicLock/lock.htm。

(3)请求参数

LockId=R0014&type=1&content=ORDER。

lockId:锁的ID。

type:请求类型。

content:请求内容。

具体的请求说明设计如表2所示。

表2 字符串请求说明表

4.2.2 指令说明

(1)获取命令

https://ip:port/lock/lock.htm?type=A&id=10001&content=ORDER

说明:返回字符串

@+指令条数+指令1|指令2|……|指令n+#

@00710000029100011440101198406260735000000000

00000|10000030100012000000000000000000123456

00000000|1000003110001A000|1000003210001B000

|1000003310001C000|10000036100018000|1000003

710001644010119840626083167887601350000#

按序号顺序执行。

(2)命令回写

https://ip:port/lock/lock.htm?type=B&id=10001&content=10000029

说明:返回错误码。

(3)开门日志

https://ip:port/lock/lock.htm?type=C&id=10001&content=0123456(密码开锁)

http://ip:port/lock/lock.htm?type=C&id=10001&content=1440101198406260831(身份证开锁)

说明:无返回值。

(4)低电压报警

https://ip:port/lock/lock.htm?type=D&id=10001&content=POWERDOWN

说明:无返回值。

4.3 电子锁端指令信息帧格式

电子锁的指令协议在设计上采用开放式协议,方便系统的扩展,对接应用层的多种应用平台。指令信息帧格式如表3所示。

表3 指令信息帧格式

按照电子锁指令信息帧格式设计,指令功能参照如下所示[13]。

例1:设置管理员开锁身份证号(18位)指令

指令:@001000000010000111983132343223443

9900000000000000#

说明:@+指令条数+指令id +锁号+功能码+身份证号1+000000+00000+000+#

例2:设置管理员开锁密码(6位)指令

指令:@001000000010000120000000000000000

0012345600000000#

说明:@+指令条数+指令id +锁号+功能码+000000000000000000+开锁密码+00000+000+#

……

5 云服务器的指令调度

5.1 指令的调度模式

系统的指令调度执行方面,重点考虑到程序指令的数据结构与算法。系统程序指令的数据结构,对数据处理的效率起着至关重要的作用,是算法和程序设计的基础部分。由于在系统中,对于每一把电子锁,云服务器下发的指令或指令集是按照顺序一步一步执行的,所以电子锁指令集的数据结构选择线性表结构,程序中指令的执行按照“队”进行运算[14-16]。“队”是一种“先进先出”的线性表,按照这种数据结构形式,系统软件将先执行先接收到的指令,后执行后接收到的指令,如图6所示。

指令的具体调度策略为用户通过系统软件可视化界面的form表单输入开锁身份证号及开锁密码等开锁信息,服务器端Servlet程序获取用户输入的开锁信息,执行数据库插入操作,将开锁信息插入云数据库Mysql中的指令表。电子锁与云服务器以5 min为一个周期进行通信,通信时,执行数据库查询操作,将5 min内的全部开锁信息批量取出,然后对开锁信息内容按照4.3节设计好的指令帧格式进行打包,形成多条HTTPS响应体字符串,即开锁指令,将这些指令字符串插入队列,每隔5 min都会形成一个存储着各种指令的小队,这些小队组成了间隔小队,云服务器按照这种间隔小队的模式,将存储于间隔小队的指令下发给电子锁,每个小队是“队”的数据结构,前队与后队之间是顺序表结构,且之间存在时间间隔,小队也可能是“空队”(即无指令)。

图6 间隔小队的示意图

然而,电子锁要考虑能耗优化及节能,在有限的电池电量下,要满足长达8~12个月的待机,同时兼顾实时通信。为此,系统关于电子锁与云服务器的通信,采用以下2种模式。

(1)定时通信模式。电子锁STM32单片机控制主板程序设定每5 min为一个通信周期,电子锁连接云服务器,发送请求指令进行TCP通信,定时接收云服务器下发的指令。

(2)强制通信模式。实时反馈或强制接收服务器的指令。在发生用户开锁操作、人工强制通信、电子锁故障报警等需要及时通信事件时,通过电子锁数字键盘输入特定代码,使电子锁立即主动连接云服务器,强制接收云服务器指令。

5.2 指令查找

系统管理平台软件可以同时对数百把电子锁进行监控和授权指令。因此,指令的数量非常庞大,会达到数千条指令,而且随时有可能有新的指令加入,旧的指令删除,指令池内的指令处于一个动态变化的过程。每条指令都确定了对某一把电子锁的唯一操作方式。这时,系统管理平台软件要查找如此多的指令中的某一条,消耗的时间也比较长。为了最大程度提高系统管理平台软件运行效率,提高云服务器与系统管理平台软件的通信效率,并提升用户体验,需要选取合适的指令查找算法。由于系统管理平台软件授权的指令可以按照电子锁的锁号、指令类型和指令代码进行分类,而且电子锁锁号的总体排列是有序的,而下发给每把电子锁的指令是动态的、无序的,所以,采取分块查找算法要优于顺序查找等其他查找算法。分块查找是折半查找或顺序查找与顺序查找进行组合的一种查找方法,分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此适合于节点动态变化的情况。

分块查找过程分2步进行。第1步先根据智能电子锁锁号建立索引表,并对索引表进行顺序查找,以确定记录在哪一块;第2步在所在块中进行顺序查找,查找到对应的指令代码。由于分块查找是2次查找过程,因此整个算法的平均查找长度是2次查找的平均查找长度之和,如式(1)所示。

ASL=ASLb+ASLn

(1)

式中,ASLb为索引表中的平均查找长度,ASLn为块的平均查找长度。

设指令集r[1:n]分成b块,每一块中的指令个数为s=n/b,则平均查找长度如式(2)所示。

(2)

6 结 论

本文提出了一种共享公寓系统的新型构建方法,采用RFID射频识别技术,实现对居民二代身份证信息的采集,解决了用二代身份证刷卡开锁的问题,实现了开锁过程实名化。构建物联网电子锁云管理平台,采用HTTPS协议进行网络数据安全通信,按照间隔小队的模式进行指令的调度,实现了远程无线对电子锁的网络化管理。设计制定通信指令的信息帧格式,用于连接手机APP、微信平台、订房网站、公安系统。实验结果表明,本系统可实现共享公寓的网络化管理及实名化开锁,可以实现公寓、住宅、民宿、酒店、出租房等多领域应用。

猜你喜欢

电子锁系统管理身份证
都有身份证
纯电动汽车无法充电问题分析及解决
辣椒也有身份证
《系统管理学报》征稿简则
基于AT89C52的红外线电子锁系统的设计
趣说古人的“身份证”
《系统管理学报》征稿简则
欢迎订阅《系统管理学报》
长邯高速公路机电系统管理软件应用探讨
身份证里的“X”是什么意思