Project Design (draft ITA) - Gleeno/DomAlgo GitHub Wiki

##Specifiche (Italian language) Si vuole creare un sistema domotico completo di software e hardware, open source e con lo scopo di essere utile ai piu' esperti e non, che permetta l'interazione tra utente e sensori:

  • con minor overhead possibile e scambio dati minimale
  • di facile realizzazione e assemblaggio
  • compatibile con sistemi embedded low cost
  • usufruibile anche da terminali datati o con prestazioni scarse.
  • utilizzando tecnologie efficaci e ben supportate dalle comunita' del web

Il sistema prevede sensori che comunchino con un pc embedded tramite wifi attraverso un router, dovranno consumare poca energia ed essere affidabili. Il software principale dovra' ricevere ed inviare i dati nel formato messaggi descritto, con la possibilitá di poter elaborarli prima dell'invio/ricezione (ad esempio analizzare immagini camera).

##Scelte progettuali Per una piu' attenta gestione delle risorse il software principale sará scritto in linguaggio C++.

Una soluzione valida allo scambio di dati efficiente e in tempo reale potrebbe essere l'utilizzo del protocollo web socket, implementato con librerire snelle, potenti e multipiattaforma, come le libWebSocket.

Per l'analisi di elementi nelle immagini (computer vision) verranno utilizzate librerire OpenCV.

Una pagina HTML5/JS rappresenta la soluzione ideale allo scopo, perché é utilizzabile da una vasta gamma di terminali, richiede pochissime risorse per funzionare e supporta il protocollo web socket nativamente.

Ogni sensore ( o array di sensori) sara' equipaggiato di base con una scheda wifi ESP8266 e microcontrollore ATMEL, piu' ovviamente componenti elettronici in base al caso specifico, scelta motivata dal fatto che sono componenti largamente diffusi in commercio e molto apprezzate dalle comunita' piu'creative del web (DIYer).

Il modulo server sara' un comune Raspberry o simile, dotato di una scheda wireless e una porta LAN, con almento 1GB di RAM e processore ARM quad core. Soluzione low cost e alla portata di tutti.