微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 射频工程师文库 > GSM网络在网络家电中的应用

GSM网络在网络家电中的应用

时间:02-10 来源:互联网 点击:

栈结构,最大任务数10个,超出的部分自动丢弃(一般任务数不会超过3个)。每增加一个新任务,任务压栈:任务数加1,并记下该任务的命令、地址。程序检查目前有无待处理的任务,如有,则依次弹栈处理,每处理1个,任务数减1,直到任务都处理完毕。这些任务包括处理PC命令,转发PC命令给空调,处理空调返回数据,回应PC命令,网关扫描空调,容错处理等。

网关处理完所有任务后(任务数为0),才对已登陆的空调状态进行轮询扫描,同时,每隔一定时间查询一次是否有新空调加入网关,如有,则由网关自动分配空调地址(低位)使其登陆,登录是以信息码区分的,所以不会出现不同空调具有相同地址的情况。  

由于既要与PC通讯又要与空调通讯,因此我们将与空调的通讯采用I/O口模拟,波特率为1200。空调数量越多,网关轮询一遍所需时间越长,按照我们的协议100台空调轮询一遍的时间约在550ms*100即1min左右,但这已能满足空调等家电实时性要求不高的场合。网关将轮询时得到的空调状态保存在外扩RAM中,当PC要求刷新所有空调状态时,网关将这些数据按每15台一组整体打包发给PC,这样既提高了PC的查询速度,又保证了空调状态的实时性。  

通过PC设定报警电话(如PCModem模块的SIM卡号)后,在网关查询到某台空调发生故障且网关Modem处于不忙状态时,网关会主动向该电话拨号,连接成功后可由PC自动查询到空调故障。也可以短信形式向用户报警。

4.3 短信处理  

4.3.1读短信  

收到PC或用户发来的新短信时,TC35模块会告知网关该短息的index,如index=0x31(ASCII符),则通过"AT+CMGR=1r"命令可读到该信息的内容。如SMSC的号码是13800765500(顺德地区信息服务中心码),发送方手机号码为13690673365,信息内容为"123空调10开"(123为密码,10为空调低位地址),则网关收到的短信PDU串可以为:08 91683108705605F0 840D 91683196603763F5 0008 4060915135930010 0031003200337A7A8C03003100305F00单片机读到上述短信后,需要进行以下几项工作:  

(1)记录发送方手机号码(上表第6、7部分),以便回复短信;(2)根据短信编码方式(第8部分),对短信内容进行解析。因编码方式有7位、8位和16位(USC2),解码程序也就不一样(程序略);(3)进行密码校验,如密码不正确,则直接将其删除;(4)进行密码校验通过,且短信内容符合相关约定,则将短信命令以特定协议格式转发给相应空调,并将该短信删除。因此,网关收到上面短信后,就将开机命令发给10号空调;(5)在规定时间内,空调未返回执行结果,网关将重发。如重发3次仍没返回,则识系统通讯故障。  

4.3.2写短信  

仍以上述短信为例。空调收到网关的开机命令后执行开机操作,并将执行结果返回给网关。如网关判断该返回是回应短信的,则网关以中文短信形式将结果发到PC或用户手机上(此例中号码为13690673365),从而方便而又廉价地实现了对空调的双向短信控制。发触的PDU串为:08 91683108705605F0 1100 0091 6831966037635F 00 0801 107A7A8C03003100305F00
表1 发送短信的格式

经测试(小灵通手机除外),回复短信时,为简化程序,上述第1、2、4、5、6、7、9、10、11部分可用表中的固定字段。  

由于网关是用单片机控制来实现短信收发的,因此在对信息内容编码时,需用到GB2312到Uni-code编码的转换表,即对每个GB2312字符,根据它是中文字符还是英文字符分别进行查表转换,这样也就要求单片机的ROM容量要在60k以上。我们使用的单片机才32k ROM,没有外扩,因此程序中的汉字列表只能根据实际使用需要选择2000个左右的常用汉字,这已能满足绝大多数家电控制的要求。  

5 结束语  

由GSM模块TC35及单片机构成GSM网关,可以很好的完成短消息收发和数据通信,由此构成的GSM网络空调控制系统是其应用的一个实例,其它网络家电,嵌入相应协议后就可使用。通过较长时间的可靠性试验和用户试用,目前系统运行稳定,用户反映良好。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top