狗屎佳世通旗舰店,卖的什么破玩意sim900a芯片,不支持联通卡,还生明模块支持双卡的

之前买的esp8266-07都是内存偷工减料

买的液体浊度传感器给的原理图也不给基本接线。

差评垃圾店,你敢卖就别怪我吐槽。耽误我这么多时间。

问题

使用arduino nano板子以及其扩展板子经常因为电流不足短信无法正常工作

需要额外供电,l例如一个单独的usb-ttl(5v)或者 220v-5v或220v-12v插在扩展板子供电

如果用arduino nano板子(店家不同质量不同)自带供电 USB线很可能电流有限制

导致功率过低发不出短息

这个时候单独用一个USB-ttl来个5V供电就解决了

1 只能发送英文

#include<SoftwareSerial.h>
SoftwareSerial softSerial1(4,5);//软串口RXD4、TXD5,与短信模块通信 int sendMeg(String phonenum,String text)//发送信息的函数,直接调用即可,无需修改
{
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"); //成功 } // for循环若收不到消息会卡死 暂时用来看逻辑
int sendsim2(String phone_num,String text,SoftwareSerial &p_serial)
{
p_serial.println("AT");
delay(500);
p_serial.println("AT+CSCS=\"GSM\"");
delay(500);
p_serial.println("AT+CMGF=1");
delay(500);
p_serial.print("AT+CMGS=\"");
p_serial.print(phone_num);
p_serial.println("\"");
// Serial.println("1");
//for(;p_serial.read()!='>';) ;
// Serial.println("1");
p_serial.print(text);
delay(500);
p_serial.write(0x1A);
delay(500);
p_serial.flush();
delay(100); } void setup(){
//硬串口
Serial.begin(9600);
//监听软串口通信
softSerial1.begin(9600);
softSerial1.listen(); } void loop(){ sendMeg("15529672865","msg to phion");//给15147300333 发送信息
// sendsim2("15529672865","ddd",softSerial1);
delay(5000);
}

  

从单片机串口拿数据,然后转发

32有各种各样的问题

#include<SoftwareSerial.h>

#define phonenum_call "15529672865"

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);
} void loop(){ if(Serial.available()>0){
delay(1);//影响读取速度
String comdata = Serial.readString();
// Serial.print("Serial.readString:");
// Serial.println(comdata);
comdata = "";
sendMeg(phonenum_call,comdata);//给15147300333 发送信息
delay(5000);
} }

  

arduino (3) 控制sim900A发送短信的更多相关文章

  1. 4.2 使用STM32控制MC20发送短信

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

  2. 3.2 使用STC89C52控制MC20发送短信

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

  3. arduino控制A9G发送短信

    #include<SoftwareSerial.h> #define phonenum_call "18150561160" // 最好移动卡 联通卡支持度不是很好 S ...

  4. 2.2 使用ARDUINO控制MC20发短信

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

  5. 2.5 使用ARDUINO做主控,手机发送短信控制开关LED

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

  6. Arduino+sim800C家居安防火灾报警 拨打电话 发送短信例程程序

    家居安防报警器,参考程序. 火灾报警 涉及用sim800c发短信,拨打电话通知. 接线: Sim800c 3.3V -> Arduino 3.3V Sim800c GND -> Ardui ...

  7. 脚本控制向Android模拟拨打电话,发送短信,定位设置功能

    做行为触发的时候要向模拟器实现拨打电话,发送短信,定位设置的的功能,可以很方便通过telnet localhost  5554实现. 写个脚本很快的搞定了.网上资料很多,脚本的很少,也所积点德啦. 写 ...

  8. 短信接口调用以及ajax发送短信接口实现以及前端样式

    我们短信api用的是云信使平台提供的非免费短信服务:官网提供的demo有两种,分别是function加其调用.class文件加其调用. 在这里我们用class文件加调用: 首先,ThinkPHP里面自 ...

  9. Windows Phone开发(24):启动器与选择器之发送短信

    原文:Windows Phone开发(24):启动器与选择器之发送短信 本节我们通过一个简单的发送短信示例来演示一下如果配合使用PhoneNumberChooserTask和SmsComposeTas ...

随机推荐

  1. JavaScriptES6中Map与对象、数组,JSON之间的相互转换

    JavaScriptES6中Map与对象.数组,JSON之间的相互转换 https://blog.csdn.net/c__dreamer/article/details/82183130

  2. 深入Pytorch微分传参

    导数 这段代码揭示了多个变量的微分以及如何求解loss为向量的导数 m1 = Variable(torch.ones((3,2)), requires_grad=True) m2 = Variable ...

  3. python--各种锁机制归纳整理

    Q:为什么要用锁?什么样的业务场景下需要用锁? 就拿之前的工单系统来说,当审批方式为角色组审批时,代表该角色组内任意一人审批即可,这时,该角色组内成员的系统上都是可以显示审批按钮,如果此时A审批员和B ...

  4. 使用pymysql模块进行封装,自动化不可或缺的数据库校验

    import pymysql class HandleMysql: ''' 定义一个mysql处理类 ''' def __init__(self, hostname, username, passwo ...

  5. 【洛谷5008】逛庭院(Tarjan,贪心)

    [洛谷5008]逛庭院(Tarjan,贪心) 题面 洛谷 题解 如果图是一个\(DAG\),我们可以任意选择若干个不是入度为\(0\)的点,然后把它们按照拓扑序倒序删掉,不难证明这样一定是合法的. 现 ...

  6. 【LOJ#2687】Vim(动态规划)

    [LOJ#2687]Vim(动态规划) 题面 LOJ 题解 发现移动的路径一定是每次往后跳到下一个某个字符的位置,然后往回走若干步,删掉路径上的所有\(e\),然后继续执行这个操作. 这里稍微介绍一下 ...

  7. Netty — 线程模型

    一.前言 众所周知,netty是高性能的原因源于其使用的是NIO,但是这只是其中一方面原因,其IO模型上决定的.另一方面源于其线程模型的设计,良好的线程模型设计,能够减少线程上下文切换,减少甚至避免锁 ...

  8. Spring Boot 启动以后然后再加载缓存数据 CommandLineRunner

    实际应用中,我们会有在项目服务启动完成以后去加载一些数据或做一些事情(比如缓存)这样的需求. 为了解决这样的问题,Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRu ...

  9. 下载文件旁边附的MD5/SHA256等有什么用途?

    在我们下载很多软件时,旁边会出现md5,sha1/sha256/sha512等一长串字符串,这些字符串是什么意义呢? 因为怕盗版或者怕软件被植入病毒或者插件等,要对软件的完整性做校验.步骤:先下载完软 ...

  10. make 命令与 Makefile

    make 是一个工具程序,通过读取 Makefile 文件,实现自动化软件构建.虽然现代软件开发中,集成开发环境已经取代了 make,但在 Unix 环境中,make 仍然被广泛用来协助软件开发.ma ...