HC05-AT-Befehle auswerten

Hallöchen ,
ich hab hier ein Problem mit dem ich seit Wochen nicht so richtig klar komme.
Ich habe hier ein HC-05 Master-Bluetooth-Modul und mehrere HC-06 Slave-Module.

Bei diesen Modulen bekommt man z.B. auf den Befehl "AT" auf der Seriellen Konsole ein "OK" zurück.
Ich versuche nun schon die ganze Zeit diese Antwort zu verarbeiten und komme nicht wirklich weiter.

Mit dieser Funktion bekomme ich zwar die Variable "buffer" so zurückgeliefert das ich sie auf die Serielle Konsole schreiben kann aber wie kann ich diese mit einer anderen Variable vergleichen?
Kann mir da jemand ein kurzes Beispiel geben wie das geht?
Es wäre ja grundsätzlich ganz easy eine Verbindung mit EINEM Modul aufzubauen aber ich würde gerne einen RGB-Stripe und meine Kaffeemaschine ansteuern und muß so die Verbindung immer wieder mal wechseln...

static char buffer[80];

int readline(int readch, char *buffer, int len)
{
static int pos = 0;
int rpos;

if (readch > 0) {
switch (readch) {
case '\n': // Ignore new-lines
break;
case '\r': // Return on CR
rpos = pos;
pos = 0; // Reset position index ready for next time
return rpos;
default:
if (pos < len-1) {
buffer[pos++] = readch;
buffer[pos] = 0;
}
}
}
// No end of line has been found, so return -1.
return -1;
}

void readserial()
{

if (readline(BTSerial.read(), buffer, 80) > 0) {
Serial.print("i Got: ");
Serial.println(buffer);
}
}

strcmp():
http://www.cplusplus.com/reference/cstring/strcmp/

Wie der Name andeutet steht das für "string compare". Gibt 0 zurück wenn beide Strings gleich sind

strcmp_P(buffer, PSTR("OK")) == 0)
{
}

Durch das _P und PSTR() auch noch gleich die 3 Byte RAM für den Vergleichs-String gespart :stuck_out_tongue:
Spielt hier zwar keine Rolle, aber wenn man sowas mehrmals und mit längeren Strings machst lohnt es sich.