smoothhands Inserito: 7 marzo 2014 Segnala Inserito: 7 marzo 2014 Buonasera, ho già notato in altri thread (come ) che è venuto fuori l'argomento openHAB. openHAB è un applicativo sviluppato in Java che, mediante l'uso di appositi moduli software, è in grado di interfacciarsi con diversi sistemi domotici e generare l'interfaccia web di comando a partire da diversi file di configurazione. Potrebbe essere interessante integrare anche HomePLC e la versione Linux parte sicuramente è avvantaggiata.
Andrea Ghensi Inserita: 8 marzo 2014 Segnala Inserita: 8 marzo 2014 Riassumendo quanto emerso nell'altro post, si potrebbe utilizzare un homeplc "normale" e affiancarci un qualsiasi sistema, meglio se embedded, e dialogare con esso tramite modbusRTU, ma la comunicazione risulterebbe poco efficiente e non arriverebbe a dialogare direttamente con hplc come potrebbe fare invece openhab installato su hplc.linux. Il problema riscontrato con hplc.linux è la ridotta capacità della NAND flash, che già ospita boot loader e sistema operativo e non è in grado di contenere anche la suite di openhab. Il primo tentativo di smoothands è stato quello di togliere tutti i componenti superflui sia dal sistema operativo (non ho invece capito se avevi già eliminato binding non utilizzati), ma dato l'uso di eclipse la suite è assai ingombrante. La seconda soluzione è utilizzare una microSD su cui inserire openhab e montarla all'avvio, e sembra essere la migliore strada percorribile. Infine c'è la necessità di creare il "binding" per openhab (ossia il plugin che permette a openhab di dialogare con hlpc), che sarà un "semplice" wrapper della libreria java messa a disposizione con il plc.
smoothhands Inserita: 8 marzo 2014 Autore Segnala Inserita: 8 marzo 2014 Ciao Andrea, il pacchetto runtime di openHAB (versione 1.4.0) occupa su disco 43.1MB senza considerare binding aggiuntivi. La versione Java scaricata è la Java SE Embedded in particolare ARMv7 Linux - Headless - Server Compiler EABI, VFP, SoftFP ABI, Little Endian Stranamente a quanto pensavo con la versione HardFP ABI non ho avuto fortuna... ma riproverò. La VM occupa su disco 46.6MB. La memoria restante è di 134MB. Potresti considerare un binding che acceda a HomePLC via tcp/ip anzichè installare openHAB direttamente sul device. In questo modo l'HomePLC risulterebbe come Gateway più o meno come viene realizzato per altre sistemi domotici... knx, btcino etc...
del_user_56966 Inserita: 8 marzo 2014 Segnala Inserita: 8 marzo 2014 (modificato) Riassumendo quanto emerso nell'altro post, si potrebbe utilizzare un homeplc "normale" e affiancarci un qualsiasi sistema, meglio se embedded, e dialogare con esso tramite modbusRTU, ma la comunicazione risulterebbe poco efficiente e non arriverebbe a dialogare direttamente con hplc come potrebbe fare invece openhab installato su hplc.linux. Questo tipo di applicazione è comunemente utilizzato per interfacciarlo con vari dispositivi embedded.... la comunicazione sia che sia basata su COM che su LAN è efficiente.... ma certamente non potrà mai essere paragonabile all'accesso diretto alla memoria ram di cui normalmente si potrebbe giovare con l'uso standard per cui sono stati concepiti... disponendo della libreria nativa per Java (per chi sa programmare...) non dovrebbe esserci problemi a interfacciarlo direttamente... con programmi che utilizzano quella tecnologia...specialmente se di tipo Open... Modificato: 8 marzo 2014 da Aleandro2008
smoothhands Inserita: 9 marzo 2014 Autore Segnala Inserita: 9 marzo 2014 (modificato) È proprio per l'efficienza che, un tentetivo di inserire direttamente openHAB nell'HomePLC, valeva la pena di farlo. In tutti gli altri bindings (usando la terminologia di oH) viene sempre utilizzata un'interfaccia: seriale, ethernet. Sfruttando direttamente le librerie native il binding potrebbe diventare molto più veloce che negli altri diventando una golosa alternativa per gli entusiasti. Senza contare che si guadagnerebbe la possibilità per l'HomePLC di ampliare il numero di integrazioni possibili con altri sistemi. Sebbene sia sempre un'integrazione di alto livello non disdegnerei affatto la cosa. Nel qualcaso parte dell'infrastruttura cascasse il cuore su HomePLC continuerebbe a funzionare garantendo la continuita a parti vitali o più preziose dell'impianto. Potrebbe essere anche un nuovo modo per integrare più impianti HomePLC senza dover sprecare tutto un ramo master per il link con altri. Dopotutto non sempre è necessaria una reattività elevata. Modificato: 9 marzo 2014 da smoothhands
del_user_56966 Inserita: 9 marzo 2014 Segnala Inserita: 9 marzo 2014 in pratica il risultato finale sul Web sarebbe simile a questo http://www.netclever.it/HPLC-Linux/ demo che gira appunto su HomePLC.Linux.... ps... non c'è password..
del_user_56966 Inserita: 9 marzo 2014 Segnala Inserita: 9 marzo 2014 Potresti considerare un binding che acceda a HomePLC via tcp/ip anzichè installare openHAB direttamente sul device. In questo modo l'HomePLC risulterebbe come Gateway più o meno come viene realizzato per altre sistemi domotici... knx, btcino etc... perché metterne 2?.... se già HomePLC.Linux supporta sia il Java che il Web Server... il risultato finale può essere quello del Demo sopra... non serve altro hardware ne seriale ne su Lan... al massimo ti carichi l'applicativo su SD-Card e lo esegui in Ram all'avvio...
smoothhands Inserita: 9 marzo 2014 Autore Segnala Inserita: 9 marzo 2014 (modificato) Il risultato, graficamente parlando, è simile ma per generarlo non va scritta una riga di codice php o html. Si aggiungono tante righe di semplice testo per ogni "item" a un file e ogni item può essere connesso a un sistema domotico differente. es. Switch Doorbell "Doorbell" <bell> { serial="/dev/usb/ttyUSB0" } questo è un item di tipo switch, di nome Doorbell, con etichetta "Doorbell", con icona <bell> legata al binding {...} È più o meno lo stesso concetto tra ladder e un linguaggio di programmazione di alto livello. Infatti la possibilità di installarlo sull'HomePLC è interessante. Viene utilizzato un web server scritto in Java... ma come scritto sopra non va scritta una riga di codice html/php Beh... metti che qualcuno ha già una installazione openHAB su un server vuoi negargli la possibilità di interfacciarsi direttamente all'HomePLC senza fare grossi sforzi d'installazione? Modificato: 9 marzo 2014 da smoothhands
del_user_56966 Inserita: 9 marzo 2014 Segnala Inserita: 9 marzo 2014 Il risultato, graficamente parlando, è simile ma per generarlo non vascritta una riga di codice php o html. se per quello neppure con software della Clever... l'interfaccia di configurazione e su Cloud... e il backup è automatico... questo ne permette la modifica anche in remoto da qualsiasi ti trovi... Beh... metti che qualcuno ha già una installazione openHAB su un servervuoi negargli la possibilità di interfacciarsi direttamente all'HomePLCsenza fare grossi sforzi d'installazione? ci mancherebbe!! e solo un esposizione di più opzioni applicative... c'è chi vuole spendere meno e chi vuole faticare meno... chi non è contento se non dura un po di fatica e non piace le soluzioni pronte... c'è poi chi non ne vuole sapere nulla di nulla... e vuole tutto pronto e installato... questo non è un mondo semplice...
smoothhands Inserita: 11 marzo 2014 Autore Segnala Inserita: 11 marzo 2014 con software della Clever... Si sta parlando però di HomePLC standard vero? Dovrebbe richiedere anche una componente software da installare a fianco di ABS. Riesce a gestire anche gli eventi? Questo perchè, anche se ho letto alcuni post, non ho capito se anche la versione Linux possa sfruttare questa caratteristica nativamente. Mi pare di aver capito che vada implementata con il linguaggio scelto.
del_user_56966 Inserita: 11 marzo 2014 Segnala Inserita: 11 marzo 2014 Si sta parlando però di HomePLC standard vero? no quello che vedi come demo online è direttamente il Web Server di HomePLC.Linux...
smoothhands Inserita: 11 marzo 2014 Autore Segnala Inserita: 11 marzo 2014 Bastava guardare il link in effetti ;-)
smoothhands Inserita: 14 marzo 2014 Autore Segnala Inserita: 14 marzo 2014 (modificato) Allora... volevo condividere parte dello sviluppo con tutti voi. Partirei con anallizzare alcuni requisiti per l'interfacciamento tra i due sistemi. Per permettere la comunicazione tra openHAB e HomePLC occorre realizzare quelli che vengono chiamati bindings. Un binding è una stringa di configurazione che lega un Item (letteralmente elemento) a tutta una serie di azioni necessarie per il collegamento con una particolare risorsa (nel nostro caso di HomePLC). Visto che la maggior parte di chi lavora con HomePLC è abituato allo standard IEC pensavo inizialmente di mantenere valido il set di istruzioni. Quindi avremo le seguenti risorse... - %IX<reg>.<bit> - %QX<reg>.<bit> - %IW<reg> - %QW<reg> - %MW<reg> In alcuni casi è necessario estrarre un bit o una parte di bits da un registro quindi pensavo di aggiungere le seguenti estensioni... - %MW<reg>.<bit> - %MW<reg>.<start bit>.<stop bit> Nel nostro caso un binding potrebbe essere del tipo... <namespace>="<resource>" dove <namespace> potrebbe essere hplc quindi per fare qualche esempio... /* Lights */ Switch Light_Table "Table" (Lights) {hplc="%QX1.0"} Switch Light_Wall "Wall" (Lights) {hplc="%QX1.3"} Che definiscono due semplici items del tipo Switch, di nome Light_Table e Light_Wall, con etichetta "Table" e "Wall" rispettivamente e appartenenti entrambi al gruppo (Lights). Nel caso di ragnetto temperatura umidità si potrebbe avere una cosa del tipo... Dimmer H_BedRoom "Humidity" (InfoBedroom) {hplc="%MW5516.0.7"} L'indicazione Dimmer è una convenzione openHAB per indicare un valore che può essere di tipo percentuale. Modificato: 14 marzo 2014 da smoothhands
smoothhands Inserita: 14 marzo 2014 Autore Segnala Inserita: 14 marzo 2014 Guardando lato HomePLC ho costruito un generatore di eventi che mi permetterebbe di aggiornare gli Items che sono legati con i registri domotici che hanno subito una variazione. Di tutti gli 8000 registri però me ne serve considerare solo una parte in quanto dei relè interni, dell'area library... non penso servano più a molto con la versione Linux. Pensavo di considerare la seguente tabella ridotta... - Area Principale %MW0 - %MW399 Ingressi - Uscite Digiali 25 Word - Area Flag System %MW800 - %MW863 System - Flag 1008 Bit (63 Word) - Area Output GSM - SMS %MW865 - %MW880 Utente - Relè Output SMS 255 Bit (15 Word) - Area Input GSM - SMS %MW881 - %MW896 Utente - Relè Input SMS 255 Bit (15 Word) - Registri DMX 512 %MW2701 - %MW2956 Utente - Registri - Ritentivi 256 Word - Registri DALI %MW2957 - %MW3148 Utente - Registri - Ritentivi 190 Word - Extended Address %MW5500 - %MW5999 Area Indirizzamento esteso 500 Word - Area System %MW7500 - %MW7999 System - Registri 500 Word Ci sono aree, che non ho considerato, che contengono informazioni utili da gestire? Intendo aree legate a dispositivi o ad informazioni che possono variare in base ad azioni su dispositivi.
del_user_56966 Inserita: 14 marzo 2014 Segnala Inserita: 14 marzo 2014 Intendo aree legate a dispositivi o ad informazioni che possono variare in base ad azioni su dispositivi. per esempio l'area dedicata al Konnex.... e l'area Home Automation...
smoothhands Inserita: 14 marzo 2014 Autore Segnala Inserita: 14 marzo 2014 Mmmh... infatti nella tabella delle risorse ci sono dei buchi tra un'area e l'altra. Avevo trascurato il gateway knx per il fatto che openHAB potrebbe interfacciarsi direttamente (più o meno). Tra l'altro perdevo anche le centrali d'allarme. Facciamo che considero tutti gli 8000 registri e poi vediamo che succede. Nel frattempo cerco di farmi una mappa più dettagliata delle aree di memoria.
smoothhands Inserita: 16 marzo 2014 Autore Segnala Inserita: 16 marzo 2014 e l'area Home Automation... Per area Home Automation intendi quella a indirizzo %MX7000 ?
del_user_56966 Inserita: 16 marzo 2014 Segnala Inserita: 16 marzo 2014 Per area Home Automation intendi quella a indirizzo %MX7000 ? esatto!
smoothhands Inserita: 16 marzo 2014 Autore Segnala Inserita: 16 marzo 2014 Un'altra precisazione Aleandro... Nel caso di HomePLC.Linux i registri ritentivi e quelli delayed mantengono questa funzione (perchè gestita dal processore domotico) oppure risultano come tutti gli altri?
smoothhands Inserita: 12 aprile 2014 Autore Segnala Inserita: 12 aprile 2014 Buongiorno a tutti, vorrei chiedere a chi ha una versione dell'HomePLC.Linux di effettuare un piccolo test sull'occupazione di risorse del generatore di eventi in Java. Attualmente è impostato in modo abbastanza aggressivo in modo che ogni 100msec effettui la lettura di tutti gli 8000 registri a 16 bit. A regime, sul mio dispositivo, impiega tra i 50 e 60msec a leggerli tutti occupando circa il 50% della cpu. Il software stampa a video il contenuto dei registri che si sono modificati col tempo.
smoothhands Inserita: 12 aprile 2014 Autore Segnala Inserita: 12 aprile 2014 (modificato) Scusate, non vi ho scritto che stiamo parlando di parte del software che sto sviluppando e che quindi vi devo fornire per effettuare il test. Forse non era poi così tanto chiaro. Modificato: 12 aprile 2014 da smoothhands
smoothhands Inserita: 12 aprile 2014 Autore Segnala Inserita: 12 aprile 2014 Una ulteriore precisazione. Il carico della CPU, indicata nel post precedente, era riferita al valore di punta: ovvero oscilla tra il 20% e il 50% che è il valore di picco. Nel caso voglia considerare esclusivamente l'area di indirizzamento principale assieme a quella estesa il carico della CPU oscilla tra il 2% e il 10% mentre il tempo di lettura scende sui 6msec di media con dei picchi sporadici a 15msec (sempre considerando i cicli di lettura ogni 100msec).
smoothhands Inserita: 25 agosto 2014 Autore Segnala Inserita: 25 agosto 2014 Buongiorno a tutti, spero siate riusciti a rilassarvi in questo periodo di ferie generali. Riprendo questo vecchio thread dopo un pò di inattività ma spero di portare a termine un pò alla volta questo mio piccolo contributo alla causa (riprendendo un vecchio motto del caro vecchio zio Bill) ... un HomePLC in ogni casa ... In questo periodo ho dovuto, malgrado la mia cocciutaggine, abbandonare lo sviluppo del software su piattaforma Apple in quanto sia la generazione del binding per openHAB che la cross compilazione per la libreria nativa per l'HomePLC non ne volevano sapere di arrivare in fondo. Passato a linux finalmente ho ottenuto quello che cercavo. La situazione attuale è questa: 1. Libreria nativa per HomePLC.Linux modificata in modo da consentire la generazione di eventi (attualmente sull'area IO e quella estesa) in modo da ridurre considerevolmente i tempi di lettura dei registri (si parla di microsecondi) e dell'occupazione di CPU (che rimane a 0% - dato che il lavoro viene effettuato in linguaggio c). 2. Generato lo scheletro per il binding openHAB di HomePLC. Ora "rimane" (parole grosse ) da mettere in comunicazione il binding openHAB con l'HomePLC.Linux e vedere come si comporta il tutto.
del_user_56966 Inserita: 25 agosto 2014 Segnala Inserita: 25 agosto 2014 Quelli ritentivi ritengo di si... quelli Delayed visto che servono solo per i cicli Ladder non penso servano...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora