基于SIM800C的短信投送系统的设计与实现

2021-03-24 11:16侯洪莉付东旭杨晓玲陈耿
电脑知识与技术 2021年2期
关键词:串口短信

侯洪莉 付东旭 杨晓玲 陈耿

摘要:虽然大多数企事业单位建立了内部管理信息系统或电子邮件系统,基本实现了内部信息及时交流。但是,员工不会一直关注内部信息系统的通知,以及在外出途中、参加会议等特殊情况下,无法使用内部管理系统时,一些内部信息无法及时传达。在该文中提出了一个基于短信的通知发送软件,采用SIM800C通信模块,能单次或批量生成并发送短信息,具有较好的即时性和保密性。该软件使用C#开发,实现软件控制SIM800C模块按要求发送短信,能预约发送时间,并记录发送状态,支持对发送失败的信息进行延时重发。该软件具有方便、实惠等特点,能满足各种中小企业发布重要信息的需求。

关键词:SIM800C;短信;串口;AT指令

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

文章编号:1009-3044(2021)02-0042-03

Abstract: Although most enterprises and institutions have established their internal MIS or e-mail system, basically realizing the timely exchange of internal information, employees will not always pay attention to the messages in the internal MIS. Some internal information cannot be delivered in time when employees are unable to use the internal MIS in special circumstances such as on the way out and attending meetings. A software for delivering SMS, which uses SIM800C communication module to delivering message one-by-one or in batch, is proposed in this article, and it has the advantage of timeliness and reliability. The software is developed with C#. It manipulates SIM800C module to send short messages according to the requirements, and it records the sending time and the sending status. It can deliver the failed messages by delayed retransmission. The software is convenient and affordable, which can meet the needs of various small and medium-sized enterprises to release important information.

Key words: SIM800C; SMS; serial port; AT instructions

1 背景

目前,很多的中小型企業单位都有自己的管理系统或电子邮件系统,用于内部传达通知信息、对外联络客户,但是存在信息发送不一定能及时被查阅的问题。员工可能因为出差或参加会议等特殊情况,无法随时随地登录内部管理系统进行联络,而电话通知效率较低,存在干扰正常工作的问题,不适合作为通知传达的手段。为解决这些问题,在本文中提出一个基于SIM800C的短信发送软件,可以为客户提供方便、稳定、可靠、安全的短信服务,较低的成本也减轻了中小企业的资金压力,具有较强的实用性。

此前,王会东在保密宣教短信平台的设计与实现中,针对保密工作的实际需求,解决企事业单位保守国家秘密的宣传教育等做了研究[1],在.NET平台上通过串口控制GSM Modem实现短信发送控制功能,满足了保密宣教工作的需求。吕延岗提出了一种基于GSM短信猫的串口通信的软、硬件系统总体结构[2]。受到前人思路的启发并针对中小型企事业单位的实际需要,本文完成了“消息通”短信发送软件的设计与实现,可按需求向客户和公司员工发送通知短信,进一步实现了通过预定模板生成批量投送短信和发送失败的短信再次发送等功能。

2 需求分析

短信作为一种信息传递方式以其即时、廉价等突出优点,引起了各行各业的普遍关注和重视。若依托现有的信息系统搭建短信平台可以有效地解决信息传达难的问题,对接收者的正常工作几乎不会产生干扰,且不与互联网直接连接,具有较好的安全性和私密性。

本系统开发的是一个面向中小型企业单位的业务管理系统。项目主要由两大部分组成:1)后端管理子系统和数据库;2)短信发送子系统。

后端管理子系统要满足如下技术要求:

1)方便的用户组织机构信息管理,维护整个机构的员工通信资料;

2)短信模板管理:维护短信模版,生成不同的短信模版,以便生成具体的短信;

3)短信生成管理:选择需要接收短信的人员,选择短信模版,自动生成具体的短信,并把短信写入数据库中,等待发送,数据库使用MySQL关系数据库系统;

4)按时间区间、发送部门统计短信发送量,以便统计工作量等需要。

短信发送子系统需要满足如下要求:

1)利用C#串口编程技术与短信硬件模块进行通信,实现短信发送,更新短信数据状态;

2)利用异步委托技术来实现异步短信连续发送,以提高短信发送效率;

3)使用SIM800C模板和AT指令来实现短信的发送。

该系统主要是为了满足公司与员工、客户之间方便且准确的信息交流需求而设计,主要的用户为系统运维人员,主要功能模块整理如图1所示。

3 系统设计

系统的基本业务流程包括:根据工作需要,从组织机构列表中选择需要投送信息的人员,并选择合适的短信模板填写通知信息,生成短信信息保存在主机数据库中,然后通过AT指令控制通信模块将短信文本发送给目标用户并返回发送结果。主机前端软件可以查阅短信投送的状态和统计结果等,并可进一步提供短信服务接口与其他业务系统进行交互。

根据业务流程分析,我们得到系统总体结构如图2所示。

3.1 硬件模块

SIM800C是一款四频GSM/GPRS模块,为城堡孔封装。其性能稳定,外观小巧,性价比高,能满足客户的多种需求,工作频率为GSM/GPRS850/900/1800/1900MHz,可以低功耗实现语音、SMS和数据信息的传输。

3.2 常用AT指令

AT指令是应用于终端设备与PC端之间的连接与通信的指令。每个AT命令行中只能包含一条AT指令;对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)。系统所使用的重要指令如表1所示[3-5]。

3.3 SIM800C短信发送控制流程

主机控制SIM800C模块发送短信的主要流程为:1)通过串口发送AT指令,完成同步,SIM800C反馈OK信息;2)主机发送指令设置PDU格式;3)设置中文短信模式;4)发送目标手机号和短信正文,并通知通信模块发送,主机进入监听反馈状态;5)成功发送短信后,SIM800C会反馈发送结果给主机,主机从数据库中读取新的短信继续发送。整个发送控制流程如图3所示。

3.4 数据库设计

本系统采用了关系型数据库存储所需数据,设计遵循第三范式要求,能够充分保证数据的完整性和一致性,为系统所需的增、删、改、查等功能提供了规范的数据持久化保存保证。本系统的总体E-R模型如图4所示。

4 系统实现

4.1 组织机构和人员管理

利用TreeView控件来实现组织机构的管理和维护,能很好地反映组织机构的层级关系,并且能快速查找到需要的组织机构。组织机构树的节点显示组织机构名,节点的Value绑定组织机构的编码,利用TreeView控件的AfterSelect事件能够提取到选择的组织机构的编码,以便进行与当前组织机构相关的人员搜索等。

该组织机构下的人员利用一个DataGridView控件来实现,获取选中的树结点,使用TreeView的AfterSelect事件提取出节点的名字,再根据这个关键字数据库里查询数据,将结果添加到DataGridView控件中。组织机构和人员管理的实现效果结果如图5所示。

根据工作需要,运维人员可以对内部机构和人员进行增加、编辑、删除等维护操作,包括调整岗位和手机号码修订等。

当员工离职或客户终止业务后,可以进行人员删除:选中要删除的人员,右键选择删除即可。

4.2 基于模板批量生成待投送短信

本系統设计了两种信息发布模板(会议模板和一般通知模板)供系统运维人员进行选择,并利用TabView控件的响应来控制模板的切换。根据会议通知信息的准确性需求,会议模板在通知模块的基础上增加了时间和地点,通过占位符设置填写的信息,点击确定按钮时信息将被拼接成一个完整的字符串通过Insert操作插入数据库的发送表中。基于模板生成短信的操作如图7所示。

4.3 SIM800C通信模块的启动控制

系统能够根据需要随时启动或停止SIM800C通信模块。用户首先需要打开连接SIM800C模块的串口以便主机发送控制信息和短信信息、接收通信模块反馈信息,打开串口的左边下拉框可以对串口进行选择,也可以使用软件自动读出所占用的串口,然后点击启动发送即可。停止发送按钮和挂起线程按钮可以终止正在进行的操作。

5 结束语

本文阐述了一个基于SIM800C的短信投送系统的设计与实现的主要方法。该系统通过软、硬件的相互结合实现逐条或批量的短信发送,减少人力资源的浪费。同时,该系统利用SMS进行信息投送,避免了信息与互联网的交互,保证了信息的安全性和私密性;接收者可以随时随地接收信息,保证了信息的及时性。经过试用,该系统能够进行高效率且低成本的信息交互,可以满足中小企业对信息传达的需求,具有较高的实用价值。

参考文献:

[1] 王会东.保密宣教短信平台的设计与实现[J].电子技术与软件工程,2017(14):64-65.

[2] 吕延岗,任晓鹏,张红瑞,等.集成GSM短消息的网络交互平台设计[J].河北省科学院学报,2012,29(1):15-18,27.

[3] 翟顺,王卫红,张衎,等.基于SIM900A的物联网短信报警系统[J].现代电子技术,2012,35(5):86-89.

[4] 朱伶俐,沈碧波.基于SIM900A的高速公路远程报警系统设计[J].通化师范学院学报,2015,36(4):4-6,36.

[5] 张庆力,刘姜伟,张鑫.基于SIM900A模块的短信收发系统设计[J].电子世界,2016(8):152-153.

[6] 刘马飞.C#串口高效可靠的接收方案设计[J].物联网技术,2018,8(8):23-25.

【通联编辑:谢媛媛】

猜你喜欢
串口短信
浅谈AB PLC串口跟RFID传感器的通讯应用
道歉短信
代发短信
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
短信笑坛
基于并行控制的FPGA多串口拓展实现
“八一”节日短信之一