智能仓库的设计通过分析传统仓库功能,以STM32为主控芯片,搭配使用各种传感器模块采集数据,通过ESP8266联网芯片将数据上传至机智云平台的网络服务器,实现了设备的实时数据采集和联网。本系统设计创新性引入机智云平台,让普通的设备变成物联网设备,可以有效提高仓库管理,通过人脸识别的检测方式和物品的自动分拣,提升仓库系统的安全性和自动化,并且支持手机app程序操控、显示屏触摸操控和语音声控3种操作方式。01系统整体结构设计智能仓库系统通过各类传感器采集实时信息,经由主控芯片进行数据处理后传送至联网芯片,通过和云端服务器之间的数据交互,实现系统的联网。系统分为三大模块:①数据采集:使用DTH11采集温湿度、烟雾传感器检测是否出现烟雾、舵机或热释电传感器检测门禁信息。②数据处理:使用STM32F429作为系统的主控芯片,通过串口与其他部分进行数据交互,实现系统的智能化。③数据上行与下发:主控芯片处理数据并执行相应操作,将数据上报至HMI显示屏,并通过Wi-Fi发送至机智云平台,平台在收到数据后进一步将数据发送至app。主控芯片在接收到操作指令后通过串口控制外设。系统整体结构如下所示:
仓库智能安防系统结构图主控与显示部分设计STM32F429IGT6作为主控芯片用以处理各个模块传感器发送过来的数据,并通过相应的编程程序实现运算处理,有丰富的片上资源,能够支持使用固件库开发编程。该芯片接口多,可以连接许多外设,总共有8个串口,因此可以通过串口将不同的模块连接,实现多路的数据采集并集中处理。STM32F429IGT6主控芯片HMI串口屏设计的人机互动界面共7个页面,每个页面实现不同的功能,包括有解锁界面、系统界面、灯光界面、温湿度及空调界面、烟雾检测界面、图像识别界面、人脸识别界面。部分界面效果截图如图2所示。
物联网部分设计系统通过联网模块ESP8266接入机智云平台的服务器后,app实现2个功能:实时监测当前联网的各个模块的工作情况,观察系统实时收集并上报的数据;发送对应的指令至机智云平台,机智云平台在接收并处理完相应的指令之后再转发至联网模块,最后联网模块通过串口和系统进行通信,系统接收到指令之后控制外设执行相应的操作,以实现对系统的实时控制。
语音与图像处理设计 LD3320具有非特定人语音识别技术,是一颗稳定性强且识别精度较高的语音识别芯片。语音提示由MP3播放模块负责,该模块能读取TF卡中存储的音频文件,通过编码引脚的高低电平即可播放对应音频文件。 LD3320芯片使用OpenMv视频头进行脸部识别。颜色识别则是利用摄像头不断截取当前所拍摄的视频并从中寻出不同的色块,寻找到色块之后与程序所设置的颜色阈值进行比对从而判断其颜色。使用Haar算子实现人脸识别,使用LBP(Local Binary Pattern, 局部二值模式)算法实现不同人脸的分辨。串口屏显示界面图02系统测试
首次使用须进行配网操作,打开app点击添加设备的按钮,输入连接Wi-Fi网络的账号和密码后选择对应的Wi-Fi模块的类型,设备处在待连接状态。
打开系统让ESP8266进入Airlink模式,此时app会搜索当前可连接的设备,app将Wi-Fi账号和密码发送给ESP 8266,ESP 8266根据接收到的信息可自动连接至当前网络。连接成功后,app提示发现新设备,点击绑定当前设备,页面自动跳转至控制界面。 虚拟设备模拟测试 虚拟设备可模拟真实设备的数据上传,可用来测试手机app是否可以与机智云进行数据交互。app通过二维码和虚拟设备进行绑定,成功后在机智云官网开启虚拟设备,可以看到页面上的虚拟设备提示设备已上线,即成功连接上机智云服务器,也可以查询虚拟设备的通信日志。可通过app向虚拟设备发送数据,同时虚拟设备也可以将数据推送至app, 两者之间的数据传输记录都可以在页面中查看。实物设备真实测试1)显示屏功能测试HMI显示屏功能测试结果显示灯光界面工作稳定,点击3个开关可以稳定控制放置在不同地方的3盏灯,STM32接收到HMI显示屏的指令后将结果实时上报至机智云,灯光状态的改变也能实时反馈至app端。温、湿度及空调界面工作稳定,程序设定每隔50 ms采集一次数据。经测试,HMI显示屏在接收到温湿度数据后将其转换成曲线图的形式以显示变化趋势,同时在app端也可以查看到实时采集的温湿度信息。烟雾检测界面工作稳定,设定每隔500 ms烟雾传感器检测一次当前的空气状况。点燃一根火柴,烟雾传感器下方的指示灯亮起说明检测到烟雾,排气扇自动打开,播放语音警报,此时显示屏上显示检测到的烟雾数值及排气扇的工作状态。待烟雾散去后系统自动关闭。图像识别界面工作稳定,点击人脸识别图标进入人脸识别界面,点击验证按钮,显示屏向串口发送对应的指令,由STM32通过串口控制摄像头拍摄并进行人脸识别,在显示屏上查看验证结果。2)手机app测试启动系统后,app会向机智云的服务器发送对应的指令,通过串口助手查看主控收到数据。如下图所示,可以看到在app端按下相应的控制按钮后主控的串口实时接收到的数据,数据的格式为:事件名称+数据的值+事件描述。主控串口接收的数据形式图Evt: EVENT_led_white 0 ——事件名称及其在结构体中的变量名+变量的值。
valueled_white Changed ——描述事件。
经过实测,app端对系统的控制功能稳定,可以实现实时控制及查看系统各部分的工作状况,app端和系统的延时不超过0.5 s。3)人脸识别功能测试在Python中对程序进行测试,OpenMv在串口接收到特定的指令后会打开摄像头并截取当前摄像头拍摄到的画面,之后分别计算当前所拍摄的人脸和人脸图像库中人脸样本的特征差异度,最后在人脸样本中挑选出一张人脸差异度最小的,即为最接近的人脸,判断完成之后OpenMv会通过串口将所识别的结果发送至主控的串口,从而实现数据互通。本设计中主要有2个参数影响人脸识别准确性和耗时,一是人脸图像库中不同人脸的数量,下图是样本数为15人的脸图像库;二是每个人的不同角度人脸图片的张数。具体的实测数据如下所示:
人脸图像库
人脸识别测试数据
通过实测,本设计中的人脸识别,可以很好地完成预期任务,具有较高的准确性,在一般的日常使用中基本不会判断错误,但是对光线有一定要求,过亮或过暗都会影响识别的准确率。自动分拣功能测试。由于设计中的自动分拣功能主要依据颜色识别来实现,因此颜色识别的正确率决定了自动分拣功能是否正常。将装置放置在不同光照强度的环境下测试颜色识别及自动分拣功能的稳定性,测试结果如下表所示。
颜色识别测试数据03系统总结本文设计了一款基于机智云平台的物联网智能仓库安防系统,选用STM32F429作为主控芯片。使用Wi-Fi模块将主控芯片处理完的数据发送至机智云平台从而实现系统的联网,搭配手机端可以实时查看由系统采集的各类数据及系统各部分的工作状况,同时由于使用的是广域网数据传输因此可以对系统进行远程操控,相比之下局域网数据传输只能处于同一网络,此方案极大地拓展了操控距离。
在系统的安全性部分使用了人脸识别来作为验证手段,经实测,准确率在90%以上。在操作方式上为了适应不同的习惯提供了3种操作方式,显示屏操作、语音操作、手机app操作。在显示方面,设计了一个人机交互的图像化界面。在物品分拣上使用了颜色识别的方式,通过识别物品的不同颜色从而将之归类,有效地提高系统的效率。