• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
ambiente grafico

Ambiente grafico
#1
ciao a tutti, 


complimenti per le attività che svolgete a vario titolo sia sul forum come iscritti che anche lo staff di raspberryitaly.

mi permetto segnalare link ad un progetto che stiamo sviluppando per la rappresentazione grafica di informazioni di stato e comando per dispositivi come raspberry.

https://www.ege3d.it/domotica2d.php?lang=1 per la domotica
ed anche 
https://www.ege3d.it/scada2d.php?lang=1 per chi è più interessato alla programmazione c++.


Vi chiedo la cortesia di far sapere cosa ne pensate, se può essere utile e se potreste essere interessati all'utilizzo dal momento che è open source.

grazie e happy coding !!!
matchit
Smile
Risposta
#2
grazie!
..sarà il caldo, ma non ho ben capito...
devo fare la piantina della casa, metto l'icona lampadina e la gestisco?
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#3
(01/08/2018, 12:04)Enrico Sartori Ha scritto: grazie!
..sarà il caldo, ma non ho ben capito...
devo fare la piantina della casa, metto l'icona lampadina e la gestisco?

e si, prima installi il software su raspberry. configuri le icone "lampadina" e scrivi il codice python lato raspberry per mandare fuori le uscite. L'obiettivo è questo anche con il caldo

Big Grin
Risposta
#4
non ho la possibilità di testarlo a breve, quindi se vuoi ti tempesto di domande Smile
- ha un interfaccia web responsive?
- che librerie devo usare per raspberry, quelle che voglio?
- supporta tutti i sensori classici per raspberry/arduino in commercio?
- gestisce le notifiche sul cellulare?
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#5
(01/08/2018, 16:26)Enrico Sartori Ha scritto: non ho la possibilità di testarlo a breve, quindi se vuoi ti tempesto di domande Smile
- ha un interfaccia web responsive?
- che librerie devo usare per raspberry, quelle che voglio?
- supporta tutti i sensori classici per raspberry/arduino in commercio?
- gestisce le notifiche sul cellulare?



ciao Enrico, grazie per le domande. Smile
cerco di rispondere anche ampliando un po il dettaglio di EGE2D-GUI definendo il contesto di applicazione,  cosi si inquadra
l'argomento.

Con ordine alla tua prima domanda: 1) "ha una interfaccia Web responsive".

In generale la responsività è un termine che specifica la capacità di un sito internet di adattarsi a vari dispositivi. Tecnicamente è realizzata tramite accorgimenti di "programmazione/configurazione" sito in modo che risulti appunto responsivo ossia che si adatti al contesto(tablet/pc/smartphones etc..).
Detto questo, mi viene di precisare che EGE2D nello specifico è una GUI ossia una Interfaccia Grafica per la presentazione di informazioni di controllo ed anche che è cross platform nel senso che può essere eseguita su diversi sistemi indifferentemente, ossia ad esempio linux, windows o un browser(praticamente ovunque).

Dico questo per dire che di per se la GUI non è un sito in se, ma è "una applicazione" che viene eseguita "dentro" un browser. Un po come una finestra di un programma per windows che invece di essere eseguita sul desktop, è calata in un browser.

Dopo questa digressione, per tornare alla tua domanda, intuendo la premura di capire se si può pensare a EGE2D come "interfaccia responsiva" al di la dei dettagli tecnici gui/sito , pur non essendo un comportamento "innato" della GUI, si può pensare, come per un sito responsive vengono attivati degli accorgimenti perchè lo sia effettivamente, anche nel caso di EGE2D-gui di attivare degli accorgimenti tecnici affinchè ci sia la possibilià di comportamento differenziato da dispositivo a dispositivo.

Detto questo, ci tengo però a precisare una differenza che c'è tra un sito web e un programma per il controllo  dispositivi, ossia che una pagina web rialloca la distribuzione di elementi grafici e testuali su uno sfondo omogeneo, tipo uno sfondo di pagina bianco, una GUI normalmente poggia degli elementi grafici tipo pulsanti o altri controlli sopra una immagine sinottico che prevede delle posizioni "prefissate" per gli elementi, senza escludere comunque che lo sfondo possa essere scelto di un colore solo. Avere dei controlli che si spostano dalle posizioni di progetto nel caso di background grafico articolato è poco pratico.

Quando ho scritto che tramite "accorgimenti che permettono il comportamento responsivo", non penso tanto a configurazioni particolari per consentire una riallocazione degli spazi in automatico come avviene per una pagina web ma piuttosto una serie di comandi di posizionamento gestiti dalla programmazione via python, ossia che ad esempio tramite python, dopo aver ricevuto il tipo di dispositivo dove è eseguita l'applicazione si possa comandare, per ogni oggetto la posizione e quindi una visualizzazione dedicata tramite programmazione.

Spero aver risposto in modo semplice ed esaustivo

2) "che librerie devo usare per raspberry, quelle che voglio?" - forse non ho capito la domanda però in generale mi aspetto che Raspberry sia LAMP, ossia Linux Apache mySql PHP. Le librerie sono quelle di EGE2D-GUI che nel caso di esecuzione tramite Web server Apache, sono compilate nella forma di Javascript ed in pratica sono  dei files da copiare nella cartella del server (presumo ad esempio possa essere "/var/www/public_html/mioProgetto").

3) "supporta tutti i sensori classici per raspberry/arduino in commercio?" : rispondo di si velocemente nel senso che il sistema è "estendibile" e nel caso non ci fossero, o quelli che saranno costruiti prossimamente, potranno essere aggiunti.
Se la tua domanda è però orientata a sistemi di visualizzazione "complessi" tipo mappe di prossimità costruite dinamicamente tramite "radar" ad esempio, potrebbero essere necessarie delle competenze di programmazione un po solide per scrivere del codice efficace. Siamo in ogni caso disponibili a dare volentieri indicazioni e supporto.

4) "gestisce le notifiche sul cellulare?" : cosa intendi con questa domanda ? presumo poter rispondere di no che non gestisce le notifiche sul cellulare ma puoi spiegare meglio a cosa ti riferisci, forse non ho capito?


metto qui un link dove trovi un esempio online come demo https://www.ege3d.it/scada/application.html


grazie per l'attenzione che prestate.
matchit
Risposta
#6
Diciamo che dal sito non è molto chiaro la sua applicazione pratica.
io come esempio di interfaccia per iot ho node-red, normali pagine web, app android tipo BLINK ecc..

Responsive, nel senso, sono in uno stabilimento, gestisco tutti i macchinari col tablet, questa interfaccia funziona? Da quel che hai scritto, direi di si.

Per i sensori intendo i classici che trovi su aliexpress, le cose aziendali su misura ovviamente sono dedicate.

notifiche sul cellulare nel senso:
nello stabilimento ho il mio bel tablet, un sensore rileva che Aziz è finito nella vasca di cromatura Smile , vorrei un avviso
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#7
$1) L'applicazione pratica in senso generale è una vera e propria GUI intesa come, prendendo in prestito da wikipedia:
è un tipo di interfaccia utente che consente all'utente di interagire con la macchina in modo visuale utilizzando rappresentazioni grafiche piuttosto che comandi testuali. (https://it.wikipedia.org/wiki/Interfaccia_grafica)
Più in concreto una finestra con menu, pulsanti, etichette di testo, campi di input testuali, widgets vari, controlli immagine e chi più ne metta che può funzionare su diverse piattaforme come linux/windows/web perchè è concepita cross platform fin dall'origine.
Essendo EGE2D nata prevalentemente per l'ambito automazione/domotica presenta dei controlli orientati a questo compito, ad esempio i pulsanti di comando ON/OFF per devices, bargraph, widgets per la visualizzazione valori attuali.
(anche trend e alarm messaging anche se ad oggi sono in programma di completamento e non ancora rilasciati nella versione attuale, lo saranno tra un po ma non troppo se c'è riscontro).

La libreria è open source e chiunque può aprire il progetto compilarlo o modificarlo ed estenderne le funzionalità.
Questa è la gui che abbiamo realizzato ed è generica e in ottica di essere usata come scada/hmi.

Per l'ambito domotico/raspberry(come che facciamo riferimento a rapberryitaly) il progetto prevede due funzionalità ausiliarie che ne rendono semplice l'impiego:
1) le pagine si configurano tramite un file di configurazione xml in cui vengono inseriti gli elementi widgets, ad esempio:

<control>
<id>0</id>
<name>"SwitchLampadaCamera"</name>
<position>
<x>200</x>
<y>100</y>
</position>
<ctrlType>controlSwitch</ctrlType>
<actionList>
<action>0
<id>0</id>
<type>"setControlValue"</type>
<variableToSet>"raspberryVariable321"</variableToSet>
</action>
</actionList>
</control>

L'xml viene caricato ad avvio progetto e imposta la pagina in modo congruente, sul modello di come fa l'html per inserire degli elementi su una pagine web. E' un linguaggio di markup che specifica le caratteristiche degli elementi. Insieme all'oggetto viene anche inserita l'azione che si vuole egli compia in conseguenza di click utente. (setta una variabile del controllore in questo caso).

2) è implementato internamente un sistema di comunicazione basato su Websockets che permette all'interfaccia di comunicare con il controllore Raspberry per scambiare informazioni sotto forma di messaggi. I messaggi sono nelle due direzioni vediamo degli esempi pratici:

a) una volta attivata la pagina come da xml al punto sopra, quando si fa click sullo switch parte un messaggio dalla gui al controllore del tipo : "[opcodeSetValue,refVariable:"raspberryVariable321",value:1]".
Il raspberry in ascolto riceve tramite socket aperto la stringa di comando e la interpreta attivando le operazioni conseguenti.

b) in generale sono previsti dei messaggi anche dal controllore alla gui che impostano il valore visualizzato sull'interfaccia ,rilevando i cambi di stato da campo, del tipo:
"[opcodeSetControlStatus,refControlId:0,value:0]" , ad esempio imposterebbe lo stato dello switch del caso precedente nella posizione di off consentendo un riallineamento dell'interfaccia con dati aggiornati o rilevati all'avvio.

c) come chiedevi nell'intervento precedente è possibile anche comandare la visibilità o la posizione dei controlli da python sul controllore tramite comandi dedicati del tipo:
"[opcodeSetControlPosition,refControlId:0,x:100,y:420]" che causerebbe il riposizionamento del controllo alle nuove coordinate.
------------------------------------------------------------

$2) Responsive, nel senso, sono in uno stabilimento, gestisco tutti i macchinari col tablet, questa interfaccia funziona? Da quel che hai scritto, direi di si.
--------
Diciamo che il controller destinazione è raspberry. Nella lan possono essere presenti più raspberry tutti raggiungibili tramite il loro IP quindi credo di poter rispondere che tramite il tablet li si possa raggiungere e controllare tutti. Ognuno, avrebbe il suo server Apache dedicato e la sua interfaccia.
------------------------------------------------------------

$3) Per i sensori intendo i classici che trovi su aliexpress, le cose aziendali su misura ovviamente sono dedicate.
--------
I sensori standard sono di tipo digitale e analogico di input o output indipendentemente dal loro involucro hardware che li incapsula. I digitali possono essere controllati tramite comandi digitali in uscita (es. switch) e in ingresso da stati on / off come label o immagini verde/rosso in funzione dello stato. Le analogiche sono in generale controllate e visualizzate tramite campi di testo anche numerico sia in uscita per comando o in ingresso come valore visualizzato. Poi ci sono anche widgets più esotici tipo bargraph che adempiono allo stesso scopo, cambia solo il modo di presentare l'informazione numerica.
Per queste cose ci sono degli elementi di base pronti all'uso e anche modi per estendere le grafiche. Altre è necessaria programmazione aggiuntiva.
------------------------------------------------------------

$4) notifiche sul cellulare nel senso:
nello stabilimento ho il mio bel tablet, un sensore rileva che Aziz è finito nella vasca di cromatura Smile , vorrei un avviso
----
A parte che quando Aziz deve cromare, gli devi sempre sguinzagliare alle costole Abdul per sicurezza, che è meglio che non ci si può fidare mai di quello li...

detto questo, ci sarà una lista allarmi con tanto di ack e reset, volendo aggiungiamo anche "rescue" Wink
------------------------------------------------------------

grazie che mi hai segnalato che non si capisce, mettiamo un doc. specifico ?
Risposta
#8
grazie della spiegazione, non sono pratico di GUI ora ho più chiara la cosa.
diciamo che forse chi è del settore potrebbe capire meglio il sito, io essendo un sistemista non colgo al volo cosa fa.
ideona Smile
fate un'immagine raspbian già pronta all'uso da scaricare e provare, Smile
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect