收藏 分销(赏)

基于STM32的智能旅行箱设计与实现.pdf

上传人:自信****多点 文档编号:633513 上传时间:2024-01-19 格式:PDF 页数:5 大小:2.60MB
下载 相关 举报
基于STM32的智能旅行箱设计与实现.pdf_第1页
第1页 / 共5页
基于STM32的智能旅行箱设计与实现.pdf_第2页
第2页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2023年/第8期 物联网技术智能处理与应用Intelligent Processing and Application1330 引 言近年来,我国旅游业市场正以每年超过 10%的速度急速增长,旅游业市场的竞争一直都很激烈,旅游业对旅游相关产品的需求也呈现逐步增长的趋势,特别是旅行箱,更是旅游出行必备之物。传统的笨重旅行箱已不能满足客户需求,随着物联网技术的发展,结合物联网技术的智能旅行箱,必然成为市场和客户的“宠儿”,因此相关产品的研发也如雨后春笋般不断涌现。ALLOY+是中国最先研发的智能旅行箱1。这个产品在外形上拥有铝镁合金材质的外观,功能上主要有 APP 一键开锁、距离警报和 GPS

2、定位等。这款旅行箱不仅有其他旅行箱所没有的“智能”,还在提高安全系数上下了很大功夫,再搭配自主开发的手机 APP,拥有天气预报、导航提醒功能,达到有效提高旅行品质的目的。2019 年,全球首款基于视觉识别做到侧面跟随、智能避障的 OVIS 智能行李箱问世2,这款行李箱通过融合多传感器的数据能够实现侧面跟随主人行走、智能躲避障碍物的功能。张明等设计了一款能通过短信及时提醒用户是否有遗漏物品的系统3。周崇秋等设计了一款通过安卓手机客户端提醒客户,避免旅行箱丢失,如果丢失,可采用 GPS 定位,查找旅行箱在地图中的实时位置的系统4。综上所述,智能旅行箱的研究方兴未艾,但是没有可以通过手机 APP 图

3、形界面核对旅行箱箱内物品信息的系统,基于这种情况,本文设计了能实现该功能的系统。经调试,所设计系统具备实用性和市场应用价值。1 系统总体设计系统框架图如图 1 所示,该系统主要应用 STM32 模块作为硬件设计的主要模块,STM32 模块是一款配置Cortex-M3 内核的 32 位处理器,具备低成本、低功耗、高性能等优点5。将放入旅行箱的每件物品上都贴有一个相应电子标签,系统主要通过 RFID 模块读取物品上电子标签的序列码,而 STM32 则通过 WiFi 模块控制其他各模块之间的信息传输,然后处理信息。首先在系统手机端 APP,选择出门所要带的物品信息,待物品都放入旅行箱内,RFID 模

4、块读取放入箱内的电子标签序列号并将其传送给 STM32,通过WiFi 模块与服务器通信,把电子标签序列号及数量存入数据库中,再与已选择好的物品对应的序列号及数量进行比对,如能完全匹配则无物品遗漏,否则有物品遗漏,并把所遗漏物品的信息在界面显示,防止出现用户出门后才发现忘带了物品。图 1 系统框架图2 系统软件设计系统开始运行,STM32 模块会初始化其余模块,LED灯处于熄灭状态,可通过按键控制 LED 灯亮和灭,LED 灯灭代表物品放入,LED 灯亮代表物品取出。然后 RFID 模块开始寻卡,当一件物品放入旅行箱中,RFID 模块可直接获取装入旅行箱箱内物品的序列号,STM32 模块将电子标

5、签序列号和 LED 灯的标志位传给服务器。服务器根据收到的数据通过插入、查询、更新将物品信息存入数据库。系统一直基于 STM32 的智能旅行箱设计与实现王刘榕1,王 聪1,2,刘持标1,2(1.三明学院 信息工程学院,福建 三明 365004;2.福建省农业物联网应用重点实验室,福建 三明 365004)摘 要:文中设计一种基于STM32的智能旅行箱。该智能旅行箱系统以STM32模块为核心,再结合RFID模块、WiFi 模块、安卓手机等硬件,能识别旅行箱箱内物品和数量,并将数据传输至服务器。经调试,设计的安卓手机APP 能实现获取、查询旅行箱箱内所有物品信息,核对旅行需要携带物品信息并且给出遗

6、漏物品信息清单等功能。关键词:智能旅行箱;STM32;RFID;WiFi;数据传输;SQL 数据库中图分类号:TP277 文献标识码:A 文章编号:2095-1302(2023)08-0133-05收稿日期:2022-09-11 修回日期:2022-10-27基金项目:福建省中青年教师教育科研项目(JA15482);福建省农业物联网应用重点实验室DOI:10.16667/j.issn.2095-1302.2023.08.036物联网技术 2023年/第8期 智能处理与应用Intelligent Processing and Application134循环,不断地寻卡、读卡,达到将所有物品信息

7、都存入数据库的目的。系统程序流程如图 2 所示。图 2 系统程序流程2.1 WiFi 模块的初始化函数WiFi 是一种以 IEEE 802.11b 协议为基础的短距离无线传输技术,拥有较好的网络稳定性和较高的可靠性。与传统局域网的布线成本相比而言,WiFi 网络需要的成本资金要低,其网络只要装置一定数量的无线接入点就能覆盖整个指定区域6。WiFi 模块在使用之前需要进行相关的一些配置,首先向模块发送 AT+CWMODE=3 r n 指令,选择 WiFi应用模式为 AP+Station 模式,等模块返回 OK;向模块发送AT+RST r n 指令,重启模块,等待模块返回 OK;发送AT+CIPM

8、UX=1rn 指令,建立 TCP 多路连接模式;再发送 AT+CWJAP=212,qrs221122 r n 指令,加入WiFi 名称和密码,等待加入该 AP 成功则返回 OK;最后发送 AT+CIPSTART=4,TCP 192.168.1.107,8080 r n,等待模块返回 CONNECT OK,WiFi 模块初始化就完成了。该模块主要代码如下所示:void wifi_init()printf(AT+CWMODE=3rn);printf(AT+RSTrn);HAL_Delay(4 000);printf(AT+CIPMUX=1rn);printf(AT+CWJAP=212,qrs221

9、122rn);HAL_Delay(4 000);printf(AT+CIPSTART=4,TCP,192.168.1.107,8080rn);HAL_Delay(2 000);2.2 RFID 模块的读卡操作读操作函数:char PcdRead(unsigned char addr,unsigned char*pData)函数说明:密码验证成功,就能从 Mifare 卡中的扇区中获取 16 B 的数据。部分代码如下:while(1)status=RC522_Request(PICC_REQALL,CT);/*寻卡*/if(status=RC522_OK)/寻卡成功 HAL_GPIO_Write

10、Pin(GPIOC,LD3_Pin,GPIO_PIN_RESET);HAL_Delay(600);status=RC522_ERR;status=Anticoll(SN);/*防冲撞*/if(status=RC522_OK)/防冲撞成功 status=RC522_ERR;printf(AT+CIPSEND=4,11rn);HAL_Delay(300);printf(%02x%02x%02x%02x%dn,SN0,SN1,SN2,SN3,key_up);3 PC 服务器端的设计3.1 数据库表的创建SQL Server 能满足各种公司单位构建网络数据库的开发需求,在大型联机事务处理、电子商务以及

11、数据仓库等方面得到很广泛的运用,是现在开发各种大型数据库管理系统的不二之选7。SQL Server 能有效地降低数据库管理成本,在操作维护方面非常便捷,支持存储、处理多种类型的 数据。系统设计了一个名为 Suitcase 的 SQL 数据库,在该数据库中建有 2 张表:Table_1 和 Bill。表 Table_1 中有 2 个列名:ID 和 NAME,该表存有卡号(ID)和与卡号一一对应的物品名称(NAME),见表 1 所列。表 1 Table_1 表IDNAMEFab6f4cb衣服2bb74913裤子4b1d4513帽子ebbd4713鞋子8281f965袜子表 Bill 中有 4 个列

12、名:ID(卡号)、COUNT(已放入物品的数量)、MCOUNT(旅行要带的物品数量)、DMOUNT(要带的物品数量与已放入的物品数量之差),见表 2 所列。2023年/第8期 物联网技术智能处理与应用Intelligent Processing and Application135表 2 Bill 表IDCOUNTMCOUNTDCOUNTFab6f4cb0002bb749130004b1d4513000ebbd47130008281f9650003.2 PC 端与数据库的通信PC 端与数据库的连接:通过使用 SqlConnection 对象从而完成对 SQL Server 数据库的连接,以数据

13、库名连接方式连接。代码如下:public class DBConnection /单例模式,建立数据库连接 private static DBConnection instance=new DBConnection();private Connection conn=null;private DBConnection()try Class.forName(com.microsoft.sqlserver.jdbc.SQL ServerDriver);catch(ClassNotFoundException e)e.printStackTrace();try conn=DriverManager.

14、getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=Suitcase,sa,123456);catch(SQLException e)e.printStackTrace();public Connection getConn()return conn;public static DBConnection getInstance()return instance;通过 PC 端更新数据库:物品放入旅行箱,PC 端根据ID 号和 LED 灯标志位更新数据库中表 Bill 中 COUNT 的数据。如果标志位为 1,代表物品的放入,相应的

15、 COUNT+1;代码如下:public void insert(String temp)String sql;String no=temp.split(,2);char ch=no1.toCharArray();try if(ch0=1)sql=update Bill set COUNT=COUNT+1 where ID=?;else sql=update Bill set COUNT=COUNT-1 where ID=?;PreparedStatement st=conn.prepareStatement(sql);st.setString(1,no0);st.executeUpdate(

16、);catch(SQLException e)System.out.println(更新数据失败);通过 PC 端查询数据库:当用户选择查询自己的物品是否有遗漏时,PC 端通过多表查询,对比 Bill 表中 MCOUNT与 COUNT 的 数 据,计 算 出 物 品 遗 漏 的 信 息,代 码 如下:private void checkview()throws SQLException String show;String sqlstr=select NAME,DCOUNT from Bill,Table_1 where Bill.ID=Table_1.ID;PreparedStatement

17、 pstmt;pstmt=(PreparedStatement)conn.prepareStatement(sqlstr);ResultSet rs=pstmt.executeQuery();rs=pstmt.executeQuery();while(rs.next()if(!rs.getString(DCOUNT).equals(0)System.out.println(rs.getString(NAME)+rs.getString(DCOUNT);show=D+rs.getString(NAME)+rs.getString(DCOUNT);System.out.println(show);

18、sendto(show);try Thread.currentThread().sleep(100);catch(InterruptedException e)e.printStackTrace();4 安卓手机客户端的设计4.1 手机 APP 界面设计手机 APP Suitcase 设计有 6 个界面,分别为欢迎界面、主界面、帮助界面、查询全部物品界面、选择指定物品界面、查询指定物品界面。点击欢迎界面的“开始体验”按钮,连接服务器端,之后会跳转到主界面,如图 3 所示。主界面有 4 个按钮,点击“帮助”,跳转到帮助界面;点击“全部物品”,跳转到查询全部物品界面;点击“指定物品”,系统会跳转到

19、选择指定物品界面,如图 4 所示。物联网技术 2023年/第8期 智能处理与应用Intelligent Processing and Application136 图 3 欢迎界面 图 4 主界面查询全部物品界面,点击“刷新”按钮,APP 自动列出旅行箱内所有物品名称及数量,如图 5 所示。选择指定物品界面,手动选择要带物品的数量,点击“提交”,跳转到查询指定物品界面;点击“清空”,可重新选择物品数量,如图 6 所示。图 5 查询所有物品界面 图 6 选择指定物品界面查询指定物品界面,点击“刷新”,APP 自动列出已带物品与要带物品的差件数值,如图 7 所示。帮助界面可查看该 APP 的用法,

20、如图 8 所示。图 7 查询指定物品界面 图 8 帮助界面4.2 手机客户端与 PC 服务器端的通信手机 APP 通过 Socket 连接 PC 服务器端,完成通信。代码如下:try mSocket=new Socket(HOST,PORT);OutputStream outputStream=mSocket.getOutputStream();printWriter=new PrintWriter(outputStream);CheckBoxListener listener=(CheckBoxListener)getApplication Context();Listener.sendso

21、cket(mSocket);Listener.setOutStream(printWriter);In=mSocket.getInputStream();myHandler.sendEmptyMessage(2);showInfo(连接成功);catch(Exception e)isConnected=false;showInfo(连接失败);Log.e(tag,exception+e.toString();客户端接收到 PC 端返回的数据,之后客户端将数据分解为物品的名称及数量,显示到手机界面,代码如下:String result=readFromInputStream(in);try if

22、(!result.equals()Message msg=new Message();msg.what=1;Bundle data=new Bundle();data.putString(msg,result);msg.setData(data);myHandler.sendMessage(msg);catch(Exception e)Log.e(in,Exiting by Exception);用户在 APP 选择指定物品界面选定需要带的物品后,客户端将这些数据打包后一起发送给 PC 端,后由 PC 端存入数据库。部分代码如下:private void setyfnum()final Str

23、ing num=new String 1,2,3,4,5;AlertDialog.Builder builder=new AlertDialog.Builder(AppointActivity.this);builder.setTitle(选择数量);builder.setItems(num,new DialogInterface.OnClickListener()public void onClick(DialogInterface dialog,int which)yf=numwhich;yfnum.setText(yf););builder.show();5 系统调试首先将 STM32

24、模块、RFID 模块和 WiFi 模块放入到盒子中,模拟真实系统,在旅行箱放入物品时,RFID 模块识别物品的标签,STM32 单片机 LED3 灯闪烁;当从旅行箱取物品前,按 STM32 单片机的 UESR 按键,LED4 亮。物品全部都放入旅行箱后,选择查询所有物品信息,手机 APP 界面显示,如图 9 所示。在手机 APP 选择要带的物2023年/第8期 物联网技术智能处理与应用Intelligent Processing and Application137品,如图 10 所示,选择查询指定物品信息的界面,如图 11 所示。图 9 选择查询界面 图 10 选择要带物品界面 图 11 查

25、询后界面6 结 语经过系统运行和调试,智能旅行箱系统实现了通过RFID 模块可识别物品的标签,读取 IC 卡的信;将卡号信息存入 PC 端数据库;通过手机 APP 设置所要带的物品及其数量;通过手机 APP 查询旅行箱中所有物品的信息;通过手机 APP 查询所要带物品是否带齐,防止发生遗漏等功能。智能旅行箱系统设计过程中主要采用标准化和模块化的设计方式,因此软件具有较强的可移植性,同时选择的硬件模块也具备低功耗和低成本的优点。注:本文通讯作者为王聪。参考文献1 佚名.ALLOY 智能合金旅行箱问世用“芯”伴你看世界 EB/OL.(2015-09-11).http:/ 齐欧.全球首款“侧跟”行李

26、箱发布:基于视觉识别,实现智能避障 J.防灾博览,2019,19(5):88-89.3 张明,吕玥,黄晓,等.基于 RFID 和 GSM 的智能化旅行箱的设计 J.中国新通信,2014,16(13):114-115.4 周崇秋,沈瑾佳,蔡其恩,等.基于物联网技术的智能旅行箱防丢系统 J.电脑编程技巧与维护,2019,26(1):118-119.5 梁金梅,程琪彬,刘持标.基于 STM32 的孕妇安全监护设备开发 J.三明学院学报,2019,36(2):60-66.6 曾磊,张海峰,侯维岩.基于 WiFi 的无线测控系统设计与实现 J.电测与仪表,2020,48(7):81-83.7 邱李华,李

27、晓黎,任华,等.SQL Server 2008 数据库应用教程 M.北京:人民邮电出版社,2019:11-13.8 董文龙.面向智能旅行箱的自动跟踪技术的研究 D.杭州:浙江工业大学,2019.9 罗奕帮,谭晓静,陈海亮,等.一种基于多传感器数据融合的智能旅行箱设计 J.装备制造技术,2019,47(2):101-104.10 徐松,艾青,向波,等.基于 PLC 智能旅行箱运动控制系统设计 J.科技资讯,2017,15(34):73-74.作者简介:王 聪(1984),男,硕士,讲师,研究方向为物联网技术应用、语音信号处理。图 15 车位详情(四)图 16 车位详情(五)4 结 语为了解决公共

28、场所车辆出入效率低、停车拥堵、停车服务落后等社会问题,本文设计一种基于物联网技术的智能停车场系统。该系统以 STM32F103C8T6 为核心,配置多个地磁传感器和 ESP8266 WiFi 模块,目的在于可以快速直观地显示停车场的车位信息,帮助驾驶者减少找寻车位的时间,提高停车场的进出效率。此外,该系统还可借助手机页面掌握停车场和车位的实时信息。通过对整体系统的测试和验证,该系统可以满足预设功能,实时性和实用性满足需求,具有应用价值。注:本文通讯作者为殷婷婷。参考文献1 谭宇婷,李梦珠.车辆检测地磁技术研究现状及趋势 J.科技创新与应用,2017,7(2):92.2 林楷焱,钟俊健,陶铭.基

29、于物联网技术的智能停车场系统设计与实现 J.物联网技术,2022,12(6):93-95.3 常本超,夏宁,但唐仁.嵌入式系统开发技术 M.北京:人民邮电出版社,2015.4 张梅,何福贵.嵌入式开发技术总结 J.中国教育信息化,2009,15(17):78-80.5 李娣娜,黄同,薛娓娓.磁阻传感器 HMC5883L 在车辆检测及分类中的应用 J.电子技术与软件工程,2017,6(4):249.6 孙凯,李建权.基于地磁传感器的新型车辆检测器 J.自动化应 用,2017,58(9):151-152.7 张琥石,林伟龙,杨发柱,等.基于 ESP8266 WiFi 模块的物联网体温监测系统 J.物联网技术,2020,10(12):32-35.8 王轻,吴连威,何龙祥,等.基于阿里云物联网平台的医疗数据管理系统设计与实现 J.软件,2021,42(12):153-157.9 黄娇郁,唐海.基于阿里云物联网平台的自动气象站设计 J.湖北农业科学,2020,59(17):166-169.10 李佳旺.基于 ESP8266 无线 WiFi 模块的交互装置作品的设计与实现 D.武汉:武汉音乐学院,2020.(上接第132页)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服