Domanda Creazione di un'interfaccia.

3llioT

Utente Bronze
15 Ottobre 2016
24
6
1
34
Salve a tutti,
è da novembre a questa parte che ho trovato lavoro come installatore di impianti fotovoltaici. L'altro giorno ci è capitato che un cliente ha chiamato in ufficio, per dire che non riusciva a monitorare i suoi 500 Kw in maniera adeguata. In poche parole, esiste un sistema di monitoraggio rilasciato dall'azienda produttrice degli Inverters che noi abbiamo installato, ma quest' "applicazione" riesce a far monitorare solo 4 inverters per account. Ciò significa, ed implica, che ogni utente/cliente deve creare X accounts per poter leggere i suoi Y inverters.
Esempio: il suddetto cliente aveva un impianto fv che veniva gestito da 12 inverters. Il cliente ha dovuto creare 3 accounts diversi per poter monitorare il suo impianto.
La mia domanda, adesso, è : c'è qualche metodo informatico in java, per poter creare un'interfaccia grafica che ospita un database dove l'ipotetico cliente possa monitorare il suo impianto senza limitazione?
Se esiste, come il database legge i dati inviati dal/dagli inverters?
Grazie a tutti per le risposte.
 
Se crea X account allora ne legge 4X di inverter.


I database non leggono dati.
Si, era sottinteso che leggono 4x inverters. Ma, purtroppo, solo 4 alla volta.
Per quanto riguarda la questione dei database, ok non leggono dati. Cosa bisognerebbe inserire all'interno dell'interfaccia che faccia da tramite per avere una lettura istantanea dei dati? Qualche sensore? Come si può implementare o inserire all'interno dell'interfaccia questi sensori o questo oggetto X ?
Detto questo, i dati vengono immagazzinati all'interno del database, dove il cliente o l'installatore possono visionarli partendo (come lasso di tempo intendo) dall'installazione dell'impianto.
 
Ammesso che si parli di un db SQL, che la lettura sia instantanea dipende dalla mole di dati all'interno del db e dall'efficienza delle query, per cui se hai un db piccolo nessun problema altrimenti devi adottare strategie di caching e prefetching.
Nell'interfaccia grafica non devi aggiungere nulla, il retrieve dei dati si effettua da un background thread che aggiorna il model e comunica alla vista (l'interfaccia grafica) di aggiornarsi. Dipendentemente al tipo di db che usi utilizzerai le librerie di comunicazione corrispondenti per ottenere i dati.
 
Che tipo di sistema di monitoraggio è? ABB?
Che io sappia no. L'inverter è uno SMA, penso sia diverso.

Ammesso che si parli di un db SQL, che la lettura sia instantanea dipende dalla mole di dati all'interno del db e dall'efficienza delle query, per cui se hai un db piccolo nessun problema altrimenti devi adottare strategie di caching e prefetching.
Nell'interfaccia grafica non devi aggiungere nulla, il retrieve dei dati si effettua da un background thread che aggiorna il model e comunica alla vista (l'interfaccia grafica) di aggiornarsi. Dipendentemente al tipo di db che usi utilizzerai le librerie di comunicazione corrispondenti per ottenere i dati.
Per quanto riguarda il db, chiedevo se si poteva avere uno per ogni impianto. Ciò significa che ogni cliente che possiede un impianto deve avere un database per poter leggere i dati e immagazzinarli, così da poter leggere in qualsiasi momento la "storia" di questi dati.
 
Perfetto. Questo si dovrà "agganciare" all'interfaccia grafica, dove l'utente/installatore potrà visionare ogni tipo di dato.
Per quanto riguarda i dati, come possono questi interagire ed arrivare all'interfaccia in maniera istantanea?
Il percorso è, ovviamente, Pannello --> Inverter --> Computer --> Interfaccia --> Cliente.
Già gli inverters hanno un tipo di display (non tutti), dove poter visionare i Kwh, i Kw prodotti in un anno/giorno...e mostrano se il circuito è aperto o chiuso tramite un semplice schemino... Capita spesso, però, che la stra-grande maggioranza dei clienti, vogliano visionare/monitorare la propria produzione tramite computer o cellulare... ed ecco che spunta il problema di cui vi ho parlato...

EDIT: per far sì che i dati arrivino al computer o ancor prima all'interfaccia, l'inverter deve necessariamente essere collegato via cavo?
 
A meno che non siano già dotati di componenti per la comunicazione radio si, ti serve il collegamento via cavo. In alternativa se il collegamento via cavo non è possibile, c'è una soluzione che puoi adottare(se hai una rete Wi-Fi vicina a disposizione), ovvero connettere con pochi centimetri di cavo ogni inverter ad un Raspberry Pi e da quest'ultimo inviare i dati in Wi-Fi, però questo complica il tutto, avresti poi bisogno di un software client-server per far comunicare il Raspberry Pi con l'end-host del cliente. La soluzione più veloce, sicura ed economica è connettere gli inverter al pc via cavo.
 
Ultima modifica:
Gli inverters (almeno la maggior parte) dispongono di antenne wi-fi. Pensavo che la connessione via cavo potesse mandare i dati in maniera più efficace. In quel caso, c'è il costo del cavo in più.

EDIT: Per quanto concerne l'interfaccia, sarebbe meglio svilupparla con java? O mi sapete suggerire qualche altro tipo di linguaggio che magari sia migliore?
 
Gli inverters (almeno la maggior parte) dispongono di antenne wi-fi. Pensavo che la connessione via cavo potesse mandare i dati in maniera più efficace. In quel caso, c'è il costo del cavo in più.

EDIT: Per quanto concerne l'interfaccia, sarebbe meglio svilupparla con java? O mi sapete suggerire qualche altro tipo di linguaggio che magari sia migliore?
Beh se vuoi "agganciarti" all'interfaccia grafica che stanno utilizzando adesso i tuoi clienti dovresti scoprire in che linguaggio è stato scritto e continuare in quella via..
L'interfaccia attuale è via web? o ha un software che gira in locale?
 
Dipende dai framework che hai intenzione di utilizzare. Sicuramente nel 2019 sviluppare un'UI in Java con swing è molto obsoleto, verboso e poco scalabile. Potresti comunque mantenere un modello dei dati in Java e fare la vista in AngularJS.
 
Rettifico, il problema si ha solamente per chi vuole visionare i dati tramite cellulare android/iOS. Per quanto riguarda la visione tramite computer basta solo attaccarli via cavo e tramite un'applicazione che gira in locale, come ha detto @Feeb, puoi visionare i dati riguardante la produzione di energia..