Пример программы для ARDUINO для общения с SIM800 через Serial порт
#include <SoftwareSerial.h>
uint32_t timer = 0;
uint32_t timer1 = 0;
uint32_t timer2 = 0;
// создаём объект mySerial и передаём номера управляющих пинов RX и TX
SoftwareSerial SIM800(2, 3);
String TextSendSIM800 = "";
String TextResvSerial = "";
void setup(){
Serial.begin(9600);
SIM800.begin(9600);
Serial.println("START OK");
delay(500);
}
void loop(){
ReadSIM800();
ReadSerial();
if(millis() - timer >= 10){
timer = millis();
//ReadSerial();
}
if(millis() - timer1 >= 500){
timer = millis();
}
if(millis() - timer2 >= 1000){
timer = millis();
}
}
void ReadSIM800(){
if(SIM800.available()){
TextSendSIM800 = SIM800.readString();
Serial.println(TextSendSIM800);
}
}
void ReadSerial(){
if(Serial.available()){
TextResvSerial = Serial.readString();
SIM800.println(TextResvSerial);
}
}
/*
+CMTI: "ME",3 // что пришло СМС
AT+CMGR=3 // запрос СМС
+CMGR: "REC UNREAD","+45345345",,"24/11/02,15:08:51+12"
Status Alert
OK // ответ о СМС
strncmp(command, "STATUS ALERT", 12);
*/