Sistema domotica

Da GolemWiki.
Jump to navigation Jump to search

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