狗屎佳世通旗艦店,賣的什么破玩意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);
}
}
