基于Openmv的会议室智能门禁控制系统设计

2019-05-24 14:12朱新波
电脑知识与技术 2019年9期

朱新波

摘要:随着物联网技术的发展,会议室门禁控制系统也正逐步走向智能化,并得到越来越多的应用。本文结合智能手机和会议室门禁的特点设计了一种智能门禁控制系统,采用单片机和图像识别技术,以二维码作为身份识别方式,设计并实现了门禁的智能控制,经试验,系统工作稳定。本方案不仅简化了会议室的申请和审批流程,而且智能化的方案减少了人工管理成本,进一步规范了会议室资源的调度和使用,有效地提高了会议室的使用效率。

关键词:智能门禁;openmv;会议室管理

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2019)09-0129-03

Abstract: With the development of Internet of Things technology, the access control system of meeting rooms is gradually moving towards intellectualization, and also has been applied widely. This paper designs an intelligent access control system based on smart phone and modern access control. The intelligent control system is designed and realized by using MCU and image recognition technology. The system works steadily, experiments shows that it can identify users and control the gate with high efficiency. This design not only simplifies the application and approval process of conference room management, reduces the cost of manual management through intelligent scheme, but also further standardizes the schedule of meeting management booking process.

Key words: intelligent access control; openmv; meeting room management

1引言

隨着科技的进步和社会的发展,门禁系统也在朝着自动化、信息化和智能化的方向发展,尤其是伴随着物联网技术的应用,门禁的应用方式也从单一的刷卡门禁过渡到到现在的RFID识别、人脸识别等科技含量越来越高的形式,同时人们对其安全性和便携性的要求越来越高,随着智能手机的普及,人们越来越希望将这两者结合,因此本文设计了一种综合智能门禁系统,该系统结合了智能手机的便利性,运用智能图像处理技术,实现对门禁的智能化管理,特别适合应用在学校、办公室等智能自动控制的场所。

2系统方案设计

基于openmv的智能门禁控制系统由前端子系统和后端服务器两部分组成。前端子系统实现信息采集及身份识别后的控制和声光报警处理,后端系统实现二维码申请、门禁资源预约等功能,前端系统和后端系统通过无线网络连接。系统框架如图1所示:

用户根据需要,预先使用手机app申请会议室预约管理系统,选择对应的会议室并填写使用时间段,申请成功之后生成对应的二维码。

当预约时间到,用户持二维码,经openmv摄像头模块扫描,读取并解析该二维码信息,判别是否为合法的申请,如果为合法用户则通过继电器控制门锁打开,并发出声光提示;当判别是非法二维码,则通过LCD发出告警信息;当用户在使用会议室超时后,系统亦会发出超时告警提示。

3控制系统开发

3.1 OpenMV模块

OpenMV是一个开源,低成本,功能强大的机器视觉模块,以STM32F427CPU为核心,可以通过UART,I2C,SPI及GPIO等接口与其他的硬件通信, OpenMV提供了丰富的机器视觉开发模块,集成了OV7725摄像头芯片,在小巧的硬件模块上,用C语言高效地实现了核心机器视觉算法,并提供API,编程的便利化使得用户可以用Python语言开发机器视觉功能。

OpenMV提供众的开源硬件扩展模块,使开发者可用集中精力在软件和算法本身,本系统使用的LCD和继电器耦合电路均使用成熟的扩展模块:

3.2 Micro Python语言

MicroPython是可以运行在单片机上的Python,语法跟Python3基本一致,拥有自家的解析器、编译器、 虚拟机和类库等,目前支持基于32-bit的ARM处理器,其优化了在微处理器和受限环境中的运行。借助MicroPython,用户可以通过Python脚本语言来实现对硬件底层的访问和控制,例如对LED、LCD和IO外设的控制。

3.3 二维码

二维码又称二维条码,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号的信息;利用构成计算机内部逻辑基础的“0”“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理,每种码制有其特定的字符集,每个字符占有一定的宽度,具有一定的校验功能等。同时还具有对不同行的信息自动识别功能及处理图形旋转变化点。

常见的二维码为QR(Quick Response)Code,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型,为方便使用,本系统支持QR Code二维码和Barcode条形码。

4系统程序设计

4.1 前端子系统软件开发

前端单片机程序采用的是Micro Python语言,采用中断方式,接受输入信号并输入进行摄像头扫描和处理。

4.1.1主程序设计

系统软件采用模块化结构,主程序由摄像头扫描程序、二维码识别程序、控制程序和显示程序组成,主程序流程如下图所示:

4.1.2 二维码识别程序设计

系统开机启动,即完成对摄像头、LCD的初始化,之后启动扫描任务,当用户手持二维码靠近openmv摄像头并完成扫描之后,系统调用函数对扫描到的二维码进行识别。程序首先调用函数查找是否为支持的二维码类型,如果是,即启动对应的解析函数,解析函数的主要任务是解析二维码中的type、payload信息,并將解析的信息发送给锁控制函数,流程图如下:

4.1.3锁控制软件设计

锁控制函数的主要任务是,根据收到的二维码信息,匹配当前的系统时间,以及该会议室状态,以此来判别是否满足开启门锁的条件,如果满足则发信号给继电器以完成开锁,否则显示警告。同时在开锁完成之后系统即启动定时,并在预约时间到即发出“使用时间到”的警示信息。

4.2 后端二维码生成器软件开发

后端服务器的会议室预约和二维码生成部分,采用JAVA工具zxing工程,生成Jar包之后添加到工程中,利用matrixToImageWriter进行辅助开发,并利用QRCodeFactory进行二维码参数设定,生成需要的结果。

4.3实验结果及分析

系统采用openmv IDE集成开发环境和Micro python语言进行开发。在实验测试中,只要正确控制摄像头并保持合理焦距,系统就能正确识别二维码并可靠的控制继电器,系统识别结果如下图所示:

5结语

本文介绍了一种基于物联网和图像处理技术的智能门禁控制系统,采用STM32处理器作为总控制器,通过openmv采集二维码图像,使用LCD和蜂鸣器来显示信息和声音提示。前端系统开发采用成熟的Python语言和其强大的库函数,为了便于扩展,软件设计采用模块化结构,使得程序设计的逻辑简洁,实现了利用二维码识别控制门禁的目的,经过实际测试,系统运行稳定,可靠性高,随着智能手机的广泛使用,本方案使得会议室门禁系统操作简单,且成本低廉,适合于高校、企事业单位等需要会议室管理的机构普遍推广和应用。

参考文献:

[1] 李勇.基于RFID与人脸识别技术的智能门禁系统研究与设计[D].重庆:重庆大学,2009.

[2] 亓相涛,李黛月.基于无线通信与生物识别技术的智能控制系统设计[J].网络与通信技术,2018(23).

[3] 魏亮.基于人脸识别技术的高校学生公寓门禁系统设计与开发[J].中小企业管理与科技,2013(7).

[4] 吴爱萍,熊超,卫俊 等.基于ARM的RFID门禁控制系统的设计[J].现代电子技术,2013(36).

[5] 张弥左等.微型计算机接口技术[M].北京:机械工业出版社,2004(8).

[6] 邵子扬. MicroPython入门指南[M].北京:电子工业出版社出版,2018(1).

【通联编辑:梁书】