APP下载

基于Jetson Nano的智能快递柜设计与实现

2022-07-21苏羽康林鹏程

物联网技术 2022年7期
关键词:柜门取件指示灯

苏羽康,林鹏程,郭 佳

(厦门大学嘉庚学院 信息科学与技术学院,福建 漳州 363105)

0 引 言

依靠互联网的迅速发展,网上购物已经迅速成为人们的主要购物方式之一。随着网购数量的增多,线下快递站点也逐年增加。目前快递站点的快递柜皆由单纯的储物柜组成,对于快递站点来说建设和后期调整的工程量大;且依照取件码寻找快递柜的取件流程较为繁琐,并非最佳取件方案。

针对上述问题,已存在一些解决方案。文献[1]中采用STC89C51芯片实现派件和取件两种操作,用于解决校园快递“最后100 m”问题,但该方案采用验证码方式取件,与传统取件方式类似,未达到智能化的目标。文献[2]通过STM32单片机及NB-IoT的应用,设计出可解决包装浪费等问题的智能快递包裹箱。在减少快递包装物对环境影响的同时,防止用户个人信息的泄露,但该方案未解决大量快递的存放管理和取件派件等问题。文献[3]以STM32F1系列芯片为控制核心,设计了一款智能指纹储物柜,该方案实现了指纹识别等功能,在一些功能上实现了智能化。但指纹识别会让大量客户肢体接触识别面板,在考虑卫生方面问题的情况下并非最佳方案。

综上所述,结合大量设计及实际应用,本文研究并设计了一款基于Jetson Nano的智能快递柜。相比现有快递柜,该设计能通过手机APP引导取件人员到相应快递柜,并在完成人脸识别认证后,取出快递;同时在快递站正在建设和调整时,工作人员可按照预期快递数量组合快递柜。

1 系统组成及工作流程设计

1.1 系统组成

系统结构如图1所示,该智能快递柜由主单元和子单元组成,搭建一个功能完整的快递柜需要一个主单元和若干子单元。其中主单元搭载Jetson Nano开发板和乐视TMC520三合一摄像头、TFTLCD显示屏。每个子单元搭载ARM Cortex-M4内核STM32F103VET6辅助芯片,主要用于快递货柜指示灯和柜门的控制。

图1 系统构成框图

主单元快递柜搭载的Jetson Nano配置有USB接口摄像头,在Jetson Nano下的Ubuntu系统中无须安装驱动,使用方便,配置简单,容易整合,可以完成离线的图像工作(曝光控制、帧率等);其次,除人脸识别外,Jetson Nano将实现与服务器进行双向通信的功能。

子单元快递柜上搭载STM32F103VET6,该芯片工作效率高且稳定、价格低廉,适合应用于此设计中。单元间相互通信时,主单元快递柜和子单元快递柜先进行交互,再由子单元快递柜上的STM32控制指示灯的开关和柜门的开合。主单元与子单元之间以及子单元与子单元之间均采用CAN总线进行通信交互。

在建设快递站点时,工作人员可根据房屋内的布局,合理拼接主单元与子单元,完成快递柜的建设。

1.2 系统工作流程

系统运作流程如图2所示。在本方案中用户需要根据手机端APP指示前往快递站点。用户在该快递柜的主单元进行人脸识别后,快递柜将在指定的子单元上亮起指示灯;取走快递后,指示灯熄灭,用户完成取件。具体运作流程如下:

图2 系统运作流程

(1)快递员根据用户信息,存入快递;

(2)Jetson Nano与服务器协同工作,取得用户信息,并发送取件通知给用户手机APP;

(3)用户手机APP显示快递信息,用户前往快递站;

(4)手机APP定位功能检测到用户到达快递站;

(5)用户进行人脸识别,在主单元上录入快递信息,取走快递(本人取或代取);

(6)信息录入结果显示在显示屏上;

(7)快递信息与用户信息成功录入,用户离场;

(8)Jetson Nano删除该用户信息。

2 系统硬件设计

系统硬件设计主要涉及:主单元与子单元快递柜的机械设计;主单元中Jetson Nano与其摄像头和显示屏的搭建;子单元中STM32与指示灯的控制及其电路设计。

2.1 主单元快递柜的机械设计及功能

主单元快递柜采用滑轨拼接的设计,其机械设计外观如图3所示。

图3 主单元快递柜外观

快递站点建设时,工作人员可按实际情况自定义快递柜形状大小,通过滑轨的方式将两个单元进行拼接。每个单元各有4个电气触点负责CAN总线通信与电源供给。

系统工作时,主单元上的Jetson Nano通过CAN总线与子单元进行通信交互,由USB接口摄像头进行数据采集录入,通过网络将信息数据传输至云端服务器。

2.2 子单元快递柜的机械设计及功能

子单元快递柜外观如图4所示。子单元快递柜与主单元一样采用滑轨拼接的设计,并搭载STM32F103VET6完成功能搭建并进行控制。

图4 子单元快递柜外观

2.3 CAN总线通信电路设计

子单元外围电路如图5所示。主单元与子单元采用CAN总线通信,当子单元收到开启信号时,LED灯亮起,并打开柜门。

图5 子单元外围电路

3 系统中的软件设计

系统中Jetson Nano操作系统选用Ubuntu系统,该系统使用广泛、性能稳定,并使用Python作为主要编程语言。

人脸识别代码结构如图6所示。本实例中,将人脸识别的功能应用在Jetson Nano上。在实现该功能时,本系统需要依赖Tensorflow、OpenCV等集成算法库以及Python、C语言等程序编程语言。完成以上环境搭建后,创建工作空间,并在该工作空间编写四个人脸识别代码。

图6 人脸识别代码结构

4 实物测试及实验效果

通过分别运行文件夹下get_my_faces.py和set_other_faces.py程序获取个人及他人人脸数据。运行train_faces.py程序,将获取的个人人脸和他人人脸的数据进行模型训练,再运行is_my_face.py程序进行判断,若为个人人脸,则输出true,锁舌收缩,柜门开启,如图7所示。当为其他人脸则输出false,锁舌保持弹出状态,柜门不开启,如图8所示。

图7 锁舌收缩

图8 锁舌弹出

5 结 语

本文设计的智能快递柜可依靠人脸识别系统,完成取件流程,可代替输入取件码或扫描二维码的传统方式,更好地保护用户个人信息,同时提高取件效率,并减少了快递站工作人员的工作负担。在机械设计上,快递柜采用滑轨拼接的连接方式,让快递柜更加灵活,节省占用空间。

本文设计项目主要通过Jetson Nano完成人脸识别、数据处理,采用STM32芯片配合完成快递柜之间的信息交互与控制。软硬件相结合,融合度高,应用了人工智能、电子设计、单片机等方面的知识,有较大的实践意义。

猜你喜欢

柜门取件指示灯
基材和压贴工艺对浸渍胶膜纸饰面细木工板柜门翘曲度的影响∗
神奇魔法树
手工线模具中常用的取件方式
外卖与快递
跨区取件的困扰
防撞柜门结构及配电柜实用分析
美国邦纳 工业智能指示灯
2013年波罗车充电指示灯异常点亮
太阳能楼牌指示灯