arduino 5 短信例程

Posted kekeoutlook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arduino 5 短信例程相关的知识,希望对你有一定的参考价值。

 

 

 

串口接收短信内容,发出去

1修改号码

2发送的是纯英文

 

#include<SoftwareSerial.h>
 
#define phonenum_call "18150561160"  // 最好移动卡  联通卡支持度不是很好
 
 
SoftwareSerial softSerial1(4,5);//软串口RXD4、TXD5,与短信模块通信
 int sendMeg(String phonenum,String text)//发送信息的函数,直接调用即可,无需修改
  {
 
        softSerial1.println("AT");//对GSM发送AT,看响应
        char comdata=0;//判断接收到的最后一位是否对
        String phone="";//电话号码存储
        phone="AT+CMGS=""+phonenum+‘"‘;  
         while (softSerial1.available() > 0){
        comdata = softSerial1.read();  //每次读一个char字符,并相加
        delay(2);
        }   
        softSerial1.println("AT");//对GSM发送AT,看响应
        delay(1000);
        while (softSerial1.available() > 2){
        comdata = softSerial1.read();  //每次读一个char字符,并相加
        Serial.print(comdata);//错误
        delay(2);
        }
        if(comdata!=‘K‘)//判断没有收到OK
        {
        Serial.println("error1");//错误
//        return  0;
        }
        comdata=0;    
        softSerial1.println("AT+CMGF=1");//设置GSM文本模式
        delay(500);
        while (softSerial1.available() > 2){
        comdata = softSerial1.read();  //每次读一个char字符,并相加
        delay(2);
        }
         
        if(comdata!=‘K‘)//没有收到OK
        {
        Serial.println("error2");
//        return  0;
        }
        comdata=0;
        softSerial1.println(phone);//发送的目标号码
        delay(1000);
        while (softSerial1.available() > 1){
        comdata = softSerial1.read();  //每次读一个char字符,并相加
        delay(2);
        }
         
        if(comdata!=‘>‘)//没有收到>
        {
        Serial.println("error3");
//        return  0;
        }
        comdata=0;
        softSerial1.print(text);//发送所写内容
        delay(500);
        softSerial1.write(0x1A); //结束输入文本,并发送
        Serial.println("success");  //成功  
     
 }
 
 
  
void setup(){
//硬串口
Serial.begin(9600);
//监听软串口通信
softSerial1.begin(9600);
softSerial1.listen();
delay(5000);
}
  String  comdata;
void loop(){
     
    if(Serial.available()>0){
   //   delay(1);//影响读取速度
      comdata = Serial.readString();
      sendMeg(phonenum_call,comdata);//给15147300333  发送信息
      comdata="";
      delay(3000);     
      }
     
}

  

以上是关于arduino 5 短信例程的主要内容,如果未能解决你的问题,请参考以下文章

无法在片段内查看接收短信

官网例程目录

esp32多个例程如何组合

arduino uno +sim900+手机接收短信

android小知识点代码片段

Arduino的蓝牙模块收到的信息为啥乱码