图3.4 SIM900A PCB
图3.5 SIM900A硬件系统实物图
14
4基于SIM900A的SMS、TCP功能实现
4.1 SMS功能实现
SMS(Short Messaging Service)中文名称短信服务,短信是当下每一部手机上必备的功能之一,顾名思义,它是在手机之间发送文字信息或从个人计算机或手持设备向手机发送信息的一种方式,其文本信息的最大发送量为160个字符(字母、数字或者拉丁字母中的字符),对于中文一般最大发送量为70个字符。 4.1.1 SMS工作原理
以手机为例,尽管平时没有打电话或者接听电话,但是我们的电话却总在不停地收发数据,它通过被称为控制信道的控制通路与手机发射塔进行通信。这种通讯的目的是让手机系统了解自己所在的信号区域,以便移动时手机可以切换到其他信号区域以及确定工作正常。手机使用控制通道来建立呼叫,控制通道同样也为SMS短信提供通路。当我们向一部手机发送短信时,该短信将通过手机发射塔以控制通道上小型数据包的形式先通过SMSC(短信业务中心),然后通过手机发射塔,再由发射塔将短信发送到目标手机。
对于短消息的控制共有三种模式:Block Mode、基于AT指令的Text Mode、基于AT指令的PDU Mode。目前手机中默认使用PDU Mode,通过PDU编码的短消息内容可以是文字、声音或者图像。Text Mode只能用于发送ANSI范围的字符,发送方式比较简单。本文通过文本模式发送短消息。 4.1.2 SMS实现步骤
在本系统中,利用PC机通过串口控制SIM900A模块实现短信收发功能。首先通过9针串口线将PC机与SIM900A模块连接,打开串口调试软件,并设置相应参数:波特率-9600、奇偶校验-无、数据位-8、停止位-1。设置完毕,在PC机端发送AT+ENTER,当连接正常时会返回“OK”。然后输入相应的AT命令控制GSM模块工作,详见下图
15
图4.1 SMS实现步骤与结果
由图8可见,该SIM900A系统实现了短信收发功能。我们通过该SIM900A系统向电话13842894487发送一条短信“THIS IS A TEST FROM SIM900A”,由于该电话为系统本身的电话号码,可以通过结果发现该系统收到自己发出的短信,并返回+CMTI:”SM” 21表示收到短信,并且该短信为短信存储位置的第21条。最后通过一条语句”AT+CMGR=21”读取该短信。
AT命令AT+CMGF=1命令解释设置短消息格式,参数“1”表示设置短信系统进入文本模式,与PDU模式相反设置模块使用的字符集,“GSM”表示使用GSM默认标准7位AT+CSCS=”GSM默认字符。AT+CMGS=“**********”设置接收方电话号码AT+CMGR=**读取短信,参数为短信位置 表1 SMS相关主要AT命令
4.2 TCP数据传输功能实现
GPRS当前广泛应用的行业有电力、有天、工业控制、运输、金融、证券、公共
安全、天气预报、交通信息发布等。应用特点是数据量小、发送时间间隔大以及不定时发送。利用GPRS网络进行数据传输,具有成本低、组网灵活迅速、范围广等优势。
16
4.2.1 TCP数据传输原理
在应用中,用户在GPRS网络课选择TCP或者UDP传输协议。UDP不提供可靠性连接,它把应用程序传给IP 层地数据发送出去,但是并不保证他们能到达目的地。TCP提供与UDP完全不同的服务。TCP提供一种面向连接的可靠的字节流服务。TCP将用户数据打包构成报文段,并在发送数据后启动一个定时器,等待对端数据确认。另一端对收到的数据进行确认,对失序的数据重新排序,丢弃重复的数据。TCP提供端到端的流量控制,并计算和验证一个也强制性的端到端检验。
面向连接意味着两个使用TCP的应用在彼此交换数据之前必须先建立一个TCP连接。对于其连接过程,TCP用三个报文段完成连接的建立,该过程亦称为三次握手。而终止一个连接则需要四次握手。此外,数据发送需要结果接收方确认,并有超时重传机制。因此,TCP在传输中提供了可靠的通讯保障,同时付出了增加网络开销的代价。 4.2.2 TCP数据传输实现
在本系统中,通过两种方式实现了TCP数据传输功能。一、利用PC机通过串口控制SIM900A模块实现数据传输功能。该方式通过9针串口线将PC机与SIM900A模块连接,设置相应串口参数:波特率-9600、奇偶校验-无、数据位-8、停止位-1。然后输入相应的AT命令控制GSM模块工作。二、利用单片机控制SIM900A模块传输数据。该方式利用硬件系统上的CC2430硬件接口,CC2430为一个51内核的集CPU、无线收发模块于一体的片上系统,在此仅当做单片机使用。通过单片机设置SIM900A连续工作,处于连续发送数据模式,对于该模式本文不做详细介绍,只提供相关主要程序代码见附录。
下面详细介绍PC机通过串口控制SIM900A模块进行TCP数据传输的步骤:
17
图4.2 建立监听服务器
步骤一:在数据接收端建立监听服务器。在本例中,监听PC机端口50000,监控是否有数据到达50000端口。由图4.2可见,服务器的IP为192.168.7.10,该IP是内部IP,由其连接的路由器提供。此处需要在接在Internet上的具有唯一地址的路由器上将发送到其上的50000端口的数据转发到内部IP为192.168.7.10的服务器的50000端口。
18