Differenze tra le versioni di "Sistema domotica"

Da GolemWiki.
Jump to navigation Jump to search
(Creata pagina)
 
(aggiornata a situazione attuale)
 
(Una versione intermedia di un altro utente non mostrate)
Riga 1: Riga 1:
 
{{Note
 
{{Note
 
|type=warning
 
|type=warning
|text=Pagina in scrittura
+
|text=Da leggere al futuro, il nuovo sistema di domotica non è stato ancora installato
 
}}
 
}}
  
Il [https://git.colem.linux.it/giuliof/domotic-gateway Sistema Domotica] dell'Officina Informatica svolge i seguenti compiti:
+
Il Sistema Domotica dell'Officina Informatica svolge i seguenti compiti:
 
* Misurare i parametri ambientali interni all'officina (temperatura e, al più, umidità);
 
* Misurare i parametri ambientali interni all'officina (temperatura e, al più, umidità);
 
* Consentire l'accensione/spegnimento remoto del condizionatore in caso di necessità (l'Officina tocca punte di 35° d'estate e 0° d'inverno);
 
* Consentire l'accensione/spegnimento remoto del condizionatore in caso di necessità (l'Officina tocca punte di 35° d'estate e 0° d'inverno);
* Controllare le luci esterne (''da implementare'').
 
 
Attualmente i primi due punti sono assolti dal prototipo "Domotic Gateway": serverozzo+Arduino.
 
  
 
== Premessa storica ==
 
== Premessa storica ==
 
[[File:Domotica-ditino.jpeg|thumb|450px|Il ditino, prototipo del sistema di domotica]]
 
[[File:Domotica-ditino.jpeg|thumb|450px|Il ditino, prototipo del sistema di domotica]]
  
Visto che le attività del GOLEM sono circoscritte ad una, massimo due, serate settimanali e le pareti dell'Officina non sono il massimo quanto a coibentazione, la temperatura interna tende a seguire l'esterno, col risultato che si arrivano a toccare punte di 35° d'estate e 0° d'inverno.  
+
Visto che le attività del GOLEM sono circoscritte ad una, massimo due, serate settimanali e le pareti dell'Officina non sono il massimo quanto a coibentazione, la temperatura interna tende a seguire l'esterno, col risultato che si arrivano a toccare punte di 35° d'estate e 0° d'inverno. Soprattutto in occasione di corsi e serate divulgative l'ambiente non è vivibile.
 +
 
 +
* Poco tempo dopo la ristrutturazione è stato realizzato un primitivo sistema di telecontrollo. Accedendo a serverozzo era possibile azionare manualmente il "ditino" per accendere il condizionatore con qualche ora di anticipo;
 +
* Successivamente il sistema è stato migliorato facendo reverse engineering sul segnale del telecomando, così da omettere la componente meccanica spesso fallace;
 +
* Vengono aggiunti un sensore di temperatura e la possibilità di accensione automatica mediante interrogazione del calendario di officina (progetto [https://git.golem.linux.it/giuliof/zerocalcare zerocalcare]).
 +
 
 +
Il sistema è stato dismesso durante il periodo COVID ed è in corso di ripristino dall'estate 2023.
 +
 
 +
== Implementazione ==
 +
 
 +
Attualmente il sistema si compone di tre parti:
 +
 
 +
* '''attuatore''': arduino + ethernet shield. La scheda funge da emulatore di telecomando IR tramite una libreria ad-hoc. Il sistema è connesso alla rete interna mediante DHCP, non è necessario che il dispositivo abbia un IP statico. Il protocollo di comunicazione adottato è [https://it.wikipedia.org/wiki/MQTT MQTT], l'attuatore è attualmente sottoscritto a tre topic, <code>clima/off</code>, <code>clima/caldo</code> e <code>clima/freddo</code> rispettivamente per spegnere il condizionatore, accendere la climatizzazione per l'inverno o per l'estate.
 +
* '''broker''': collettore dei messaggi MQTT. Si utilizza un container docker "mosquitto" in esecuzione su LXC cassone. Per poter sottoscrivere topic o pubblicare messaggi è richiesto l'accesso autenticato.
 +
* '''scheduler''': banale script python, invocato giornalmente via cron, che consulta il calendario del giorno e accende automaticamente il condizionatore.
  
Soprattutto in occasione di corsi e serate divulgative l'ambiente non è vivibile: poco tempo dopo la ristrutturazione è stato realizzato un primitivo sistema di telecontrollo che, nelle giornate peggiori, permettesse di accendere il condizionatore con qualche ora di anticipo.
+
Il sistema è estendibile per poter ripristinare il monitoraggio temperatura.
 +
Sarà possibile, in futuro, integrare il sistema in [https://www.openhab.org/addons/bindings/mqtt/ OpenHAB].
  
Da qui ha preso forma il sistema di domotica.
+
== Note ==
  
== Controllo clima ==
+
I principali codici validi (modalità, temperatura, velocità, ...) sono stati tabulati. La decodifica completa era stata ultimata, ma la documentazione è andata perduta.
È stato scelto un Arduino in quanto piattaforma rapida per la prototipazione. La scheda funge da emulatore di telecomando IR tramite una libreria ad-hoc. I principali codici validi (modalità, temperatura, velocità, ...) sono stati tabulati ed inseriti in uno script su serverozzo. La decodifica completa non è ancora stata ultimata.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Riga 35: Riga 46:
 
|0x4d841f
 
|0x4d841f
 
|}
 
|}
 
Attualmente il clima viene acceso in autonomia interrogando il calendario di officina (progetto [https://git.colem.linux.it/giuliof/zerocalcare zerocalcare]). È in corso di implementazione un pannello di controllo web.
 
 
== Misura temperatura ==
 
Lo stesso Arduino misura la temperatura con cadenza costante utilizzando una termoresistenza (''in futuro, DHT11'').
 
Il valore inviato a serverozzo è una media mobile su 10 campioni, quindi memorizzato in un database e graficato su 24h.
 
Nello stesso database è mantenuto lo storico di salute del server: temperatura core e dischi.
 
 
== Controllo luci ==
 
''todo''
 
 
  
 
[[Category:Officina]]
 
[[Category:Officina]]

Versione attuale delle 12:37, 15 lug 2023

Golem-template-note-warning.png Da leggere al futuro, il nuovo sistema di domotica non è stato ancora installato


Il Sistema Domotica dell'Officina Informatica svolge i seguenti compiti:

  • Misurare i parametri ambientali interni all'officina (temperatura e, al più, umidità);
  • Consentire l'accensione/spegnimento remoto del condizionatore in caso di necessità (l'Officina tocca punte di 35° d'estate e 0° d'inverno);

Premessa storica

Il ditino, prototipo del sistema di domotica

Visto che le attività del GOLEM sono circoscritte ad una, massimo due, serate settimanali e le pareti dell'Officina non sono il massimo quanto a coibentazione, la temperatura interna tende a seguire l'esterno, col risultato che si arrivano a toccare punte di 35° d'estate e 0° d'inverno. Soprattutto in occasione di corsi e serate divulgative l'ambiente non è vivibile.

  • Poco tempo dopo la ristrutturazione è stato realizzato un primitivo sistema di telecontrollo. Accedendo a serverozzo era possibile azionare manualmente il "ditino" per accendere il condizionatore con qualche ora di anticipo;
  • Successivamente il sistema è stato migliorato facendo reverse engineering sul segnale del telecomando, così da omettere la componente meccanica spesso fallace;
  • Vengono aggiunti un sensore di temperatura e la possibilità di accensione automatica mediante interrogazione del calendario di officina (progetto zerocalcare).

Il sistema è stato dismesso durante il periodo COVID ed è in corso di ripristino dall'estate 2023.

Implementazione

Attualmente il sistema si compone di tre parti:

  • attuatore: arduino + ethernet shield. La scheda funge da emulatore di telecomando IR tramite una libreria ad-hoc. Il sistema è connesso alla rete interna mediante DHCP, non è necessario che il dispositivo abbia un IP statico. Il protocollo di comunicazione adottato è MQTT, l'attuatore è attualmente sottoscritto a tre topic, clima/off, clima/caldo e clima/freddo rispettivamente per spegnere il condizionatore, accendere la climatizzazione per l'inverno o per l'estate.
  • broker: collettore dei messaggi MQTT. Si utilizza un container docker "mosquitto" in esecuzione su LXC cassone. Per poter sottoscrivere topic o pubblicare messaggi è richiesto l'accesso autenticato.
  • scheduler: banale script python, invocato giornalmente via cron, che consulta il calendario del giorno e accende automaticamente il condizionatore.

Il sistema è estendibile per poter ripristinare il monitoraggio temperatura. Sarà possibile, in futuro, integrare il sistema in OpenHAB.

Note

I principali codici validi (modalità, temperatura, velocità, ...) sono stati tabulati. La decodifica completa era stata ultimata, ma la documentazione è andata perduta.

Codici telecomando
Freddo 0x4dc0bf
Caldo 0x4d4033
Spento 0x4d841f