Vai al contenuto
PLC Forum


Controllo remoto KNX con webserver RaspBerry


binofa

Messaggi consigliati

Buongiorno a tutti, tempo fa, più di un anno, scrivevo su questo forum che gestivo il mio impianto KNX di casa attraverso un web server linux installato nella mia rete di casa, visibile anche all'esterno attraverso internet e che si connetteva al bus KNX attraverso una interfaccia IP.

Purtroppo il caldo di quest'estate mi ha cotto il PC che ospitava il Web Server e che ormai giace in cantina abbandonato;  sono stato obbligato a trovare una alternativa HW per mantenere i vizi domotici a cui ero abituato.

Non volendo spendere troppo ho acquistato una scheda Raspberry Pi 2 mod. B che in pratica non è altro che un mini pc con 1 Gb di RAM, processore ARM Quad Core a 900Mhz, 4 USB, 1 Ethernet, uscita video HDMI e RCA.

Di particolarmente interessante c'è che la scheda è di dimensioni minuscole, ci sta in un pacchetto di sigarette ed è ovviamente FANLess, ovvero non ha ventole o parti in movimento quindi TOTALMENTE SILENZIOSA.

Oltre alla scheda, che mi è costata € 42,85 ho aggiunto una micro SHDHC da 16 GB, dal costo di € 6,63, ed ho completato il tutto. L'alimentatore lo avevo già in casa perché è un caricabatteria di un vecchio cellulare.

In ogni caso ho installato sul miniPC come sistema operativo Raspian, una versione di Linux Ubuntu adattata su per questa scheda, poi ho installato un sistema LAMP (Apache+MySQL) per fare da web server ed il demone (programma) EIBD appositamente compilato per il processore ARM (che non è il solito processore Intel).

Pur potendo gestire direttamente la scheda con monitor (ha una uscita FULL HDMI) e con tastiera e mouse USB ho lasciato solo collegato l'alimentatore e la rete (anche se le prime prove le ho fatte con una chiavetta Wireless USB  - altra opzione possibile quindi) e controllo il PC a distanza dal mio portatile in modalità terminale.

Direi che è una soluzione decisamente economica che potenzialmente potrebbe essere anche ampliata (sempre a basso costo) perché ho visto su internet come accessori un display da 7"  touch che andrebbe a completare il sistema rendendolo interattivo direttamente.

Se qualcuno è interessato e vuole qualche dettaglio in più sono qui!

Binofa.

Link al commento
Condividi su altri siti


  • Risposte 108
  • Created
  • Ultima risposta

Top Posters In This Topic

  • smoothhands

    46

  • liguriagusto

    29

  • dario87

    12

  • hangloose64

    8

Top Posters In This Topic

Posted Images

ciao

Sto da tempo cercando per la rete un software da poter istallare su raspberry per poter creare la supervisione KNX.

Sinceramente questo non è il mio forte, e chiedo gentilmente il tuo aiuto.

Potresti gentilmente,se non è un problema darmi qualche dritta considerando che il massimo che so fare con il raspberry è istallare il sistema operativo con Win32DiskImager.

 

Grazie,spero in un tuo aiuto

Link al commento
Condividi su altri siti

Ciao, come specificato nel mio post io ho realizzato un sistema di supervisione realizzando un software in PHP (linguaggio per WEB) in pratica da zero. Solo per il collegamento tra il WEB Server e il bus knx ho utilizzato un programma già pronto. Così facendo posso usare una libreria che mi permette facilmente di comunicare con i dispositivi scrivendo e leggendo i dati.

Il programma in questione è EIBD. Le istruzioni per la compilazione le ho trovate all'indirizzo: http://michlstechblog.info/blog/raspberry-pi-cross-compiling-the-knxeib-eibd/

Per compilare il programma è necessario avere a disposizione un PC linux così da non dover caricare un compilatore con tutto il suo ambiente sul raspberry appesantendolo oltremodo. Se ti dovesse interessare posso passarti il compilato, a me è bastato copiarlo in /usr/bin e l'ho potuto utilizzare.

Per attivarlo ho inserito nello script /etc/rc.local l'istruzione:

/usr/bin/eibd -d -D -i -S -T ipt:192.168.1.250:3671

 

dove l'indirizzo IP 192.168.1.250 corrisponde al gateway KNX che ho a casa.

Per testare il tutto o anche per usarlo puoi utilizzare il programma groupswrite  che permette di scrivere direttamente sul bus. Ad esempio l'istruzione:

groupswrite ip:127.0.0.1 0/0/6 1

 

scrive sul bus al gruppo 0/0/6 il valore 1. In questo caso si usa l'indirizzo 127.0.0.1 perché ho eseguito l'istruzione dal raspberry dove gira EIBD.

Anche solo così potresti realizzare un minimo sistema di controllo; se hai dimestichezza con gli script di linux puoi scrivere un piccolo programma gestire almeno i dati on/off; utilizzando un linguaggio di programmazione puoi fare molto di più.

A dirti la verità non so se esiste un CMS (tipo joomla o wordpress) free per fare supervisione KNX ma se tu ne conosci qualcuno segnalamelo che lo provo volentieri e poi ti aiuto nel configurarlo.

Ciao, Binofa

Link al commento
Condividi su altri siti

  • 1 month later...

Ciao Binofa e Dario87, questa discussione è interessantissima!!!

Sono interessato anch'io a realizzare un web server di supervisione domotica KNX con il Raspberry, ma sto partendo da più lontano rispetto a voi: vorrei collegare direttamente il Raspberry (con una scheda di espansione per Raspberry) direttamente al bus KNX. Non so ancora se sia possibile farlo. Ho trovato in rete due schede che applicate alla GPIO del Raspberry consentono l'invio e la ricezione di telegrammi KNX ma non ho capito se possono essere alternative ad un'interfaccia KNX/IP tipo il Gewiss GW90767AP e similari. Concretizzando le schede sono le seguenti: 

http://www.eelectron.com/pages/dettaglio.aspx?id=184

che è prodotta da un'azienda italiana a 120,00 € + IVA escluse spese di spedizione

http://shop.busware.de/product_info.php/products_id/83

che è prodotta da un'azienda tedesca a circa 79,00 €.....

Vi sarei grato se esprimeste il vostro parere su questa idea che spero non porti la discussione fuori tema.

Per la parte software non sono molto ferrato poiché conosco pochissimo le distribuzioni Linux (ho iniziato con Linux Mint 12 e ultimamente con il Raspbian) e per niente PHP, Javascript ed altri linguaggi di programmazione utilizzati nel web di cui comunque sto cercando materiale per impararli ad usare.

Accetto ogni vostra informazione, consiglio e parere per colmare le mie lacune e per andare avanti con questo progetto.

A presto.

Link al commento
Condividi su altri siti

  • 2 weeks later...

Ciao a tutti,

anche io ho appena cominciato a "smanettare" con KNX ma, per una mia "fissa" ho preferito andare sulla classica interfaccia di rete e ho preso questa: http://www.eibmarkt.com/cgi-bin/eibmarkt.storefront/564208180001a48e27604debae5005f2/Product/View/N780204

Per quanto riguarda, invece, il discorso supervisione, sto usando questo: http://www.openhab.org/ molto semplice da configurare, ha i bindings non solo per KNX ma anche per un'altra marea di altri dispositivi ed ha un client sia per android che per iphone, completi di interfaccia vocale.

Penso che sia meglio rispetto che utilizzare il "tutto fatto in casa", perchè ha delle primitive già fatte e ti fa risparmiare moltissimo tempo, inoltre ha la possibilità di essere programmato tramite un linguaggio Java-like e funziona anche su raspberry.

Se volete approfondire la cosa e vi servono info, non avete che da chiedere, sempre considerando che sono agli inizi anche io e non ne ho una conoscenza approfondita, ma almeno per quello che riguarda la configurazione iniziale ed un minimo di gestione vi posso rispondere.

Saluti...

Link al commento
Condividi su altri siti

  • 2 weeks later...

Salve a tutti,

smanetto da un pò di tempo con knx e mi interessa la discussione. premetto che sono ignorante su raspberry, se qualcuno ha tempo e voglia di spiegarmi sarei veramente contento. hangloose64 sarei interessato anche a openhab.

Buona serata a tutti.

 

Link al commento
Condividi su altri siti

Ciao a tutti, per la parte che riguarda openHAB il sito di riferimento è questo in particolare

la parte dedicata alle spiegazioni varie.

In questo post potete leggere una breve storia del software che poi è stata ricavata dal blog ufficiale

del suo creatore: il signor Kai Kreuzer.

openHAB è realizzato interamente in Java e inizialmente, vista la quantità di informazioni propinate

dal sito, chi vuole avvicinarsi a questo progetto puo rimanere un pò disorientato.

Quindi per cominciare occorre un pc (windows, linux, mac...) con installata una versione di Java

(meglio se la versione è >= 1.7)  e che tale pc sia connesso in rete (la normale wifi di casa).

Risolto il primo scoglio dell'installazione di Java occorre scaricare alcuni file da qui:

distribution-1.7.1-runtime.zip

distribution-1.7.1-demo.zip

distribution-1.7.1-addons.zip

- openhab designer 

Il primo file è il software principale e una volta scompattato crea sul disco una cartella chiamata openhab.

Il secondo è un pacchetto demo che riempie alcune cartelle di openhab con una versione demo (appunto)

che vi da un'idea di come si comporta il software.

Il terzo file contiene tutti i bindings (poi vediamo cosa sono) per connettere openHAB ai diversi sistemi

domotici/servizi che sono stati aggiunti nel tempo. Per il momento lasciamoli dove sono.

Il terzo file è il software che permette di modificare tutti i file di configurazione di openhab (è consigliato

usare questo per creare logica e altro). 

Quindi, una volta installati runtime e demo entrate nella cartella openhab e, a seconda di quale pc 

avete a disposizione, lanciate il software con...

- start.bat oppure ./start.sh (versione linux/mac) oppure

- start_debug.bat oppure ./start_debug.sh (versione linux/mac)

La versione debug dello script permette di vedere in maniera dettagliata cosa combina sotto sotto

openhab sia in avvio che in esecuzione: in questo modo è possibile scoprire gli eventuali problemi che

dovessero mai capitare.

Una volta lanciato il software openHAB occorre attendere un pò di tempo per permettere allo stesso

di partire e di caricare tutti i bindings e file di configurazione che gli servono.

Alla fine potete aprire un browser e verificare che tutto sia andato per il verso giusto alla pagina

http://<openHAB address or hostname>:8080/openhab.app?sitemap=demo

Dove <openHAB address or hostname> è l'indirizzo ip della macchina sulla quale avete installato

openHAB.

Provate a fare questi semplici (per chi mastica di informatica) passi, leggetevi un pò il wiki, e poi magari andiamo avanti.

 

Link al commento
Condividi su altri siti

Sono interessato anch'io a questo argomento.

Domanda da vero neofita... Ma con openHab avrei la possibilità di fare la prima programmazione di un impianto KNX senza utilizzare ETS?

Ciao.

 

Modificato: da julesx
Link al commento
Condividi su altri siti

i miei 5cents su questa discussione interessante. Purtroppo non conosco knx pero' la raspberry la conosco molto bene. Sviluppo software e firmware in C/C++ su questa piattaforma e devo dire che in particolare la PI 2 mi ha dato delle vere e proprie soddisfazioni su applicazioni che altrimenti giravano su x86 ben piu' grossi e pesanti. Lavoro molto sulle energie rinnovabili gestendo bus molto spesso affollati, la raspberry risolve davvero a testa alta queste situazioni.

Seguiro' volentieri questa discussione ma non prima di avermi documentato sul knx, ho usato ethernet, 485/422, arcanet e can bus ma davvero questo knx lo avevo sentito solo nominare.

 

PS Pure io uso Raspbian, e' bello stabile e soprattutto e' .... debian ;)

 

Link al commento
Condividi su altri siti

PS Pure io uso Raspbian, e' bello stabile e soprattutto e' .... debian

Quoto... :D 

ho idee ancora molto confuse sull'impianto, componenti indispensabili, e prima programmazione.

p.s.: devo muovermi le opere murarie grezze sono completate...

Link al commento
Condividi su altri siti

@julesx

non credo che tu possa evitare ets o qualcosa di analogo.

Un impianto knx va programmato come vanno programmati i singoli dispositivi.

Dopo di che puoi connetterti con openhab (anche su raspberry pi) a knx 

mediante gateway knx o qualcosa di analogo che faccia da interfaccia

(tipo software eibd).

Però su knx non posso aiutarvi più di tanto.

Modificato: da smoothhands
Link al commento
Condividi su altri siti

Smoothands ha descritto la procedura di configurazione più che bene e sicuramente ha maggiori conoscenze rispetto alle mie....

Volevo solo aggiungere qualcosa rispetto all'utilizzo di raspberry (vecchia versione) con openhab.

Lo sto testando da qualche settimana e devo dire che si comporta abbastanza bene se non si vogliono utilizzare le funzioni tipo mysql persistence che, per esempio, mantiene lo storico di tutti i comandi inviati ai vari dispositivi in un database.

Magari però con la nuova versione del raspberry probabilmente la musica cambia radicalmente e credo che riuscirà tranquillamente a rimpiazzare un PC più costoso e soprattutto più "esoso" di assorbimento elettrico.

@julesx: purtroppo non puoi evitare ETS in alcun modo, openhab e similari sono solo (per modo di dire) dei supervisori e subentrano dopo la programmazione che va sempre fatta con ETS

@liguriagusto: una delle interfacce più economiche è quella della MDT SCN-IP000.02 che sui siti di e-commerce tedeschi si trova sotto ai 180 euro. Attenzione perchè l'interfaccia IP, al contrario del router IP, consente UNA sola connessione per volta e, se avete ETS aperto, dovete chiuderlo per poter usare openhab o qualunque altro software che deve impegnare una connessione all'interfaccia IP KNX.

Premesso che comprare un router KNX mi sembra un vero sperpero di denaro (ma è un mio parere), credo, considerando il fatto che la programmazione non sia una cosa che si fa tutti i giorni, un pò di disagio si possa sopportare...

Ho visto anche che alcuni comprano una interfaccia USB e fanno fare il raspberry da router, ma non ho esperienze in merito, non possedendo l'interfaccia USB.

Un'altra cosa interessante da considerare è che è possibile utilizzare openhab sia con la sua interfaccia nativa, per quanto riguarda l'interfaccia IP (che usa le librerie calimero) ma anche se si è installato il demone EIBD che praticamente trasforma il raspberry (o il pc) in un router KNX ad un costo bassissimo, rimane però sempre il limite di non poter usare ETS in modo concorrente, ma per tutto il resto funziona bene.

 

 

 

 

Link al commento
Condividi su altri siti

@Dario87:

Per mandare un semplice ON/OFF ad uno switch via openhab:

In configurations/items

crea un file di testo chiamato: nomefile.items e inserisci:

Group gPP         (All)

Group PP_Soggiorno     "Soggiorno"     <video>     (gPP)

Switch Luce_Tavolo_Soggiorno    "Luce Tavolo"        (PP_Soggiorno, Lights)  {knx = "<0/0/1"}

 

In configurations/sitemaps

crea il file default.sitemap e inserisci:

sitemap miositemap label="Casa Mia"
{
Frame {
       Group item=gPP label="Primo Piano" icon="firstfloor"
                 
       }
}

 

Viene creato un gruppo gPP (gruppo primo piano all'interno del gruppo All) ed un gruppo PP_Soggiorno (all'interno del gruppo gPP)

Viene creato uno switch ITEM Luce tavolo soggiorno che si troverà dentro il gruppo PP_Soggiorno che contiene l'attivazione dell'indirizzo di gruppo 0/0/1 che dobbiamo aver precedentemente creato con ETS e che contiene magari l'attivazione di un canale di un pulsante insieme alla chiusura di un contatto sull'attuatore. Il simbolo < dice ad openhab di leggere lo stato dell'indirizzo di gruppo e visualizzarlo sulla pagina web con il simbolo di lampada accesa o spenta.

Il file default.sitemap non fa altro che visualizzare il gruppo gPP con l'unico item inserito (ma possiamo inserirne chiaramente degli altri, come possiamo creare altri gruppi).

Spero di averti aiutato.

Saluti

 

 

Link al commento
Condividi su altri siti

Perfetto hangloose64, io su knx non sono ferrato.

In generale openhab 1.x ha nella directory configurations tutti i file

editabili per personalizzare il funzionamento del sistema.

La directory addons contiene tutti i bindings che intendiamo utilizzare

per connettere dispositivi e aggiungere funzionalità al sistema.

Se effettuiamo una installazione pulita (senza demo) la prima cosa da fare è

creare il file openhab.cfg ottenuto rinominando un file simile già contenuto

nella directory configurations.

Questo file contiene  i parametri per gli addons che vogliamo utilizzare e

molti altri parametri come la definizione della sicurezza (per l'accesso locale

e remoto) e la configurazione per la visualizzazione dei grafici associati

all'andamento nel tempo degli items.

Principalmente la creazione di una automazione tramite openhab avviene

editando i file corrispondenti agli items, rules, sitemap più altri di contorno

che magari vedremo successivamente.

 

 

Link al commento
Condividi su altri siti

Alla base del funzionamento di openhab ci sono gli items: una astrazione dalla

quale posso ottenere informazioni e inviare comandi.

Questo scambio bidirezionale avviene tramite dei componenti software chiamati

bindings (gli addons) che trasformano informazioni espresse nel linguaggio di openhab

nelle informazioni del linguaggio del particolare dispositivo che si vuole integrare.

Ecco perchè sul sito openhab viene definito tecnologicamente agnostico: lo scopo

è utilizzare un linguaggio unico per tutti i sistemi domotici/servizi connessi semplificando

il lavoro di integrazione... a patto di aver realizzato il particolare binding che si preoccupa

di tradurre costantemente i valori e i comandi di volta in volta necessari.

 

Link al commento
Condividi su altri siti

A parte openhab.cfg i primi file da prendere in considerazione sono

quelli degli items. Il prurale è voluto e creare più file permette di arganizzare

meglio un lavoro di grandi dimensioni. La suddivisione può essere fatta a una

particolare caratteristica: per stanze oppure anche per funzionalità... come

ad esempio luci, prese, hvac, etc...

Per progetti piccoli un unico file va più che bene.

Siccome immagino stiate lavorando sulla stessa macchina su cui è stato

installato openhab vi consiglio di installare anche openhab designer che

vi permetterà di editare tutti i file di configurazione... è sufficiente indicargli

nel punto giusto il percorso della directori configurations.

Vedrete che una volta modificato uno dei file, openhab, si preoccuperà di

caricare a sstema le modifiche senza necessità di riavviare il software.

 

Link al commento
Condividi su altri siti

Ciao

dalla cartella openhab runtime ho creato come da indicazioni i due file di testo copiando quello che mi hai scritto.

Successivamente ho lanciato l'eseguibile e aperto il browser ma mi da errore e non carica nulla..

dove sbaglio

Link al commento
Condividi su altri siti

grazie a tutti per le risposte e i consigli!!

Ho ancora qualche dubbio che non ho risposta:
-Gli addons per il KNX quali sono?? devo inserirli (copiarli) tutti?
-Cosa e come devo editare per impostare questi addons KNX?
-ho letto che si può utilizzare anche un interfaccia USB/KNX (quella che ho io) sapete aiutarmi?

@hangloose64 hai scritto:
"

Un'altra cosa interessante da considerare è che è possibile utilizzare openhab sia con la sua interfaccia nativa, per quanto riguarda l'interfaccia IP (che usa le librerie calimero) ma anche se si è installato il demone EIBD che praticamente trasforma il raspberry (o il pc) in un router KNX ad un costo bassissimo, rimane però sempre il limite di non poter usare ETS in modo concorrente, ma per tutto il resto funziona bene.
"
ti puoi spiegare meglio? o mi sai dire dove trovare info, Grazie ancora .


 

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora

×
×
  • Crea nuovo/a...