APP下载

可升降快递外卖收纳箱远程监控系统设计

2021-01-27吴可测陈伟汉毋茂盛

物联网技术 2020年12期
关键词:指令服务器电路

吴可测,陈伟汉,毋茂盛

(肇庆学院 计算机学院,广东 肇庆 526061)

0 引 言

随着计算机技术和通信技术的发展,手机已经变成了人们生活的标配,基于手机的各种家庭智能化控制技术也成了工程师们研究的热点[1-3]。随着物流行业的快速发展,目前使用手机进行购物和点餐已成了许多人的生活习惯。据中国互联网信息中心(CNNIC)发布的《中国互联网络发展状况统计报告》显示,截至2020年3月,我国手机网络购物用户规模达7.07亿,较2018年底增长1.16亿。外卖的订单也同样在快速地增长[4]。因此,如何及时接收到快递和外卖的问题变得日益突出[5]。

为了解决这个问题,本文设计了一个用手机远程控制的可升降快递外卖接收系统。当物品的主人不在家或因腿脚不方便下楼时,可以通过手机的APP控制收纳箱从楼上放下,然后通过升降装置将快递物品运至主人家中,实现远程接收快递或外卖等物品。

1 系统的结构与工作原理

1.1 系统整体结构

系统主要由阿里云服务器、手机APP、控制电路、收纳箱、升降装置等组成,具体结构如图1所示。服务器端包括服务器控制程序和数据库;手机端包括基于安卓系统的手机及APP;控制电路部分包括主控电路和控制程序;收纳箱部分包括双控门箱子、传感器、控制电路板及相关控制程序;升降装置包括电机、牵引线以及相关硬件电路等。

图1 系统整体结构

1.2 系统的工作原理

(1)手机APP进入绑定模块,通过扫描特定二维码实现与主控电路的通信,并将家中路由器的名字与密码发送给主控电路;然后,通过无线方式分别与路由器和收纳箱进行连接。收纳箱通过主控电路实现与服务器的通信,将实时状态与视频信息发给服务器。收纳箱与主控电路通过轮询的方式不断获取服务器的指令信息,并执行响应的动作。

(2)手机APP注册账户并登录后,服务器中的数据库会保存用户的注册信息。APP在运行时通过轮询服务器来获取设备的当前状态,并将状态实时显示在手机上。同时,当用户点击功能按钮后,APP会向服务器发出对应指令。在设备下一次轮询后将执行服务器中的指令,并将执行结果返回给服务器,最终通过APP进行显示。

2 系统实现

2.1 电子收纳箱设计

电子收纳箱控制电路主要由图像采集模块、主控电路、门控制模块和状态检测模块等组成。门控制模块由步进电机、电锁和传统机械锁等组成。电子收纳箱硬件结构如图2所示。

2.1.1 主控电路板开发

主控电路板的功能主要是负责控制收纳箱开关门单元、指示灯单元、传感器单元以及启停图像采集模块,并负责与服务器的WiFi通信。图像采集模块主要由硬件电路及专用摄像头组成,负责采集图像信息,并将信息上传至服务器。开关门单元由步进电机、传统锁和电锁等组成,实现收纳箱门的自动打开和关闭。

图2 硬件结构设计框图

主控电路板采用ESP32作为控制器。该芯片是一款高集成度、高性价比、功耗超低、主打安全的单核WiFi SoC,其除了含有CPU外,还集成了2.4 GHz WiFi、蓝牙模块、丰富的 I/O口以及ROM、SRAM等,稳定性好、可靠性高,适用于多种应用场景[6-8],使用方便,功能强大。ESP32通过内置WiFi功能与路由器相连,实现与服务器通信。本设计中,主控电路通过串行口与图像采集模块进行通信,使用了8个I/O口,其中5个为输出,分别用于控制电锁开关、步进电机脉冲、旋转方向、步进电机电源和WiFi指示灯;另外3个为输入,分别用于检测开关门状态、摄像头状态和WiFi重置按钮。

2.1.2 图像采集模块

图像采集模块通过串口与主控芯片进行通信,完成WiFi配置、指令接收和状态返回。当接收到APP发出视频采集指令时,图像采集模块启动,并通过服务器将图像信息传到手机APP上。

2.1.3 门控制模块

门控制模块由传统机械锁、电控锁、电机、牵引线、传感器等组成。当设备发生故障或者停电时,物主可以通过传统方法开锁;电锁用于远程的开、关收纳箱;传感器用于采集门的当前状态信息。

2.2 服务器开发设计

本设计中,服务器采用的是阿里ECS服务器,部署Tomcat、MySQL数据库和搭建nginx-rtmp环境,进行视频推流,并使用Java编写服务器代码。

2.2.1 创建数据库

创建数据库包括:添加用户信息表,存储客户信息,如账号、密码、密保、电话、地址等;添加指令表,存放控制收纳箱及摄像头的指令及状态。

2.2.2 Web程序设计

本文采用JDBC的方法编写控制数据库操作代码,实现手机APP的在线注册、登录、修改密码以及传送指令等功能。获取指令代码程序段如下:

2.3 升降装置模块设计

升降装置模块包括升降机电结构与控制驱动电路等。驱动电路通过服务器获取升降指令,然后,通过驱动升降无刷电机来实现收纳箱的升降,并将设备状态回传给服务器。

2.3.1 收纳箱控制电路板设计

收纳箱控制电路板同样使用ESP32作为控制器,主要负责获取指令并驱动电机,同时,作为收纳箱的中继通信电路,转发相关的指令。

2.3.2 机械装置

机械装置主要由固定支架、无刷电机、绞盘、缓冲结构、滑轮和缆绳等组成,整体结构如图3所示。无刷电机为箱子升降的提供力量。缓冲结构主要用于减少在箱子收回时电机的持续作用力对装置的性能影响;同时,用于化解启停时产生的抖动,确保箱子可以平稳升降。绞盘、滑轮和缆绳组成了一个基本的滑轮组结构。

图3 牵引收纳箱机械结构

2.4 安卓APP设计

本系统的APP编程主要基于安卓系统,使用Java语言编程。Java支持Internet应用的开发,提供了网络应用编程的类库等[9]。APP主要功能包括:设备绑定模块、用户信息模块和设备控制模块。其中设备绑定模块可以通过扫描二维码建立与设备的通信,并通过APP直接设置设备的路由名称和密码。用户信息模块包括:登录注册、找回和修改密码等功能。设备控制模块APP可通过服务器获取设备状态信息并显示,也可通过APP发出命令,经过服务器后控制设备开关门、启停摄像头等。APP 功能框图如图4所示。

图4 手机APP设计框图

2.4.1 用户信息处理

用户信息模块基本功能包括:注册、登录、密码修改等。用户将APP输入的用户信息通过网络上传给服务器保存。用户也可以通过修改窗口对自己已上传的信息进行修改。APP与服务器通信部分代码如下:

2.4.2 绑定设备程序设计

这个功能主要用于给设备设置路由的名称和密码。设备在初始时为热点模式,APP可通过扫描二维码获取设备热点名称与密码,并进行连接通信。扫码配置部分代码如下:

2.4.3 控制设备程序设计

控制界面包括显示区域和控制区域。顶部是摄像头和门状态的指示灯,中间是视频显示区域,下方是各个功能控制按钮。程序运行界面如图5所示。

APP通过不断轮询服务器方法[10]获取设备的实时状态。APP在控制设备时,如发现某个按钮被按下,对应的命令就会被发送给服务器,指令会被保存在对应的数据库中。部分APP轮询代码如下:

图5 程序运行界面

3 结 语

本文设计了一个可升降快递、外卖收纳箱远程监控系统,可以通过手机远程接收快递和外卖。经过团队的努力,已将设备图像延时控制在了3 s以内。本系统研究的技术除了用于接收外卖和快递外,还可以将上街采购的小件物品如购置的菜和小袋面粉自动运到家中,对住楼梯房的老年人特别有用。如果加大驱动力量并加装安全装置,甚至可以用作私人电梯。

猜你喜欢

指令服务器电路
电路的保护
通信控制服务器(CCS)维护终端的设计与实现
巧用立创EDA软件和Altium Designer软件设计电路
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
基于MATLAB模拟混沌电路
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
坐标系旋转指令数控编程应用