无接触的智能储物柜设计

217 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第30天,点击查看活动详情

引 言

新型冠状病毒非常迅猛地在全球蔓延开,保持一定的社交距离成为了每个人都必须要做到的事。在公共场所使用储物柜时就必须要减少人与人之间面对面的交流,否则极有可能在无形之中传播了新冠病毒。当今社会万物互联的趋势势不可挡,物联网技术在交通、医疗、工业、农业等领域不断爆发出新的突破,伴随着 5G技术的愈发成熟,更是在一定程度上推动物联网技术的快速发展。人脸识别技术现在也被广泛的应用在各种领域,不仅安全系数很高,而且使用过程中不需要用户做额外的提前准备。基于此,本文提出一种基于 OneNET 平台和 OpenMV的无接触智能储物柜。用户在公共场合使用无接触智能储物柜的过程中可以极大地避免人与人的接触,而是通过人脸识别自行进行开柜关柜操作。不同于市面上常见的自助储物柜,无接触智能储物柜通过人脸信息存取物,还可以避免使用一些条形码、二维码等开锁凭证,解决了开锁凭证丢失导致取物麻烦的问题。

设计方案

本系统在使用时,只需要用户将脸部置于摄像头前面,系统在检测到该人脸信息并没有存过物品后就会进行人脸信息的采集,随后打开一个未被使用的空柜子。若系统内原来就存在该人脸信息时就会打开与之对应的柜子,供用户取物并删除此人脸信息。本设计将 STM32F103 作为控制中心,通过 OpenMV4对人脸数据进行采集,然后进行识别并比对 。如果人脸信息比对成功,则开启对应的存储柜,让用户取出自己的物品 ;若人脸信息比对不成功,则对人脸信息进行登记,并开启一个空的存储柜,让用户存放物品。再通过无线传输模块ESP8266 将存储柜的状态和用户信息上传到 OneNET 服务器,使微信小程序和 View2.0 可视化界面中的信息同时更新 。管理员能通过微信小程序以及 View2.0 可视化界面看到存储柜的存储信息,同时也可以给系统下发命令,让柜门打开以及删除柜子的用户信息。

感知层

感知层采用的是 OpenMV4 H7 视觉模块。通过该模块对人脸数据进行采集,利用 LBP、Haar-Like 算法对人脸特征进行提取。然后与已存储的人脸信息的特征值进行对比,并作出判断,再将信息传递给核心控制板

网络层

网络层借助了 OneNET 的云服务器  及 ESP8266 WiFi模块,在 OneNET 控制台建立本次系统用到的产品和设备。整个系统与服务器端信息传递与同步就是依赖于 ESP8266 模块。每次柜子的状态发生变化时,主控板都会通过 ESP8266模块上传一次新的柜子状态数据至 OneNET 云服务器的数据点,以供之后的客户端获取到实时的柜子开关信息。并且每过 30 s,主控板都会给服务器发送 1 次心跳报文 ,以告知服务器本设备还在线,服务器就不会将设备踢下线 ;如果3 次发送心跳报文失败,主控板就会立即初始化 ESP8266 模块,重新连接服务器。

应用层

为满足系统需要,设计了微信小程序以及 View2.0 客户端页面来进行储物柜的控制。这样用户不仅能够看到当前储物柜的状态,也可以通过客户端来实现对每个储物柜的控制。

结 语

经过了长时间的系统调试及测试,得出系统能够稳定、良好地运行,人脸识别、柜门控制以及实时的情况展示都基本达到了设计的需求。在系统的运行过程中,核心板、ESP8266 模块和摄像头模块也都处在正常的工作状态。如果后续还有在客户端上获取柜子使用者的信息以及历史记录的需要,都可以在后续的客户端开发上完成。