Open aleskandro opened 6 years ago
MQTT
|
/ \
/ \
/ \
/ \
subscribe publish
|
1) sub. @init 1) Actuator @ ActuatorSessionBean #4
2) arr. handling 2) Publishing di genericvalue con reflection
Ordine dei payload per sensori a attuatori delle vasche
ogni vasca pubblica periodicamente un messaggio con il seguente payload
@eMarco da discussione su skype con @CursedLondor abbiamo deciso il payload ottimale per la comunicazione verso/da java. Speriamo che in matlab questo sia possibile, ovvero concatenare in quell'ordine quei valori della singola vasca
Zones subscribe to /sensors/zones/${i}/
Zones publish to /actuators/zones/${i}/. Payload:
Append al payload della vasca:
In base a cio' che abbiamo fatto ieri nel modello e al doc iniziale, nell'applicazione ho aggiunto:
La pubblicazione (orchestrator => simulink), come sopra, avviene su /actuators/zones/${i}/sectors/${j}
La lettura (simulink => orchestrator), per come modificato nei giorni scorsi dovrebbe avvenire su /sensors/zones/${i}/sectors/${j}/
Il problema e' che: ogni vasca potrebbe avere piu' settori, quindi ogni settore dovrebbe avere un trigger e un amperometro PRIMA del parallelo perdita-utilizzatore.
TODO: sistemare il modello per avere l'amperometro e il trigger prima del parallelo. #1 (Done)
TODO2: nel MQTTClient java, la lettura del settore sul path sopra, deve creare un Sector e fare put come per il tank su MonitorSessionBean
Il modello del settore e' costituito dai seguenti field:
TODO3: mandare email se avviene perdita #6 (Done)
EJB Singleton, istanziato allo startup.
https://www.eclipse.org/paho/clients/java/
Topic:
[x] /sensors/zones/${i}/
[x] /actuators/zones/${i}/
In futuro per la seconda iterazione
[x] /sensors/zones/${i}/sectors/${j}/
[x] /actuators/zones/${i}/sectors/${j}
E' un publisher per /actuators/* : viene triggerato dall'ejb orchestrator.
E' un listener per /sensors/* : primo test, alla ricezione la callback fa solo stampa su schermo; appena sara' pronto l'EJB Monitor lo chiamera' per salvare i dati.
Espone un metodo pubblico
con topic che e' il sottopattern a partire dai comuni: si pubblisca su: