微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ARM-Linux和GPRS的家庭智能控制终端设计与实现

基于ARM-Linux和GPRS的家庭智能控制终端设计与实现

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

iconv () 函数,该函数可以实现Linux支持的任意的两种编码之间的转换。实现的方法:首先用iconv_open(),打开一个转换句柄,指定两种转换前的编码和转换后的编码。然后用 icnov() 作转换。最后用 iconv_close()关闭句柄,释放资源。完成转换后,即可以正确的发送。

(2)发送:向MC35模块发送一条AT指令,得到OK响应,则表示控制器与GPRS模块通讯正常,通过AT+CSCA=***及AT+CSCA=0命令设置设置短信中心号码及短信格式(PDU)。然后发送 AT+CMGS = 电话号码,得到提示符号>,此时可以向MC35模块发送编辑好的PDU编码并以CTRL+Z结束。得到响应OK,则发送成功;如果收到 ERROR则表示发送失败,重新初始化MC35模块,发送信息。

(3)接收:当收到短信时,发送AT+CMGR=X从SIM卡读取短消息并调用短信处理程序作相应转换。

5.2.2 GPRS联网在Linux下的实现

GPRS联网是Linux的PPP协议实现的。因此在编译内核时需要增加Linux内核的PPP支持。然后根据程序中提供的配置信息,包括移动的APN*/为CMNET,通讯协议IP,拨号号码 *99***1#,串口设备号/dev/ttyS2,波特率9600,用户名,密码等信息配置PPP协议需要的5个脚本和配置文件:ppp-on、 ppp-off、options.gprs、dialer.gprs、pap-secrets.完成设置后,运行ppp-on,就可以进行GPRS拨号;运行ppp-off断开连接。

GPRS联网流程(控制器作为客户端):(a)当用户希望通过网络访问GPRS模块时可以通过短信方式向主机 GPRS模块发送联网命令,包括用户的IP地址和相关配置信息。(b)主机根据用户短信获得GPRS上网连接的配置信息,并生成对应的拨号脚本文和配置文件。调用ppp-on脚本进行PPP拨号。(c)判断PPPD是否拨号成功,标志是能否生成ppp0网络设备。(d)在数据传输过程中通过看门狗实时观测网络连接状态,网络掉线时,主机保存当前数据状态,重新启动GPRS模块并恢复连接。(e)结束本次任务时,用户在网上发送命令,让控制器调用ppp- off,断开连接。

5.3系统软件流程

软件流程如图2所示,系统上电启动后,首先对包括串口,LCD,键盘, GPRS模块以及网络配置文件等做相应的初始化。并检测GPRS模块和主机是否通讯正常。然后开始对从机进行轮询,发现警情时,读取并存储报警信息,启动报警器并将相应的报警信息通过拨号和短信的方式通知用户。当收到用户命令时,先判断用户的控制方式,再做出做出回应。

6 结语

本文介绍了一种基于ARM-Linux和GPRS技术的家庭智能控制终端,文中从软、硬件两方面给出了详细的设计思路和实现方法。对家庭智能控制器系统实现中存在的主要问题提出详细的解决方案,并且在实践中证明了其可实施性。

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

网站地图

Top