Arduino ed OpenHab

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.