MainRouter

MainRouter è software che sto sviluppando per la gestione della domotica di casa mia.
Il concetto di base è che sia leggero tanto da poter girare su un Raspberry H24 senza problemi, semplice, veloce, e che permetta di interfacciarsi con quanti più servizi e dispositivi possibili.

Per non essere legato a pacchetti esterni e poter copia-incollare la configurazione e ripartire velocemente in caso di disastro ho scelto di utilizzare dei file .CSV come database.

Il sistema inoltre avrà un file di log giornaliero, un interfaccia web molto scarna, un interfaccia socket per collegarsi con dei client remoti e in futuro un app, un interfaccia con API rest per poi poter sviluppare un sito con grafica interessante via apache2 e php.

I concetti base del sistema sono:
_ le interfacce: thread autonomi che gestiscono una singola risorsa/protocollo, in modo che un eventuale rallentamento o blocco non fermi tutta l’applicazione.
_ le variabili: valori che vengono letti dalle varie interfacce e storicizzati
_ gli allarmi: eventi di varie gravità che vanno notificate agli utenti