极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13193|回复: 5

求助arduino控制GTM发短信

[复制链接]
发表于 2013-4-22 16:05:14 | 显示全部楼层 |阅读模式
我想将arduino采集到的温湿度通过GTM发送到特定的手机上,不知道大家谁做过??可以教教我吗附件中有GSM的资料

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2013-4-22 16:51:27 | 显示全部楼层
很简单的,毕业设计刚好是做这个的
贴一个子函数给你用吧,亲测是可以的、
  1. void gsm_sms(String text)
  2. {
  3.     Serial.println("AT");//测试GTM900-B是否正常通信,正常情况返回OK
  4.     delay(100);
  5.     Serial.println("AT+CMGF=1");//测试发送字符的格式为TEXT格式
  6.     delay(100);
  7.     Serial.println("AT+CMGS="618975""); //发送短信号码
  8.     delay(100);
  9.     Serial.print(text);//发送短信内容
  10.     Serial.write(0x0D);
  11.     delay(100);
  12.     Serial.write(0x1A);//十六进制1A发送信息
  13.     Serial.write(0x0D);
  14.     delay(100);
  15. }
复制代码

接线只需要接TX和RX就行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-22 17:15:32 | 显示全部楼层
caodingguang 发表于 2013-4-22 16:51
很简单的,毕业设计刚好是做这个的
贴一个子函数给你用吧,亲测是可以的、
void gsm_sms(String text)

这个不需要设置短信中心号码嘛
回复 支持 反对

使用道具 举报

发表于 2013-4-22 19:28:08 | 显示全部楼层
每个卡的中心号码一般在你拿到手时就有
回复 支持 反对

使用道具 举报

发表于 2013-4-22 19:30:06 | 显示全部楼层
  1. String meg="314123312,658";
  2. void setup()
  3. {
  4.   Serial.begin(9600);
  5.   Serial1.begin(9600);
  6.   Serial1.println("AT");
  7.   delay(100);
  8.   while(Serial1.available())
  9.   {
  10.     char c=Serial1.read();
  11.     Serial.write(c);
  12.     if(c=='K')
  13.     {
  14.       Serial1.println("AT+CMGF=1");
  15.       delay(100);
  16.       while(Serial1.available())
  17.       {
  18.         char c=Serial1.read();
  19.         delay(50);
  20.         Serial.write(c);
  21.         if(c=='K')
  22.         {
  23.           Serial1.println("AT+CSCS="GSM"");
  24.           while(Serial1.available())
  25.           {
  26.             char c=Serial1.read();
  27.             delay(50);
  28.             Serial.write(c);
  29.             if(c=='M')
  30.             {
  31.               Serial1.println("AT+CSMP=17,167,0,0");
  32.               while(Serial1.available())
  33.               {
  34.                 char c=Serial1.read();
  35.                 delay(50);
  36.                 Serial.write(c);
  37.                 if(c=='K')
  38.                 {
  39.                   Serial1.println("AT+CPIN?");
  40.                   while(Serial1.available())
  41.                   {
  42.                     char c=Serial1.read();
  43.                     delay(50);
  44.                     Serial.write(c);
  45.                     if(c=='K')
  46.                     {
  47.                       Serial1.println("AT+CMGF=1");
  48.                       while(Serial1.available())
  49.                       {
  50.                         char c=Serial1.read();
  51.                         delay(50);
  52.                         Serial.write(c);
  53.                         if(c=='K')
  54.                         {
  55.                           Serial1.println("AT+CMGS="187********"");
  56.                           while(Serial1.available())
  57.                           {
  58.                             char c=Serial1.read();
  59.                             delay(50);
  60.                             Serial.write(c);
  61.                             if(c=='>')
  62.                             {
  63.                               Serial1.println(meg);
  64.                               while(Serial1.available())
  65.                               {
  66.                                 char c=Serial1.read();
  67.                                 delay(50);
  68.                                 Serial.write(c);
  69.                                 if(c=='>')
  70.                                 {
  71.                                   Serial1.println("meg");
  72.                                   while(Serial1.available())
  73.                                   {
  74.                                     char c=Serial1.read();
  75.                                     Serial.write(c);
  76.                                   }               
  77.                                 }
  78.                               }
  79.                             }
  80.                           }
  81.                         }
  82.                       }
  83.                     }
  84.                   }
  85.                 }
  86.               }
  87.             }
  88.           }
  89.         }
  90.       }
  91.     }
  92.   }
  93. }
  94. void loop()
  95. {
  96. }
复制代码
回复 支持 反对

使用道具 举报

发表于 2013-4-22 21:34:23 | 显示全部楼层
五月的风 发表于 2013-4-22 17:15
这个不需要设置短信中心号码嘛

不用设置的,如果你的手机卡在手机中已经设置好的话。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 12:01 , Processed in 0.038662 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表