基于STM32单片机的智能快递箱设计

2022-08-31 19:18何睿凡秦将姜炎刘晓华
电脑知识与技术 2022年18期
关键词:实时监测位置温湿度

何睿凡 秦将 姜炎 刘晓华

摘要:针对实时监测快递箱运输环境的需求,提出了一种基于STM32单片机的智能快递箱的设计方案,实现了温湿度监测、位置监测和手机App端查询的功能。系统以STM32单片机为主控制器,采用DHT11温湿度传感器模块和GPS定位模块分别收集温湿度和位置信息,通过SIM800A模块传输数据至OneNET云平台,App从OneNET平台获取到数据,用户即可在手机App上实现远程监测。测试结果显示该系统能实现对快递箱状态的实时监测,具有低成本、低功耗的特点,对智能物流数据的改进具有实际应用价值。

关键词:STM32;智能快递箱;温湿度;位置;App;实时监测

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2022)18-0036-03

开放科学(资源服务)标识码(OSID):

1 引言

在高速发展的互联网及物流运输行业的大环境下,我国的快递业务量急速增长,互联网物流行业极大地便利了人们的日常生活,但同时也面临着严峻的挑战。根据国家邮政局的统计,目前,中国快递业务量超过1000亿,连续八年位居世界第一,每天服务近7亿用户[1]。但是快递数量增长迅速的同时,快递丢失、损坏的现象越来越常见,而快件丢失赔偿低、货物损坏索赔难,导致消费者的合法权益得不到保障,因此智能物流数据需要更加完善。本文设计的智能快递箱实现了对快递箱内温湿度以及位置信息的实时监测,并在终端上显示监测到的各数据,方便用户实时获取到快件的状态并及时处理异常情况,尤其对于食品级的快件具有重要意义。

2 总体设计

本设计分为硬件和软件两部分,硬件部分由STM32单片机、DHT11溫湿度传感器模块、NEO-6M-GPS定位模块和SIM800A模块组成,软件部分可分为硬件功能程序设计与软件程序设计。本系统采用STM32单片机作为主控制器,负责所有数据的收发与执行,以串口通信的方式通过温湿度传感器DHT11、GPS模块采集温湿度及位置信息,然后通过串口发送AT指令控制SIM800A,接收到期待的应答结果后发送数据给SIM800A。SIM800A通过HTTP协议连接到OneNET平台并将所测数据上传到OneNET平台。App根据设备ID向OneNET云平台发送GET请求,将返回的数据解析处理后显示在App详细信息界面。系统整体框架图如图1所示。

3 硬件设计

智能快递箱系统采用STM32F407单片机为主控核心,以DHT11为温湿度传感器模块,以NEO-6M-GPS为定位模块,以SIM800A为传输模块。

3.1 STM32单片机

主控芯片在整个系统中承担着最核心的任务,它像一座桥梁连接着各个模块,负责所有数据的收发与执行,起到承上启下的作用[2]。在本系统中,需要主控芯片对各传感器模块输入的数据信息进行集中处理并与SIM800A模块产生交互。因此,为了实现智能快递箱系统工作的高效性和可靠性,选择合适的主控芯片非常重要。

基于高性能,低功耗和低成本等需求,选择STM32F407VET6单片机作为主控芯片,它基于拥有更高性能的ARM Cortex-M4处理器内核。STM32单片机内置1024K的FLASH和192K的SRAM,具有144个I/O口,1.8~3.6V电源就能支持系统长时间工作,还提供了三种低功耗模式。它拥有高速的计算能力和丰富的外设接口,便于通过连接多种传感器来扩展其他功能,在同类产品中性能最高。利用STM32解析DHT11模块以及GPS模块传来的数据信息,然后利用SIM800A模块通过移动网络传输至OneNET云平台。

3.2 DHT11温湿度传感器模块

由于快递箱本身规模小且数量多,所以温湿度传感器的选择应尽可能地满足集约性和小型化。另外考虑到测量的精度和消耗的功率,选择数字温湿度传感器DHT11作为本系统温湿度数据的采集模块[3]。

DHT11是一款含有已校准数字控制信号系统输出的,专业的数字模块采集技术和温湿度传感技术复合的数字温湿度检测传感器,包括了一个电阻式感湿元件和一个NTC测温元件[4-5],测量范围为20%~90%RH和0~50℃,测湿精度可达到±5%RH,测温精度可达到±2℃。DHT11具有体型小巧、操作简单、稳定性高、传输距离长和测量精确等特点。DHT11模块与STM32连接方式如图2所示。

3.3 GPS定位模块

考虑到本系统追踪灵敏、定位精准和体积小巧的需求,选择基于NEO-6M内核的GPS定位模块。GPS模块通过串口的方式与单片机进行通信,操作简单,并且自身携带的SMA接口可连接有源天线,工作能力强。模块的高灵敏度、低功耗及小巧的体积,适用于移动定位系统的应用,是GPS产品应用的最佳选择。在本系统中,它与STM32开发板连接来监测快递箱的实时位置,使系统实用性更强,便于携带[6]。GPS模块与STM32的连接方式如图3所示。

3.4 SIM800A传输模块

SIM800A是一款两频GSM/GPRS模块,工作频率为GSM/GPRS 900/1800MHz,模块尺寸为24*24*3mm,可满足对空间尺寸的要求。它支持中国移动手机卡,支持TCP/UDP通信,板载高效DC降压电路,可以将5-18V电源稳压在3.8V左右,板载TTL电平串口,串口电平做了匹配,可以跟STM32单片机直接连接。同时,硬件具有一路复位管脚,模块出现问题时,可以复位解决。STM32通过串口发送AT指令对SIM800A进行控制,只需进行串口数据的收发,便可低功耗实现远程服务平台的数据传输[7]。SIM800A模块与STM32的连接方式如图4所示。

4 软件设计

软件设计包含了硬件功能程序设计和软件功能程序设计。硬件功能程序设计通过Keil MDK软件编译实现,选择C语言作为编程语言,包括了温湿度数据采集程序,位置数据采集程序和数据传输程序[8]。软件功能程序设计的开发环境使用Android Studio软件,选择Java语言作为编程语言,包括查询界面和详细信息界面两部分。

4.1 硬件功能程序设计

1)温湿度数据采集程序

DHT11数字温湿度传感器采用单总线数据格式,单数据引脚端口完成输入输出双向传输[9]。数据发送流程为:首先主机发送开始信号,即复位DHT11,拉低数据线至少18ms,再拉高数据线20~40us,然后等待DHT11的回应,响应成功时DHT11会拉低数据线保持40~50us,然后再次拉高40~80us,开始输出数据。输出的是未编码的二进制数据,由5byte组成。湿度=byte4·byte3(%RH),温度=byte2·byte1(℃)[10-11],前四个byte相加等于byte0时校验正确。

2)位置数据采集程序

NEO-6M GPS模块采用串口进行通信,采用NMEA-0183协议输出GPS定位数据,采用UBX配置协议作为控制协议。在NMEA-0183协议中,GPS定位信息以ASCII码的形式来传递,我们称之为帧。程序分别解析GPGSV信息(可见卫星数)、GPGGA信息(GPS定位信息)、GPGSA信息(当前卫星信息)、GPRMC信息(推荐定位信息)和GPVTG信息(地面速度信息)[12],提取NMEA-0183信息,从而得到GPS定位的各种信息。UBX配置协议用来控制模块,以命令的形式进行,配置GPS的更新频率,NMEA输出信息的格式等,保存在外部EEPROM里面。

3)数据传输程序

系统接通电源后,STM32发送AT指令配置SIM800A,发送“AT+CIPSTART=“TCP” “api.heclouds.com”“80”指令,返回“CONNECT OK”,即通過TCP协议与PC端成功建立连接,通过串口调试助手可监测各模块是否正常响应。STM32通过串口向SIM800A发送数据,SIM800A通过HTTP协议接入OneNET平台并传输数据,在此之前先对OneNET进行相关设置:选择多协议接入,选择HTTP协议,新建设备与产品,新建温湿度及位置信息的数据流模板。程序中数据流模板的名称需与OneNET上设置一致,格式需按照POST请求方法的协议规范,包含在OneNET平台创建的设备名、APIkey、Host和Content-Length信息。数据上传完成后,对应的数据流模板将增加新数据[13]。

4.2 软件功能程序设计

App程序使用Java语言编写,开发环境使用Android Studio软件,软件主要分为查询界面和详细信息界面两部分,在查询界面可通过扫描二维码或手动输入快递单号的方式查询智能快递盒详细信息,后台根据输入的快递单号通过OneNET平台查询快递盒的详细数据,包括智能快递盒的温度、湿度信息以及定位信息,并将数据显示在详细信息界面,程序流程图如图5所示。

查询界面由输入框、扫码按钮以及查询按钮组成,如图6所示。该部分主要实现数据的查询,根据输入的快递单号在数据库中进行查询,若数据库中存在该快递单号,则根据该单号所绑定的设备ID查询OneNET平台的数据,若不存在,则提示该单号未绑定智能快递盒。

详细信息界面由当前地理位置信息、当前温度以及当前湿度组成,该部分负责解析OneNET平台返回的数据并显示在当前界面,其中,地理位置信息通过调用百度地图API所建立的地图来显示,温度和湿度作为文本信息显示在地图下方,如图7所示。

5 结束语

本文基于STM32单片机,采用DHT11,GPS模块分别采集快递箱的温湿度和地理位置信息,采用SIM800A上传这些数据到OneNET平台,并设计了一款手机App获取OneNET平台上的数据,实现了在手机端即可实时监测快递箱的温湿度信息以及位置信息的功能。该系统功耗低,易操作,具有广泛的应用价值。

参考文献:

[1] 陈文丽.快递物流业彰显超大市场规模优势[N].中国商报,2021-12-29(1).

[2] 傅良康,苏威,吴文秀.基于STM32的室内环境远程监测系统设计[J].科技资讯,2020,18(33):18-20.

[3] 徐鑫秀,赵士原.基于DHT11传感器的机房温湿度控制系统设计[J].现代信息科技,2020,4(14):57-59.

[4] 杨冬连,耿艳香,赵晶,等.智能种植箱系统的设计与实现[J].山西科技,2020,35(3):47-49,52.

[5] 王水发,范伟华.基于Arduino的智能安全窗监控系统的开发与研究[J].电子质量,2019(10):43-45.

[6] 张浩华,刘凡杨,佟佳琪.基于Arduino和OneNet云平台的温度与行踪监控系统设计[J].沈阳师范大学学报(自然科学版),2020,38(6):537-542.

[7] 徐晶,聂思兵,陈阵,等.基于GPRS的远程无线串口通讯系统设计[J].山西电子技术,2021(4):64-67

[8] 杨春丽.基于ZigBee技术的葡萄园环境监测系统[J].电脑知识与技术,2021,17(20):159-161.

[9] 林玩杰,李水峰,毛立夫,等.基于STM32智能家居控制系统的设计[J].电子设计工程,2019,27(24):176-180.

[10] 叶秀斌,潘依郎,魏经纬,等.基于NB-IoT的一种智能环卫装置的设计与实现[J].物联网技术,2019,9(3):97-99,101.

[11] 肖素华.基于STM32的智能家居管理系统的研究与设计[J].电脑知识与技术,2020,16(20):223-225.

[12] 宁波小遛共享信息科技有限公司.一种还车检测的方法、系统及装置:中国,202010470366.0[P].2020-10-16.

[13] 杨芸.基于Arduino与OneNET的家居环境远程监测系统设计[J].物联网技术,2020,10(9):11-13.

【通联编辑:梁书】

猜你喜欢
实时监测位置温湿度
温湿度控制器在回收砂冷却系统中的应用
基于DSP的多路温湿度监测系统
基于温湿度控制的天气预测装置
蒸发冷却温湿度独立控制空调系统的应用