Ok, it confused me a second that on the pcb pin0 is in the manual actually pin1.
So far so good. I get a response back but it loops constantly and respnonds the same:
AT
AT
OK
+CPIN: READY
AT
OK
+CPIN: READY
OK
ERROR
AT
OK
+CPIN: READY
OK
ERROR
OK
ERROR
Call Ready
AT
OK
+CPIN: READY
OK
ERROR
OK
ERROR
Call Ready
OK
ERROR
SMS Ready
AT
OK
+CPIN: READY
OK
ERROR
OK
ERROR
Call Ready
OK
ERROR
SMS Ready
OK
ERROR
AT
OK
+CPIN: READY
OK
ERROR
OK
ERROR
Call Ready
OK
ERROR
SMS Ready
OK
ERROR
OK
ERROR
AT
OK
+CPIN: READY
OK
ERROR
OK
ERROR
Call Ready
OK
ERROR
SMS Ready
OK
ERROR
OK
ERROR
OK
ERROR
I guess something in the code above is not correct. But when i look up some other examples, they are similar. "+CPIN: READY" means that the pin code works (in my case there is none).
#include <SoftwareSerial.h>
SoftwareSerial gsm(2, 3);
SoftwareSerial enableVREG(7, 8);
void setup()
{
Serial.begin(9600);
gsm.begin(9600);
enableVREG.begin(9600);
}
void loop()
{
if (Serial.available())
{
Serial.print("Serial available: ");
Serial.println(Serial.available());
String data = Serial.readString();
Serial.println(data);
if (data == "*") {
Serial.println("Asterisc");
gsm.write(0x1a);
} else {
gsm.println(data);
}
}
while (gsm.available())
{
Serial.print("GSM available: ");
Serial.println(gsm.available());
String data = gsm.readString();
Serial.println(data);
}
Serial.println(gsm.available());
delay(2000);
}
It seems that "gsm.available();" never returns more than 0.