最近一个项目需要有发送短信功能,于是我买了一个gprs modem,Q2403吧 GPRS/GSM只要有这个标志就可以连接网络,可以发彩信。先搞搞短信,先百度了下,花了几天时间摸清楚了发送短信的流程,其实网上有很多例子,本人开发的是基于ARM9嵌入式的程序,找了个例子,分析了一下,修改了一些地方,运行下就实现了发送短信的功能。虽然代码不是我写的 ,但是还是想把它写出来分享给更多的人。
大致流程是这样的:
1.刚开始要配置串口的一些东西,说实话我也不懂大概知道了下波特率,奇偶校验什么的,没去做太多研究。
2.设备驱动的名称要知道,我是用串口转usb的所以是 /dev/ttyUSB0 。
3.接下来就是短信的一些设置了,总之有两种模式PUD和文本格式
我采用的是文本格式,个人感觉比较简单:
1. strcpy(buff,"at\r\n"); nwrite = write(fd,buff,strlen(buff));
2。strcpy(buff,"AT+CMGF=1"); 格式为文本 strcat(buff,"\r\n"); nwrite = write(fd,buff,strlen(buff));
3。 strcpy(buff,"AT+CMGS="); 电话号码 strcat(buff,cmgs); strcat(buff,"\r\n"); nwrite = write(fd,buff,strlen(buff));
4. memset(buff,0,sizeof(buff)); 短信内容 strcpy(buff,message); nwrite = write(fd,buff,strlen(buff)); printf("nwrite=%d,%s\n",nwrite,buff);
另一方面我还想继续研究下彩信发送,去网上大致查了下,复杂的多,要了解WAP mms协议等。我正在研究中,已有结果会分享给大家。