论文部分内容阅读
[摘 要]本文设计了一种智能排队通知系统。该系统以ARM为平台,结合GSM、LCD等模块实现用户排队、状态查询以及短信通知等功能。其中ARM处理器使用Cortex-M3芯片;GSM模块完成短信接收、发送;液晶屏实现操作提示和信息显示。该系统应用在银行、餐馆、医院、政府机构等场合,可以节省用户的排队时间,提高效率。
[关键词]ARM,GSM短信,智能提醒
中图分类号:G115 文献标识码:A 文章编号:1009-914X(2017)01-0264-02
1引言
随着社会的飞速发展,人们在工作生活中的很多方面都面临排队的情况,比如去银行办业务,去医院看病,到餐厅吃饭,经常要花费很多时间在排队等待,有时还会遇到插队、拥挤等不愉快的事情。如何将用户从枯燥的排队等待中解脱出来,让用户可以合理安排时间,抽身去做一些其他的事情,是本文考虑的主要问题。
现阶段,在金融、医疗、餐饮等领域,已经出现了众多的排队系统,但用户在使用时还不能够充分安排时间,不能及时了解排队的情况,因而不敢远离,比如在某些“过号作废”的场合,一旦错过,需要重新排队。近年来,在餐饮领域出现的一些排队软件可以让用户及时得到排队变化信息,但需要智能手机、无线网络等条件,使用范围受到限制。本文设计的排队通知系统基于GSM短信息,只要用户的手机能够收发短信即可使用,非常方便快捷。
2 硬件设计
本文设计的系统硬件主要包括Cortex-M3开发板、LCD液晶屏、GSM模块、键盘模块、存储器模块。Cortex-M3开发板具有强大的开发功能,板子上集成了按键、LED、USB和UART等外设,十分有利于开发。GSM模块通过URAT接口与Cortex-M3开发板连接,存储器模块通过I2C接口与Cortex-M3开发板连接,液晶屏、键盘模块与Cortex-M3开发板通过I/O口连接。
各部分的作用如下:鍵盘模块用于输入用户的手机号码;存储器模块用于存储用户手机号码和排队序号;GSM模块用于接收和发送短信息;LCD液晶屏上显示信息;Cortex-M3开发板是系统核心,接收数据进行处理,并将结果输出到GSM、LCD模块。系统硬件如图1所示。
(1) Cortex-M3开发板:采用了STM32F103RBT6芯片,MCU产生控制指令,通过UART接口传输到GSM模块,GSM响应指令给预约用户发送短信。并且当按键模块输入时,MCU实时将处理后的数据传输给LCD,显示输入的手机号,同时将手机号进行排队,分配序号并通过I2C接口存入存储器中。
(2)按键:键盘为4*4矩阵键盘,按键0-9的功能为输入手机号码;按键A键为取号操作;按键B为删除操作;按键C的功能为存储手机号码;按键D的功能为叫号操作。
(3)存储器:采用了AT24C08模块,可用空间是8Kbit。用于存储和查询排队用户的手机号码和排队序号,同时需要记录排队总人数和当前排队序号,防止系统掉电后数据丢失。
(4)GSM:采用了SIM900A模块,用于发送和接收短信,当用户的序号即将排到时,发送短信提醒用户做好准备;当接收到某一用户的查询指令时,将当前的序号和用户的序号回复给用户。
(5)LCD:使用12864液晶显示屏,12864是128*64点阵液晶模块的点阵数简称,内置8192个16*16点汉字,和128个16*8点ASCII字符集,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。系统运行时,显示屏显示操作提示和预约总数、当前正在办理序号等信息。
3 软件设计
本系统实现的主要功能如下:(1)用户输入手机号码进行排队,系统通过短信息将排队序号发送到用户手机上;(2)当用户排队序号快到时,提前发送提醒短信到用户手机;(3)用户发送查询短信,系统将用户当前的排队情况发送到用户手机。
主程序完成初始化后,检测是否有按键输入。 如果是排号功能, 检测输入的手机号是否是第一次记录,如是第一次排队,分配排队序号,并送到LCD显示, 同时更新存储器当前号码和排队人数,如非第一次排队,LCD显示已分配的排队序号;如果是叫号功能,更新存储器当前号码及排队人数,同时获取第x位排队用户信息,给其发短信提醒。
检测是否有短信输入,如果接收到查询短信,查询发送查询的手机号码是否存在,如存在,则获取当前排队序号信息,发送给查询方。软件系统流程图如图 2所示。
(1)初始化
系统初始化实现系统和外设正常工作的基本设置,包括时钟初始化;IO口初始化;外设接口(I2C、UART)初始化;LCD、GSM、AT24等外设的配置。
(2)取号处理
判断按键,当为取号操作时,LCD提示用户输入手机号码,系统分配排队序号,并将手机号码和序号保存在存储器中,将排队序号发送到手机。流程图如图3所示。
(3)叫号处理
判断按键,当为叫号操作时,LCD提示当前排队序号,系统更新存储器数据,查找要通知的手机号码和序号,将提醒短信发送到手机。流程图如图4所示。
(4)查询处理
系统监测UART口是否有数据输入,当有数据输入时解析是否为查询指令,若是则提取手机号码与存储器中号码对比,找到相匹配的排队序号,并发送给手机。流程图如图5所示。
(5)显示处理
LCD在系统运行的各阶段,分别显示不同的信息和提示,包括时间、系统手机号码、排队序号、总排队人数等。
4 结 论
本文设计的智能排号通知系统经过测试、试用,各项功能达到了预期目标,今后将在存储规模、通知策略方面进行优化。该系统具有智能化、成本低、使用范围广等优点,可广泛的应用于医疗、金融、服务等行业,将用户从枯燥的排队等候中解脱出来,同时提高使用行业的工作效率。
参考文献
[1] 郭书军. ARM Cortex-M3系统设计与实现—STM32基础篇[M]. 电子工艺出版社,2014
[2] 肖广兵. ARM嵌入式开发实例-基于STM32的系统设计[M].电子工艺出版社,2013
[3] 廖义奎. Cortex-M3之STM32嵌入式系统设计[M]. 中国电力出版社, 2012
[4] 何宾. Cortex-M3可编程片上系统原理及应用[M]. 化学工业出版社, 2012.
[关键词]ARM,GSM短信,智能提醒
中图分类号:G115 文献标识码:A 文章编号:1009-914X(2017)01-0264-02
1引言
随着社会的飞速发展,人们在工作生活中的很多方面都面临排队的情况,比如去银行办业务,去医院看病,到餐厅吃饭,经常要花费很多时间在排队等待,有时还会遇到插队、拥挤等不愉快的事情。如何将用户从枯燥的排队等待中解脱出来,让用户可以合理安排时间,抽身去做一些其他的事情,是本文考虑的主要问题。
现阶段,在金融、医疗、餐饮等领域,已经出现了众多的排队系统,但用户在使用时还不能够充分安排时间,不能及时了解排队的情况,因而不敢远离,比如在某些“过号作废”的场合,一旦错过,需要重新排队。近年来,在餐饮领域出现的一些排队软件可以让用户及时得到排队变化信息,但需要智能手机、无线网络等条件,使用范围受到限制。本文设计的排队通知系统基于GSM短信息,只要用户的手机能够收发短信即可使用,非常方便快捷。
2 硬件设计
本文设计的系统硬件主要包括Cortex-M3开发板、LCD液晶屏、GSM模块、键盘模块、存储器模块。Cortex-M3开发板具有强大的开发功能,板子上集成了按键、LED、USB和UART等外设,十分有利于开发。GSM模块通过URAT接口与Cortex-M3开发板连接,存储器模块通过I2C接口与Cortex-M3开发板连接,液晶屏、键盘模块与Cortex-M3开发板通过I/O口连接。
各部分的作用如下:鍵盘模块用于输入用户的手机号码;存储器模块用于存储用户手机号码和排队序号;GSM模块用于接收和发送短信息;LCD液晶屏上显示信息;Cortex-M3开发板是系统核心,接收数据进行处理,并将结果输出到GSM、LCD模块。系统硬件如图1所示。
(1) Cortex-M3开发板:采用了STM32F103RBT6芯片,MCU产生控制指令,通过UART接口传输到GSM模块,GSM响应指令给预约用户发送短信。并且当按键模块输入时,MCU实时将处理后的数据传输给LCD,显示输入的手机号,同时将手机号进行排队,分配序号并通过I2C接口存入存储器中。
(2)按键:键盘为4*4矩阵键盘,按键0-9的功能为输入手机号码;按键A键为取号操作;按键B为删除操作;按键C的功能为存储手机号码;按键D的功能为叫号操作。
(3)存储器:采用了AT24C08模块,可用空间是8Kbit。用于存储和查询排队用户的手机号码和排队序号,同时需要记录排队总人数和当前排队序号,防止系统掉电后数据丢失。
(4)GSM:采用了SIM900A模块,用于发送和接收短信,当用户的序号即将排到时,发送短信提醒用户做好准备;当接收到某一用户的查询指令时,将当前的序号和用户的序号回复给用户。
(5)LCD:使用12864液晶显示屏,12864是128*64点阵液晶模块的点阵数简称,内置8192个16*16点汉字,和128个16*8点ASCII字符集,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。系统运行时,显示屏显示操作提示和预约总数、当前正在办理序号等信息。
3 软件设计
本系统实现的主要功能如下:(1)用户输入手机号码进行排队,系统通过短信息将排队序号发送到用户手机上;(2)当用户排队序号快到时,提前发送提醒短信到用户手机;(3)用户发送查询短信,系统将用户当前的排队情况发送到用户手机。
主程序完成初始化后,检测是否有按键输入。 如果是排号功能, 检测输入的手机号是否是第一次记录,如是第一次排队,分配排队序号,并送到LCD显示, 同时更新存储器当前号码和排队人数,如非第一次排队,LCD显示已分配的排队序号;如果是叫号功能,更新存储器当前号码及排队人数,同时获取第x位排队用户信息,给其发短信提醒。
检测是否有短信输入,如果接收到查询短信,查询发送查询的手机号码是否存在,如存在,则获取当前排队序号信息,发送给查询方。软件系统流程图如图 2所示。
(1)初始化
系统初始化实现系统和外设正常工作的基本设置,包括时钟初始化;IO口初始化;外设接口(I2C、UART)初始化;LCD、GSM、AT24等外设的配置。
(2)取号处理
判断按键,当为取号操作时,LCD提示用户输入手机号码,系统分配排队序号,并将手机号码和序号保存在存储器中,将排队序号发送到手机。流程图如图3所示。
(3)叫号处理
判断按键,当为叫号操作时,LCD提示当前排队序号,系统更新存储器数据,查找要通知的手机号码和序号,将提醒短信发送到手机。流程图如图4所示。
(4)查询处理
系统监测UART口是否有数据输入,当有数据输入时解析是否为查询指令,若是则提取手机号码与存储器中号码对比,找到相匹配的排队序号,并发送给手机。流程图如图5所示。
(5)显示处理
LCD在系统运行的各阶段,分别显示不同的信息和提示,包括时间、系统手机号码、排队序号、总排队人数等。
4 结 论
本文设计的智能排号通知系统经过测试、试用,各项功能达到了预期目标,今后将在存储规模、通知策略方面进行优化。该系统具有智能化、成本低、使用范围广等优点,可广泛的应用于医疗、金融、服务等行业,将用户从枯燥的排队等候中解脱出来,同时提高使用行业的工作效率。
参考文献
[1] 郭书军. ARM Cortex-M3系统设计与实现—STM32基础篇[M]. 电子工艺出版社,2014
[2] 肖广兵. ARM嵌入式开发实例-基于STM32的系统设计[M].电子工艺出版社,2013
[3] 廖义奎. Cortex-M3之STM32嵌入式系统设计[M]. 中国电力出版社, 2012
[4] 何宾. Cortex-M3可编程片上系统原理及应用[M]. 化学工业出版社, 2012.