Corect. LED aiurea. Pe GPIO merge cum trebuie.
Deci:
- Wifi merge, se conecteaza, etc.
- MQTT merge, se conecteaza, face subscribe, primeste mesajele, etc.
- Semnalul pe GPIO se trimite cum trebuie.
- Emitatorul radio 433MHz merge. Rulourile primesc comanda de test si se ridica.
Acum, care ar fi cea mai simpla metoda sa trimit comanda printr-un mesaj MQTT?
1) Stochez toate combinatiile adresa+canalul+comanda in ESP32 si trimit ceva f. scurt prin MQTT, gen "r1u" (rulou 1 up), "r2d" (rulou 2 down), care selecteaza una din comenzi.
Avantaj: simplu de selectat, transmis. Codul MQTT poate fi orice; asta inseamna ca pot face subscribe la topicul altui device IOT si sa folosesc mesajele publicate de ala.
Dezavantaj: fiecare combinatie trebuie definita separat si sunt 12.
2) Stochez adresa si comanda in ESP32, dar separat. Adaug canalul (din MQTT) si comanda dupa adresa inainte de a o transmite. MQTT idem 1).
Avantaj: am toate combinatiile posibile disponibile. Idem codul MQTT.
Dezavantaj: mult cod de scris pentru reunitul tututor celor de mai sus.
3) Stochez doar parametrii de transmisie (intervale, cum arata 0, cum arata 1), fara codul efectiv. Trimit codul prin MQTT.
Avantaj: am absolut toate combinatiile posibile, chiar si viitoare, in cadrul aceluiasi protocol.
Dezavantaj: Codul MQTT este String sau char* si trebuie convertit. Nu mai pot folosi mesajele altui device IOT.
4) Nu stochez absolut nimic, nici macar parametrii de transmisie. Trimit absolut totul prin MQTT. Ma gandesc sa impachetez totul in JSON, ca am vazut ca exista biblioteci garla. O fi vreuna si documentata...
Avantaj: Este independent de protocol. Pot trimite orice cod pentru orice device fara sa mai modific vreodata sursa.
Dezavantaj: Mesajul MQTT va fi f.f. lung si programul f. f. mare.
PS: Constat ca nu prea stiu cum se foloseste MQTT. Cum ar trebui sa se interconecteze device-urile? Fiecare device cu topicul lui? Toate in acelasi topic, dar comenzi diferite? Daca am un senzor de temperatura, de exemplu, cine ia deciziile si face legatura intre senzor si roulouri / lumini / aer cond. / etc?