Ritorna a Progetti dal Forum Italiano

Domotica con Arduino

Questa sezione del Playground è frutto della naturale evoluzione di quanto è nato sul forum ed è dedicata alla ricerca e allo sviluppo di una piattaforma domotica basata su Arduino.
Lo scopo di questo progetto è quello di creare prodotti basati su Arduino che siano direttamente impiegabili nell'automazione domestica, pertanto le linee guida da seguire sono quelle della semplicità e del basso costo.
Su questa pagina chiunque decida di partecipare al progetto può pubblicare il proprio contributo.

Le caratteristiche salienti che il sistema dovrebbe avere per ora sono:

  • essere Multi Master, in modo che il malfunzionamento di un singolo nodo non faccia degenerare tutta la rete;
  • bastato su un protocollo aperto;
  • la comunicazione dovrebbe avvenire col metodo più economico possibile, è stato scelto il doppino elettrico;
  • open source
  • implementabile in piccoli processori a basso costo.

Gli argomenti al momento in fase di definizione sono:


Funzionalità da implementare su ogni singola scheda
Per il momento si è deciso che una buona soluzione sarebbe quella di dotare ogni stanza di un'abitazione di uno modulo il cui "core" sarebbe un Arduino Duemilanove, il quale abbiamo pensato che dovrebbe avere sufficienti periferiche per riuscire interfacciarsi con l'ambiente.
Per poter stimare la composizione di ingressi e uscite sulla scheda bisogna decidere di quanti e che tipo di "ingressi" e "uscite" avrebbe una stanza tipo.

Ogni ambiente comunicherebbe con tutti gli altri che compongono l'abitazione tramite un opportuno protocollo di comunicazione. Anch'esso da decidere.

E' da prevedere anche la progettazione di moduli per funzioni speciali, come ad esempio l'implementazione di particolari sensori che arricchirebbero la dotazione domotica e di moduli di interfaccia che consentano la comunicazione con software di supervisione locale/remota ed interfaccia grafica.


Scelta del protocollo di comunicazione più adatto
Da quanto emerso dalla discussione fatta sul forum i due protocolli sui cui cadrà la scelta saranno CAN-bus (Controller Area Network) e RS485 (ispirandosi a DMX). Elenco dei dati emersi:

  • CAN-bus:
    • Vantaggi:
      • E' multi-master;
      • Si trovano già alcuni microcontrollori equipaggiati di unità CAN.
        Oppure esistono in commercio chip che si possono interfacciare con arduino a basso costo;
      • E' uno standard de facto ed è open source, quindi c'è solo da studiare com'è strutturato il protocollo;
      • Immune ai disturbi ed elevata velocità di comunicazione;
      • Efficiente gestione delle collisioni;
    • Svantaggi:
      • Trama(frame) trasmessa parecchio articolata;
      • L'implementazione su Arduino dipenderebbe dal tipo di chip CAN-controller utilizzato.

  • RS485:
    • Vantaggi:
      • E' multi-master;
      • E' sufficiente collegare un chip RS485-transceiver alla seriale di Arduino. Basso costo e semplicità;
      • Elevata velocità di comunicazione (fino a 100Kbit/s a 1200m);
      • Buona immunità ai disturbi;
      • Siccome il protocollo spetta a noi, possiamo decidere come comporre il messaggio da trasmettere;
    • Svantaggi:
      • RS485 non è un procollo ma solo uno standard di livello fisico. A noi spetterebbe l'ideazione di un protocollo ad hoc (magari ispirandoci al DMX).

  • Ethernet:
    • Vantaggi:
      • E' una configurazione distribuita;
      • Esistenza di protocolli di comunicazione consolidati, affidabili e documentati;
      • Semplicita` di amministrazione remota;
      • Struttura versatile e diffusa del collegamento, anche su TV e altri elettrodomestici;
      • possibilita` di PoE, con ulteriore semplificazione dei cablaggi;
    • Svantaggi:
      • E' una configurazione distribuita;
      • Implica l'uso di tante schede arduino quanti i nodi del sistema. Il costo delle singole schede probabilmente supera quello delle altre soluzioni.
      • Il cablaggio in un impianto esistente puo` essere impegnativo

un esempio di libreria ethernet per la domotica è https://souliss.net, basato su tre layer che implementano parte dello stack di rete e presentano al programmatore delle API convenienti per progettare logiche di home automation distribuite.








Ritorna a Progetti dal Forum Italiano

Share