Buongiorno a tutti,
sono di nuovo qui a chiedere alcune info riguardo un "problema" che mi si è presentato in questi ultimi giorni, ovvero come gestire la sottoscrizione a diversi topic mqtt sfruttando la libreria PubSubClient.h
A dire il vero una soluzione l'ho già trovata, testata e sembra funzionare ed è questa:
void callback(char* topic, byte* payload, unsigned int length) {
if(strcmp(topic,inTopicPwmChannel) == 0) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.println("] ");
for (int i = 0; i < length; i++) {
charPwm[i] = (char)payload[i];
}
sscanf(charPwm, "%d", &pwmValue);
Serial.print("PWM: ");
Serial.println(pwmValue);
}
if(strcmp(topic,inTopicCommandChannel) == 0) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.println("]");
for (int i = 0; i < length; i++) {
charPwm[i] = (char)payload[i];
}
sscanf(charPwm, "%d", &pwmValue);
Serial.print("PWM: ");
Serial.println(pwmValue);
}
}
La mia domanda in realtà è: questo metodo che sto usando va bene o ci sono altre strade percorribili ? Diciamo che a me piacerebbe che ci siano N "void callback..." diverse per ogni topic diverso in entrata; mentre adesso il riconoscimento del topic viene fatto all'interno della funzione callback e non è che mi piaccia tanto.