SCOPI DEL PROGETTO:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
COMPONENTI FISICI UTILIZZATI:
|
PROGETTO INDICATO PER: |
|
NOTE E DISCLAIMER
|
|
Revisione progetto: 2.1 |
ATTENZIONE: Questa è una guida alternativa a quella dedicata agli utenti Raspberry Pi con sistema operativo Raspberry Pi OS (Raspbian). |
Abstract
Non è certo una novità che la dissipazione del calore dalle apparecchiature elettroniche sia, spesso, un grosso problema. Raspberry Pi, il mini computer più diffuso al mondo (comodo per tante diverse funzioni) non fa certo differenza, sebbene sia costruito talmente bene da riuscire, di per sé, a una discreta dissipazione passiva.

Il problema si pone quando si presentano dei picchi computazionali importanti (specialmente con il modello 4B), oppure quando, a prescindere, l’aria della stanza in cui è installato è calda, come per esempio capita d’estate. Per risolvere il problema è solitamente sufficiente collocare una piccola ventola di raffreddamento, la quale però solitamente presenta due problemi:
- è perennemente accesa
- talvolta (spesso) è rumorosa.
Abbiamo avuto modo di testare una ventola specifica, la nota Fan SHIM la quale, dotata di una micro board di controllo, consente – in abbinamento a una configurazione Home Assistant – di accendersi solo al raggiungimento di determinate temperature critiche, e spegnersi al di sotto di altre. Si tratta inoltre di una ventola particolarmente silenziosa.
Fan SHIM presenta anche un LED multicolore che indica l’operatività della ventola: ROSSO quando in rotazione, VERDE quando non operativa. Il pulsante, invece, serve per passare dalla modalità automatica (che vedremo come configurare a seguire) oppure manuale: una pressione lunga fa entrare in modalità manuale, una breve scambia da acceso a spento. Una nuova pressione lunga reimposta la ventola in modalità automatica.
N.b. Se si utilizza Raspberry Pi con sistema operativo Raspberry Pi OS (Raspbian) è possibile evitare di delegare a Home Assistant il controllo della ventola e utilizzare un piccolo software creato apposta dai produttori della ventola. Per attuare questa strategia, la guida opportuna è questa. |
Ma la ventola serve davvero?
Si tratta di un tema molto dibattuto. Quello che si è capito è che a prescindere il Raspberry Pi, quando si surriscalda, riduce la sua frequenza di clock: diventa quindi più lento. Per esempio, il Raspberry Pi 3 B+ gira normalmente a 1.4 GHz. Quando raggiungere i 60 gradi centigradi riduce la sua velocità a 1,2 GHz, mentre quando raggiunge gli 80 scende a 1,1 GHz. Questo effetto è ancora più percepibile su Raspberry Pi 4 B che, come noto, scalda di più.
Inoltre è noto come il calore, a prescindere, tenda a rovinare l’elettronica, arrivando fino a guastarla. Un Raspberry Pi che rallenta e si rovina nel tempo? Ognun per sé: noi però preferiamo adottare la ventola.
Montaggio della ventola
In primis è necessario montare fisicamente la ventola sul Raspberry. Per farlo è necessario spegnerlo accedendo alla voce di menu “Configurazione” > “Sistema” > “Hardware” > “Arresta l’host” se si usa Home Assistant OS/Supervised oppure – per chi usa Home Assistant Core installato su Raspberry Pi OS (Raspbian) – tramite il comanda via terminale (da CLI, via SSH oppure con control-alt-t da interfaccia desktop VNC):
sudo shutdown now
Terminato lo spegnimento software (LED del Raspberry Pi non più lampeggianti), disalimentare elettricamente il Raspberry.
Il contenuto della confezione della Fan SHIM è il seguente:
- Fan SHIM PCB (la micro-board bianco/nera);
- mini-ventola da 30mm;
- viti e bulloni in naylon.
Montare la ventola come da sequenza:



Collegare il connettore femmina della ventola al connettore maschio presente sulla mini-board:


Rimuovere eventuali dissipatori passivi incollati sul processore del Raspberry e pulire eventuali residui.
Posizionare, incastrandola sui pin del Raspberry (si sostiene per frizione), la miniboard della Fan Shim come da immagine:

Il montaggio è così completato.
Al termine riaccendere Raspberry Pi.

Se si usa il sistema operativo Raspberry Pi OS (Raspbian) accedere nuovamente al terminale (da CLI, via SSH oppure con control-alt-t da interfaccia desktop VNC) ed eseguire il seguente comando:
sudo adduser homeassistant gpio
Tale comando aggiunge l’utente “homeassistant” alla lista di quelli abilitati a controllare logicamente la piedinatura fisica del Raspberry Pi (sulla quale è posizionata la ventola).
Home Assistant
Prima di provvedere alla configurazione di Home Assistant è necessario installare il custom component “Raspberry PI GPIO“.
Installare il componente
Installare il componente è un gioco da ragazzi, quando si utilizza il comodissimo HACS.
Prima cosa da fare, nelle schermata principale relativa alle “Integrazioni” cercare “Raspberry PI GPIO“.
Una volta trovato, cliccarvi sopra per accedere alla maschera tramite la quale provvedere all’installazione del componente cliccando “Scarica“.
Terminata l’installazione riavviare Home Assistant per procedere oltre con la configurazione.
Configurazione
A questo punto siamo pronti a installare il package fornito da noi proposto per la definizione di tre entità:
- un sensore che fornisca a Home Assistant la lettura della temperatura della CPU del Raspberry;
- uno switch che consenta di accendere/spegnere la ventola;
- un termostato virtuale che, in base alla temperatura del sensore di cui sopra e della temperatura desiderata dall’utente provveda ad accedere/spegnere la ventola.
Per installare questo progetto utilizzeremo per l’appunto i package, una funzione di Home Assistant che permette di definire uno o più file di configurazione specifici, raggruppando così tutte le sue configurazioni in un solo posto. Per capire come utilizzare questo componente e installato è utile leggere questa scheda.
Nella cartella scelta per i packages (solitamente “packages” all’interno della cartella che contiene i file di configurazione di Home Assistant), copiare il file chiamato “fan_shim_home_assistant.yaml” contenuto nel repository che potete trovare QUI.
Infine salvare e uscire. Recarsi alla voce di menu “Strumenti per sviluppatori” > “YAML” e cliccare su “VERIFICA LA CONFIGURAZIONE“: se – e solo se – la configurazione risulta corretta, provvedere a un riavvio di Home Assistant (voce “RIAVVIARE” a fondo pagina).
Dopo un necessario riavvio, (svariate) nuove entità di diversa natura saranno apparse presso Home Assistant.
Vediamo da cos’è composto il nostro semplice package:
command_line:
- sensor:
name: Temperatura CPU
command: "cat /sys/class/thermal/thermal_zone0/temp"
unit_of_measurement: "°C"
value_template: '{{ value | multiply(0.001) | round(1) }}'
scan_interval: 10
switch:
- platform: rpi_gpio
switches:
- port: 18
name: "Fan SHIM"
climate:
- platform: generic_thermostat
name: Fan SHIM
heater: switch.fan_shim
target_sensor: sensor.temperatura_cpu
min_temp: 40
max_temp: 80
ac_mode: true
target_temp: 40
cold_tolerance: 0.1
hot_tolerance: 0.1
min_cycle_duration:
seconds: 120
keep_alive:
minutes: 5
initial_hvac_mode: "cool"
Il primo blocco definisce il sensore (“sensor.temperatura_cpu“) che censisce appunto la temperatura della CPU; il secondo lo switch (“switch.fan_shim“) che controlla il piedino 18 del Raspberry Pi (ovvero l’alimentazione della ventola; in ultimo, il blocco finale definisce il termostato (“climate.fan_shim“) che controllerà, come detto, la temperatura (proponiamo una configurazione di quest’ultimo “di massima”, liberamente modificabile dall’utente).
Recarsi dunque alla voce di menu “Configurazione” > “Gestione del server” e cliccare su “CONTROLLA LA CONFIGURAZIONE“: se – e solo se – la configurazione risulta corretta, provvedere a un riavvio di Home Assistant (voce “RIAVVIARE” a fondo pagina).
Dopo il necessario riavvio, le tre nuove entità di diversa natura saranno apparse presso Home Assistant:


Uso
A questo punto il termostato provvederà ad accendere la ventola quando la temperatura della CPU del Raspberry Pi supererà la temperatura target impostata sul termostato stesso, temperatura di default impostata a 40 gradi.
⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui. |
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa. |