1、快递外卖收纳柜远程监控系统设计陈伟汉吴可测陈灿华邓坚成方锐凯毋茂盛摘 要:随着移动互联网技术的开展,越来越多的人喜欢线上购物和叫外卖,快递和外卖量快速增长,无法及时准确接收快递或外卖的问题日益突出。针对这个问题,设计一款基于的远程控制收纳系统,该系统基于安卓平台开发了具有图像实时显示及给收纳箱发送指令的APP,基于阿里云效劳器搭建了nginx-rtmp流媒体效劳器,基于STM32开发了一套硬件控制系统。文中先是介绍了系统的结构和工作原理,然后,论述了相关的硬件设计以及云效劳器开发方法,最后,讨论了APP的程序的设计。关键词:外卖收纳箱;远程监控;STM32;远程接收;物联网技术;云效劳器中图分
2、类号:TP393.06文献标识码:A文章编号:2095-1302202304-00-030 引 言当前已经成为人们的第二伴侣,用进行网购和叫外卖已经成为很多人的生活习惯,据新华网消息,2023年移动宽带用户总数已达13.1亿户,其中,网购用户规模达6.1亿。我国的快递业务量,2023年到达507亿件,持续保持世界第一,外卖量也同样惊人。因此,如何及时准确接收快递或外卖的问题变得日益突出1。为了解决这个问题,本文设计开发了一款用远程控制的收纳系统。当物主不在家或者不方便出门接收物品时,可以通过APP远程控制收纳箱,实现远程接收快递或外卖物品。1 系统的结构与工作原理1.1 系统整体结构系统的整体
3、结构如图1所示。系统主要由控制端、阿里云效劳器、收纳箱三大局部组成。控制端包括安卓及安卓APP;效劳端包括效劳端处理程序和数据库;收纳箱包括双控门箱子、控制电路以及相关控制程序。1.2 工作原理首先,APP进入绑定功能模块,通过扫描二维码与收纳箱中主控电路板上的WiFi模块连接,配置收纳箱连接的家中路由器的账号密码。同时主控芯片将账号和密码通过串口分享给图像采集模块完成设备的绑定配置。然后,收纳箱通过互联网连接阿里云效劳器开始轮询,不断向效劳器发送状态信息,并查询效劳器的指令信息。接着APP注册,开始连接云效劳器,效劳器中的数据库会保存用户的注册信息。APP运行过程中会轮询检查设备的状态信息,
4、并将状态信息显示在APP的设备控制界面上。当用户点击控制按钮后,APP会向效劳器发送相关的指令,电子收纳箱轮询到指令后便立即执行指令,实现开、关摄像头以及收纳箱门操作;然后,将执行结果返回给效劳器;最终在APP设备控制界面上显示操作结果。2 系統实现2.1 电子收纳箱设计电子收纳箱控制电路主要包括:主控电路板、图像采集模块、门控制模块等。硬件组成结构如图2所示。主控电路板采用STM32作为主控芯片控制双路继电器分别接通开门驱动和关门驱动单元;摄像头模块主要由硬件电路及专用摄像头组成,受主控芯片控制,负责摄像信息的采集、传输,控制采集图像上传至效劳器;门控制模块由步进电机、传统锁、电锁等组成,实
5、现收纳箱门的翻开和关闭。2.1.1 主控电路板开发主控电路板采用STM32作为主控芯片,该芯片具有睡眠、停止、待机三种低功耗工作模式,使用方便,功能强大2。主控电路板通过串口和WiFi模块与图像采集模块相连。另外,扩展了8个I/O口,5个用于输出,3个用于输入。输出口分别用于控制步进电机脉冲、旋转方向、步进电机电源、电锁的开关、WiFi指示灯;3个输入口分别用于检测门的状态、摄像头的状态和重置按键的状态。重置键用于WiFi账户和密码的重置。主控电路板程序设计框图如图3所示。2.1.2 图像采集模块图像采集模块通过串行口与主控电路板连接,完成WiFi配置以及指令接收和返回状态。同时,将采集的图像
6、信息上传至效劳器。2.1.3 门控制模块门控制模块由插梢、传统锁、电锁、电机、牵引线、传感器等组成。当设备故障或者停电时,物主用传统方式可以开锁。电锁用于远程的开、关收纳箱。传感器用于采集门的当前状态信息。2.2 效劳器开发设计用阿里云效劳器3配置tomcat,创立MySQL数据库4以及搭建nginx-rtmp环境5,进行视频推流。用Eclipse创立Web工程等。2.2.1 数据库开发创立数据库6,添加用户信息表,存储客户信息,如账号、密码、密保、地址等;添加指令表,存放控制收纳箱及摄像头的指令及状态。2.2.2 Web程序设计采用Java语言编写连接数据库及操作数据库代码7。注册、修改密码
7、以及传送指令等操作均通过数据库的增删查改实现。注册程序局部代码如下:trycon=DriverManager.getConnectionuri,root,111;String condition= insert into member logname,password,mibao,phone,mailbox values +logname+,+password+,+mibao+ ,+phone+ ,+mailbox+ ;sql = con.prepareStatementcondition;int rSet = sql.executeUpdatecondition;ifrSet!=0 out.
8、printlnregistersuccessfully!;else out.printlncan not register!;con.close;2.3 安卓APP设计据统计,目前安卓系统的市场占有率8到达76%。所以,在移动端开发软件进行远程控制箱子更加方便操作。本系统APP采用Java语言基于MVC模式9开发,APP主要功能包括:注册,找回和修改密码,扫描二维码读取设备信息并连接设备,设置设备连接家用WiFi账号密码,连接效劳器获取摄像头视频信息并显示,获取设备状态信息并通过灯泡亮灭显示,发送开关门和摄像头指令等。APP功能设计框图如图4所示。2.3.1 用户信息模块用户信息模块包括:、注
9、册、密码修改以及指令的处理。用户通过文本输入框录入信息,APP通过TCP/IP协议10将信息上传至云效劳器,实现对用户信息的处理和指令的中转。与效劳器通信局部代码如下:URL url = new URLpath;URLConnection connection = URLConnection url.openConnection;connection.setRequestMethodGET;/获取效劳器数据connection.setReadTimeout8000;/设置读取超时的毫秒数connection.setConnectTimeout8000;/设置连接超时的毫秒数InputStrea
10、m in = connection.getInputStream;BufferedReader reader = new BufferedReadernew InputStreamReaderin;result = reader.readLine;/读取效劳器进行逻辑处理后页面显示的数据connection.disconnect;2.3.2 绑定设备程序设计通过扫描二维码连接设备后,可配置设备连接路由器的账户密码,并进行设备的绑定。与箱子的通信采用WiFi热点连接,用Socket封装信息。局部代码如下:socket = new SocketHOST,8080;PrintStream ps =
11、newPrintStream socket.getOutputStream;ps.printlncontent;2.3.3 控制设备程序设计控制界面包含显示区域和控制区域。顶部是摄像头和门状态的指示灯,中间是视频显示区域,下方是控制按钮。通过轮询效劳器,APP可以不断获取收纳箱的状态信息。每个按钮对应一种控制指令,按下时会发送指令给效劳器,效劳器修改数据库指令表,箱子查询到指令后便执行。指令的上傳与用户信息上传类似,这里不再累赘,局部APP轮询代码如下:new Thread - while true try Thread.sleep100; catch InterruptedException
12、 e e.printStackTrace;try Trans alwaystrans = new Transurlpath; String url_result = alwaystrans.get;if url_result.equals0 btn_chat_check|url_result.equalsbtn_chat_check btn_chat_check|url_result.equals2 btn_chat_checkivState.setImageResourceR.drawable.sxtclose;if url_result.equals0 2|url_result.equal
13、sbtn_chat_check 2|url_result.equals0 2 ivState.setImageResourceR.mipmap.sxtopen; catch Exception e e.printStackTrace;.start;程序运行界面如图5所示。3 结 语本文设计了一套用远程控制收纳箱接收外界物品的系统,箱子具有传统开锁功能,视频信息可上传至效劳器,并由效劳器推流,经过不断的进行代码优化,将视频延时控制在3 s内。注:本文通讯作者为毋茂盛。参考文献1刘袁梦,黄文彬,许小郡,等.快递物品远程自动接收系统设计与开发J.物联网技术,2023,612:86-88.2张勇.AR
14、M Cortex-M3嵌入式开发与实践:基于STM32F103M.北京:人民邮电出版社,2023.3基夫莫里斯.根底设施即代码云效劳器管理M.北京:人民邮电出版社,2023.4明日科技.MySQL从入门到精通M.北京:清华大学出版社,2023.5卓郎科技技术团队.直播系统开发:基于Nginx-rtmp-moduleM.北京:电子工业出版社,2023.6万常选,廖国琼,吴京慧,等.数据库系统原理与设计M.3版.北京:清华大学出版社,2023.7张延军,王保民,何月梅,等.Java程序设计教程:微课实训课程设计M.北京:清华大学出版社,2023.8郭金尚.Android经典工程案例开发实战宝典M.北京:清华大学出版社,2023.9何成万,余秋慧.MVC模型2及软件框架Structs的研究J.计算机工程,2002,286:274-275.10谢希仁.计算机网络简明教程M.3版.北京:电子工业出版社,2023.作者简介:陈伟汉1997,男,广东人,本科。吴可测1999,男,广东人,本科。陈灿华1999,男,广东人,本科。邓坚成1999,男,广东人,本科。方锐凯1998,男,广东人,本科。毋茂盛1963,男,河南人,博士,教授,主要研究方向为嵌入式技术。