大纲:
售卖机二代ChingTom的简介
售卖机二代ChingTom的方案介绍
#系统整体组成
#软件平台
#硬件平台
售卖机二代ChingTom的实现过程
#业务逻辑介绍
#软件流程图
#源码
售卖机二代ChingTom的技术难点解析
#售卖机二代ChingTom的简介
自动售卖机ChingTom是基于人脸识别技术的UI交互式售卖系统。产品整体效果图如图1所示。
图 1 自动售卖机ChingTom 整体效果图
#售卖机二代ChingTom的方案介绍
#系统整体组成
图2 售卖机ChingTom整体框图
#软件平台
本系统选择Keil MDK-ARM作为软件单片机下位机开发平台。
选择Labview作为上位机平台。
#硬件平台
本系统选择 STM32F407单片机作为主控芯片。
选用OV2640 摄像头进行图像采集。
选用TFT LCD 电容屏进行UI交互界面。
选用311温湿度传感器进行温湿度采集。
选用HC05蓝牙模块进行摄像头视频传输。
#售卖机二代ChingTom的实现过程
#业务逻辑介绍——下位机
这是商品选购界面。如图3。选择你喜欢的套餐,点击图标选中。在点击“去付款”,即可进入付款界面。
图3 售卖机ChingTom商品选购界面
此时会提供三种支付方式,如图4所示。现在介绍一下人脸识别的支付方式。点击人脸付款图标。
图4 售卖机ChingTom三种付款方式
在点击人脸付款模式后,开始进行人脸识别。如图5所示。
对于新用户,需要先创建人脸账户。在创建成功后,再进行识别。
识别成功后,在电磁继电器的作用下,售饭机内的饭菜就出来了。
图5售卖机ChingTom付款成功并出餐
在付款完成后,任意点击触屏后,系统回到菜单主界面。
售卖机ChingTom还提供管理员模式,用于管理员查询商品明细以及售卖系统的机器自检(温湿度、机器信息等)。另外售卖系统还提供上位机远程视频监控、商品信息上传以及售卖系统机器情况汇报的功能。
下面先介绍售卖系统的管理员界面。如图6所示。
图6 售卖机ChingTom管理员界面
售卖系统的机器自检功能。如图7所示。
图7 售卖机ChingTom机器自检
售卖系统的销售明细功能。如图8所示。
图8 售卖机ChingTom销售明细
#业务逻辑介绍——上位机
上位机拥有监控售卖系统温湿度、商品销售明细、视频监控的功能。如图9所示为售卖系统的温度监控。
图9 售卖机ChingTom上位机监控平台
对于销售明细可以以excel的形式导出到文件夹。如图10所示。
图10 售卖机ChingTom上位机销售明细导出
#软件流程图
下位机部分软件流程图如图11所示。
图12 售卖机ChingTom下位机软件流程图
对于下位机部分, STM32F4主控结合ucosIII实时操作系统作为系统底层,EMWIN图形库进行开发。
对于上位机部分,采用Labview2013作为软件开发平台,以Labview语言写出一个基于串口通信形式的监控软件。由于Labview语言属于G语言,图形化编程,思路非常清晰,省略流程图。
#源码
这个作品是由我和我的同学Ching共同开发出来,涉及到版权问题,如果对源码实现感兴趣,可以联系我们:
Ching邮箱:csq3689@foxmail.com
对于上位机Labview部分的源码可以开源,共同交流学习。
下载地址:
git@github.com: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