自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom

大纲:

售卖机二代ChingTom的简介

售卖机二代ChingTom的方案介绍

   #系统整体组成

   #软件平台

   #硬件平台

售卖机二代ChingTom的实现过程

   #业务逻辑介绍

   #软件流程图

   #源码

 

售卖机二代ChingTom的技术难点解析

 

#售卖机二代ChingTom的简介

自动售卖机ChingTom是基于人脸识别技术的UI交互式售卖系统。产品整体效果图如图1所示。

自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第1张图片 

图 1 自动售卖机ChingTom 整体效果图

 

#售卖机二代ChingTom的方案介绍

#系统整体组成

 自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第2张图片

图2 售卖机ChingTom整体框图

 

#软件平台

本系统选择Keil MDK-ARM作为软件单片机下位机开发平台。

选择Labview作为上位机平台。

 

#硬件平台

本系统选择 STM32F407单片机作为主控芯片。

选用OV2640 摄像头进行图像采集。

选用TFT LCD 电容屏进行UI交互界面。

选用311温湿度传感器进行温湿度采集。

选用HC05蓝牙模块进行摄像头视频传输。

 

#售卖机二代ChingTom的实现过程

   #业务逻辑介绍——下位机

  

这是商品选购界面。如图3。选择你喜欢的套餐,点击图标选中。在点击“去付款”,即可进入付款界面。

 

自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第3张图片

图3 售卖机ChingTom商品选购界面

 

此时会提供三种支付方式,如图4所示。现在介绍一下人脸识别的支付方式。点击人脸付款图标。

 

自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第4张图片

图4 售卖机ChingTom三种付款方式

 

 

在点击人脸付款模式后,开始进行人脸识别。如图5所示。

         对于新用户,需要先创建人脸账户。在创建成功后,再进行识别。

识别成功后,在电磁继电器的作用下,售饭机内的饭菜就出来了。

 自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第5张图片

图5售卖机ChingTom付款成功并出餐

 

在付款完成后,任意点击触屏后,系统回到菜单主界面。

 

售卖机ChingTom还提供管理员模式,用于管理员查询商品明细以及售卖系统的机器自检(温湿度、机器信息等)。另外售卖系统还提供上位机远程视频监控、商品信息上传以及售卖系统机器情况汇报的功能。

         下面先介绍售卖系统的管理员界面。如图6所示。

自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第6张图片

图6 售卖机ChingTom管理员界面

 

售卖系统的机器自检功能。如图7所示。

 自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第7张图片

图7 售卖机ChingTom机器自检

 

 

售卖系统的销售明细功能。如图8所示。

自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第8张图片

图8 售卖机ChingTom销售明细

 

 

 

#业务逻辑介绍——上位机

                   上位机拥有监控售卖系统温湿度、商品销售明细、视频监控的功能。如图9所示为售卖系统的温度监控。

自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第9张图片

图9 售卖机ChingTom上位机监控平台

 

对于销售明细可以以excel的形式导出到文件夹。如图10所示。

自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第10张图片

图10 售卖机ChingTom上位机销售明细导出

 

 

#软件流程图

                   下位机部分软件流程图如图11所示。

 

 自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom_第11张图片

图12 售卖机ChingTom下位机软件流程图

 

对于下位机部分, STM32F4主控结合ucosIII实时操作系统作为系统底层,EMWIN图形库进行开发。

 

对于上位机部分,采用Labview2013作为软件开发平台,以Labview语言写出一个基于串口通信形式的监控软件。由于Labview语言属于G语言,图形化编程,思路非常清晰,省略流程图。

 

#源码

这个作品是由我和我的同学Ching共同开发出来,涉及到版权问题,如果对源码实现感兴趣,可以联系我们:

Ching邮箱:[email protected]

 

                   对于上位机Labview部分的源码可以开源,共同交流学习。

                   下载地址:

[email protected]:TommyYangHui/AutoSellingSystem_ChingTom_UpperComputer.git

        

售卖机二代ChingTom的技术难点解析

 

   人脸识别技术是怎样实现的?

   由于二代产品设计的时间周期有限,采用网友封装好的本地人脸识别库LIB的静态库,直接调用。当时人脸识别的效果不太好,毕竟跑一个人脸识别算法对本地资源的要求比较高,STM32F4资源有限,所以网友封装好的算法是裁剪版的,降低了识别精度。可以参考:正点原子 论坛-搜索人脸识别, 里面有人脸识别的库。

 

    一般来说,开源的人脸识别库OpenCV就已经足够我们去拓展,如果感兴趣的话,可以学习OpenCV.自己选择更高性能的MCU进行开发,移植人脸识别库。参考OpenCV官网文档有详细的介绍。

 

 

   摄像头视频传输和拍照模式的切换是如何进行的?

 

    摄像头视频传输与拍照模式的切换。两个功能是互斥的,用一组互斥信号量转换。且任务切换时需要设置摄像头寄存器的不同分辨率,保证用蓝牙传输视频用低速率,拍照用高分辨率。

当进入人脸付款模式时,关闭视频流数据传输,切换到拍照界面。等拍照成功后,与人脸库比对。对比成功后退出拍照模式,进入菜单模式,并且恢复串口视频传输。

 

如果有更多的问题,欢迎在留言提出,到时补充到这个栏目上。

 

如果对售卖系统的产品感兴趣,可以参考:

自动售卖系统开发系列——自动售卖机一代Kopa
https://blog.csdn.net/TommyMusk/article/details/80642731


自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom
https://blog.csdn.net/TommyMusk/article/details/80644231


自动售卖系统开发系列——人脸识别自动售卖机三代BrotherSharp
https://blog.csdn.net/TommyMusk/article/details/80645006

 

 

 


你可能感兴趣的:(自动售卖系统开发系列——人脸识别自动售卖机二代ChingTom)