有谁搞过用手机短信报警和串输数据,请指点一下,程序怎么编
有谁搞过用手机短信报警和串输数据,请指点一下,程序怎么编 用工业模块。如不明白请继续跟贴,我在这方面有3年的开发经验了。 了解AT指令就行了 请问是不是通过串口给手机发送AT命令,然后再从手机接收信息,比如短消息之类的? 这是正解。 听起来好复杂,有例子? marker能给出一些图纸和例程吗,谢谢了 你可以到ATMEL网站上下载 AVR323 这一个PDF和软件,是一个AVR与GSM通讯的应用笔记,如果不清楚,可以MSN:zhou.hua2006@hotmail.com 谢谢楼上指点 先给个文档给你吧。如果不明白我写个例程吧。(没办法我不能和公司产品的例程一样。)不过你看完下面的文档应该可以自己编写例程了。
点击此处打开armok01118001.pdf
点击此处打开armok01118002.pdf 多谢了,有没有谁用单片机跟对讲机(TETRA)连起来发短信的? 全英文的啊!MARKER可不可以先讲一下流程,再点明关键的注意事项,让我等后生有个概念先。 这是个好题目,知道的请多讲讲,仔细点 那如果手机收到了短消息,会自动发送给PC的串口吗? 基本流程:
初始化:
//我用的是TEXT模式,如传输中文需用PDU模式。
//
void Init_Modem(void)
{
wdt_reset();
Uasrt0_put_s("ATV1"); //full headers verbose response text
delay_ms(100);
Uasrt0_put_s("ATE0"); //Characters are not echoed
delay_ms(100);
Uasrt0_put_s("AT+IPR=9600"); //set bauds rate
delay_ms(100);
Uasrt0_put_s("AT+CMGF=1"); //Text mode
delay_ms(100);
Uasrt0_put_s("AT+CMEE=1"); //ERROR result codes
delay_ms(100);
Uasrt0_put_s("AT&W"); //save config
delay_ms(100);
Uasrt0_put_s("AT+CMGD=1,4"); //All messages are deleted
wdt_reset(); //rest watch dog
}
ISR(USART0_RX_vect)
{
//串口中断服务
}
//当短信到来时模块的串口自动会发送CMTI信息。根据CMTI你可以发送AT+CMGR=<index>来读取,如AT+CMGR=1 读取第一条短信。
一般不传输中文基本上用如下几条命令
AT+CMGR //读短信
AT+CMGS //发送短信
AT+CMGD //删除短信
AT+CSCA //设置短信中心
你在网上找找,应该有不少这种文档。
如果你要其它操作如:管理出错信息,查看小区球信息那只能看文档了。
Q:shangxd 那如果手机收到了短消息,会自动发送给PC的串口吗?
A:短信提示是自动的,但短信内容你要发AT+CMGR=<index>去读。而且是短信提示随机的,只要收到短信就发短信提示。
由于模块的串口发过来新短信提示是随机的,如果你的程序用中断来处理就不能大占用中断服务时间,基本上接收完马上退出中断。如果你用定时查询的方式则不存在这个问题。
文档附录有一些应用例子。可以先看看。 多谢了 多谢了 谢谢MARKER,有空我试试,现在还是看不太明白,以前没接触过。 老帖子了,现在的做法是如何呢?
页:
[1]