Arduino ed OpenHab

Ciao a Tutti, Sabato ho partecipato al codemotion in H-farm.
Ho assistito alla presentazione di openHab un progetto open source per la domotica, li avevano collegato un arduino per gestire lo start/stop di una lavatrice.
Sul loro sito non trovo informazioni in merito al collegamento Arduino/openHab, qualcuno ne ha sentito parlare? Lo ha mai usato?

http://code.google.com/p/openhab/

Tom.

Ciao,
penso utilizzino le API del prodotto, che usano (dando un'occhiata all'architettura del sw) REST.

Si sicuramente, ma volevo trovare una guida o qualcuno che ci ha già messo le mani per vedere di perderci meno tempo possibile, allo Speach comandavano una lavatrice delle Wings rosa con pannello solare connessi ad Arduino, quando illuminavano il pannello, partiva la lavatrice !

Ma credo sia un progetto nuovo e pochi ci abbiano messo le mani.
Mi sa che mi devo vestire da Pioniere e provare.
:~ :~ :~ :~ :~ :~ :~ :~ :~

Ciao

Mi sa che mi devo vestire da Pioniere e provare

al codemotion non ci son stato e non ho guardato ancora eventuali filmati/presentazioni, ma credo abbiano spiegato qualcosa.
Al massimo, puoi chiedere direttamente a loro attraverso il sito del progetto.
D'altra parte se già lo hanno interfacciato ad Arduino, non penso sia necessario tu faccia il pioniere ]:slight_smile:

Infatti è stata la prima cosa che ho fatto ma non mi hanno ancora risposto.... :roll_eyes:

Salve, sono uno dei relatori del talk al codemotion, hai poi risolto ?

Ciao, no non ho risolto, ho mandato una mail a Francesco che mi ha detto che avrebbe preparato una guida prima o poi e che mi avrebbe fatto sapere!
Però non potete fare i talk così interessanti e poi non ci dite come fare a realizzarli eheheh!!! :smiley:

Poi scrivere qualcosa tu?
T.

Il problema è che OpenHab richiede una conoscenza di base di diverse tecnologie (Java, Eclipse, OSGI) e quindi non è sempre facile dare indicazioni che permettano una comprensione immediata. Cercherò di dare qualche linea guida tenendomi ad alto livello, in modo da darti dei riferimenti da approfondire.

  • Collegare Arduino tramite la seriale al PC, su cui è stato installato l'ambiente di sviluppo OpenHab basato su Eclipse
  • Aggiungere un "Item seriale" al file di configurazione "item" di OpenHab (Google Code Archive - Long-term storage for Google Code Project Hosting.) che sia associato alla porta COM sulla quale è presente Arduino.
  • Crea un binding "ArduinoControllerBinding" in OpenHab per implementare la propira logica applicativa che invia e riceve messaggi da Arduino. Per permettere ad OpenHab di creare una istanza del proprio binding aggiungere un "Item" che chiameremo "ArduinoController" nel file di configurazione "item" di OpenHab
  • L ' "Item seriale" è in ascolto sulla COM di Arduino è ha come obiettivo quello di rigirare le stringhe provenineti dalla seriale sull' event bus di OpenHab; quindi ogni volta che Arduino manda qualsiasi cosa sulla seriale, sull'event bus di OpenHab verrà inviato un evento a nome dell' "Item seriale" avente come contenuto il dato inviato da Arduino. Allo stesso modo ogni altro binding OpenHab potrà inviare dati alla seriale di Arduino inviando un command all' event bus di OpenHab indicando come destinatario l' "Item Seriale"
  • Il tuo item "ArduinoController" avrà quindi una parte di ricezione degli eventi generati da 'Item seriale" e una parte di invio eventi a 'Item seriale". Non sa nulla di Arduino, invia solo comandi (stringhe) sull' event bus di OpenHab destinati a 'Item seriale".
  • Dovrai implementare in Arduino e in "ArduinoControllerBinding" una parte per la gestione del tuo protocollo di comunicazione basato su stringhe con cui traduci i comandi inviati in azioni su Arduino e viceversa.
  • Potrai utilizzare le "rule" di OpenHab Google Code Archive - Long-term storage for Google Code Project Hosting. per inviare comandi ad "Item seriale" e quindi ad Arduino in base ad eventi che si verificano sul bus, in base a delle regole cron, ecc.

Spero sia utile per iniziare.
Poi sento Francesco e vediamo di organizzare una guida con sorgenti e shot.