Controllo Temperatura Raspberry Pi

Premessa
Attenzione: lo staff di HassioHelp.eu non si ritiene responsabile di danni causati ai vostri Raspberry a seguito della lettura di questa guida. Procedete pertanto con coscienza e a vostro rischio. Grazie.
Introduzione
Ciao a tutti, dopo la premessa fatta sopra, che ritengo importante, cominciamo con la guida.
Oggi vedremo come collegare una mini ventola a un Raspberry Pi e averne il pieno controllo, utilizzando le porte GPIO. Questa breve guida è pensata per chi come me non ha molti basi di elettronica, quindi alcuni concetti potrebbero essere spiegati fin troppo semplicemente, e me ne scuso con tutti gli esperti di elettronica.
Recentemente ho acquistato una case in alluminio su AliExpress per il mio Raspberry Pi4, è facile da installare può essere alimentato a 3,3 o 5 V. Il case monta 2 ventole questo lo rende molto efficace nel raffreddare il raspy ma allo stesso tempo, se sempre alimentato, un po’ rumoroso ecco perché mi sono prodigato nella ricerca di una soluzione per non far girare le ventole 24h su 24.
Ho cercato molto in giro nel web e con l’aiuto del utente Sandro Di Marco (Owner del OS domotico noto come Sdomotica) sono giunto ad una soluzione semplicissima e molto valida per avere il controllo dell’accensione della ventola quando raggiunge o supera una soglia di temperatura preimpostata della CPU e spegnerla automaticamente quando la CPU si raffredda. Tutto questo grazie al componente climate: di Home Assistant.
Materiale e collegamento
Cominciamo con il materiale che ci serve per fare il progetto:
- Case Raspberry Pi con Ventola 3/5v.
- transistor NPN S8050.
- resistenza 110 Ohm.
- Cavetti Jumper femmina per Arduino.
Colleghiamo i componenti come segue:
Il lato piatto dell’S8050 lo posizioniamo come nella foto.
S8050 pin c: si collega al filo nero (-) sulla ventola
S8050 pin b: si collega al resistore da 110 Ohm e al pin GPIO 25 del Raspberry.
S8050 pin e: si collega al pin GPIO GND del Raspberry.
Cavetto Rosso della ventola (+): si collega al pin GPIO 3.3v del raspberry.
Nella guida viene uttilizzato il GPIO 25, ma può essere modificato in qualsiasi pin di ingresso GPIO del nostro Raspberry.
Configurazione in Home Assistant
Passiamo alla configurazione del progetto appena creato. Ho preparato il package con tutto il necessario, scaricabile dal link, l’unica cosa che dovete fare è inserirla nella vostra cartella packages che avete configurato precedentemente sul vostro Home Assistant, se non lo avete ancora fatto vi invito a leggere la guida Configurazione Packages
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
homeassistant: customize: ## NODE ANCHORS package.node_anchors: customize: &customize package: Controllo Temperatura RPI version: Main 2.0 author: Mr Ingrid site: www.hassiohelp.eu expose: &expose <<: *customize haaska_hidden: false homebridge_hidden: false sensor: - platform: command_line name: CPU Temperature 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 ports: 25: Controllo Temperatura RPI climate: - platform: generic_thermostat name: Controllo Temperatura RPI heater: switch.controllo_temperatura_rpi target_sensor: sensor.cpu_temperature min_temp: 35 max_temp: 70 ac_mode: true target_temp: 50 cold_tolerance: 2 hot_tolerance: 2 min_cycle_duration: seconds: 30 keep_alive: minutes: 5 initial_hvac_mode: "cool" |
ed in fine aggiungiamo la card termostato su lovelace:
Dopo aver testato tutto e assicurarsi che tutto funziona a dovere, sistemiamo i cavetti ed i componenti sul raspberry.
Ecco un esempio:
Per qualsiasi dubbio o problema che riscontrate, non esitate a contattarci sui nostri social: Facebook Forum Telegram.
Se trovi utile questo lavoro e volete ringraziarci, potete offrirci uno o più caffè clickando sulla tazzina qui sotto
15 risposte
Ciao bell’articolo.. Ma chiedo dove reperire il materiale, (ho trovato i pezzi ma mi sembra uno spreco prenderne 100 di transistor). Poi chiedo ci sono altri usi per sfruttare i GPIO del raspberry? Tipo DHT 11, o altri sensori compatibili?
Ciao , io sono andato in un negozio generico di elettronica. Con 2€ di materiale ho fatto tutto.
scusami perchè hai usato il transistor e una resistenza?? non bastava il semplice collegamento della ventola ai GPIO del raspberry???grazie
Salve complimenti per l’articolo ma o un dubbio la resistenza che è in foto è una da 1000 e lei indica una da 110 quale devo comprare??
Vanno bene entrambe comunque, ho usato quello che avevo in casa.
scusami perchè hai usato il transistor e una resistenza?? non bastava il semplice collegamento della ventola ai GPIO del raspberry???grazie
Perché i GPIO sono in grado di erogare circa 16 milliampere di corrente e la corrente di spunto della ventola potrebbe essere superiore danneggiando il raspberry
Buona sera ottima guida, in alternativa ai NPN S8050 posso utilizzare i tip 122 oppure i bc547 to 92 npn?
Buongiorno,
ho seguito la guida alla lettera, ma la ventola non accenna a partire. Da dove posso partire per fare delle verifiche e scovare il problema?
Grazie
Paolo
Buongiorno Paolo. C’è una modifica da fare sul nome dello switch, se vedi il codice scritto sull’articolo te ne accorgi subito. Comunque sia, tra poco modifico il package che si trova dentro al zip.
Ecco la modifica.
switch:
– platform: rpi_gpio
ports:
25: Controllo Temperatura RPI
climate:
– platform: generic_thermostat
name: Controllo Temperatura RPI
heater: switch.controllo_temperatura_rpi
non riesco a vedere lo switch definito tramite rpi_gpio. la mia versione è 0.114.4 appena installata
Buongiorno, è possibile usare un 2N3906 (dovrebbe essere alternativo al SS8050) ? Un’altra cosa, la resistenza che indichi da usare è da 110ohm mentre quella sulle foto collegata è da 220ohm, c’è un motivo per questo? Grazie.
Ciao Andrea. Teoricamente dovrebbe andare bene anche quell modello. Mal che vada, di danni non ne fai, tranquillo.
Per quanto riguarda alla resistenza, va bene usare sia una che l’altra, io ho usato una 110. Saluti
Buonasera a tutti, utilizzo Hassio su un Raspberry modello B , funziona tutto anche se un pò lento tranne la gestione del GPIO, nel log compare un errore circa il caricamento della libreria necessaria, da quello che ho letto e capito in giro sembra che con Hassio non sia possibile gestire il GPIO mi confermate anche voi questa cosa ?