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