Abbiamo quattro eventi, tutti generati dal client MQTT, e tutti derivano da una classe comune, della libreria che ho utilizzato. Alcuni portano con sé informazione extra, altri no.
Abbiamo gli otto stati, incluso lo pseudo-stato AnyState, e tutti derivano da una classe comune, della libreria che ho utilizzato.
Attraverso la classe progenitrice EuNode, ogni stato ha un riferimento alla macchina a stati di cui fa parte, in modo da poterla utilizzare come delegato, sia al fine di accedere alle variabili di stato extra, che alle funzioni che eseguono le azioni.
La macchina a stati contiene anche, e utilizza, un client MQTT ad hoc, che le permette di pubblicare messaggi, e gestire i messaggi in arrivo, tradotti nei corrispondenti eventi.
Giorgio Barchiesi
Albo degli Ingegneri Sez. A, N. 4027 della Prov. di Trento
P.IVA 02370260222, C.F. BRC GRG 58L26 C794R
Copyright © 2015-2024 Giorgio Barchiesi - Tutti i diritti riservati