Sono riuscito ad impartire un comando AT.
In particolare ho riportato l'antenna MASTER alle condizioni di default (SLAVE) con il comando:
AT+ORGL \r\n
Questo è il codice che ho utilizzato:
#include <NewSoftSerial.h>
int pinRX = 6;
int pinTX = 5;
int pinAT = 8;
NewSoftSerial blue(pinRX, pinTX);
int pinLed = 13;
void commandAT(char *v)
{
int i=0;
while(v[i] != '\n')
{
blue.print(v[i]);
i++;
}
blue.print('\n');
}
void readResponse(int nchar)
{
if(blue.available() > 0){
for(int i=0; i < nchar; i++){
char data = (char)blue.read();
Serial.print(data);
delay(100);
}
}
}
void setup()
{
blue.begin(115200);
Serial.begin(9600);
Serial.println("Inizializzo sistema...");
pinMode(pinLed, OUTPUT);
pinMode(pinAT, OUTPUT);
//Valore ALTO per switchare in modalità AT
// il 34 sull'antenna
digitalWrite(pinAT, HIGH);
Serial.println("pinAT attivo");
//Comando AT da inviare
char s[] = "AT+ORGL \r\n";
Serial.print("Scrivo comando: ");
Serial.print(s);
delay(50);
//Invio comando all'antenna
commandAT(s);
delay(50);
//Leggo la risposta
readResponse(2);
}
void loop()
{
}
Con questo codice però non riesco a leggere la risposta, ma la configurazione dell'antenna è cambiata, quindi l'invio ha funzionato.