Sommario:

Sensore di temperatura/stazione meteorologica: 9 passaggi (con immagini)
Sensore di temperatura/stazione meteorologica: 9 passaggi (con immagini)

Video: Sensore di temperatura/stazione meteorologica: 9 passaggi (con immagini)

Video: Sensore di temperatura/stazione meteorologica: 9 passaggi (con immagini)
Video: Sensore di temperatura LM35 (Sensori con Arduino) 2024, Novembre
Anonim
Sensore di temperatura/stazione meteorologica
Sensore di temperatura/stazione meteorologica
Sensore di temperatura/stazione meteorologica
Sensore di temperatura/stazione meteorologica

Crea una stazione meteorologica o un monitor della temperatura utilizzando il fantastico sensore di temperatura digitale DS1820. Uso questa configurazione per monitorare una sala server e come stazione meteorologica. Questo progetto consiste in:

  • Una rete di autobus Dallas 1-Wire
  • Interfaccia tra RS-232 e il sistema Dallas 1-Wire
  • Sensori di temperatura digitali collegati al bus Dallas 1-Wire (DS1820/DS18s20)
  • Configurazione del software per raccogliere e rappresentare graficamente le temperature

Aggiornato il 18-11-2007 per includere script grafici automatici e immagini di implementazioni reali di questo sistema.

Passaggio 1: è necessario

Hai bisogno
Hai bisogno
Hai bisogno
Hai bisogno

Questo è ciò di cui hai bisogno per realizzare una stazione meteorologica o un registratore di temperatura:

  • Alcune abilità di Linux
  • Competenze di elettronica di base, saldatura ecc.

Componenti

  • 1 diodo Zener da 6,2 V (1N5234)
  • 1 diodo Zener da 3,9 V (1N5228)
  • 2 diodi Schottky (1N5818)
  • 1 resistenza da 1,5 k
  • 1 morsetto a vite a 2 pin
  • 1 connettore femmina D-sub 9 con punti di saldatura
  • 1 piccolo pezzo di perfboard.
  • Uno o più sensori di temperatura digitali Dallas Semiconductor DS1820 o DS18s20
  • Cablaggio Cat5
  • Tubo termoretraibile

Passaggio 2: crea l'interfaccia RS232

Costruisci l'interfaccia RS232
Costruisci l'interfaccia RS232
Costruisci l'interfaccia RS232
Costruisci l'interfaccia RS232
Costruisci l'interfaccia RS232
Costruisci l'interfaccia RS232
Costruisci l'interfaccia RS232
Costruisci l'interfaccia RS232

Mi piace costruire il busmaster 1-Wire così piccolo da poterlo semplicemente sedere nella parte posteriore del computer nella porta rs232.

Passaggio 1) Scopri quanto piccolo puoi farlo. Metti tutti i componenti su una perfbaord. Posizionali con il circuito in mente. Non vogliamo aggiungere alcun filo alla parte inferiore del circuito! Vedi immagine. Passaggio 2) Ritagliare la perfboard della giusta dimensione. Basta trascinare un coltello affilato alcune volte sulla fila di fori in cui si desidera tagliare. Fallo su entrambi i lati, quindi spezzalo in due. Di solito si rompe sulla linea di faglia che hai creato. 3) Saldare i componenti in posizione. e collegare i punti di saldatura per completare il circuito.

Passaggio 3: test dell'interfaccia RS232

Test dell'interfaccia RS232
Test dell'interfaccia RS232
Test dell'interfaccia RS232
Test dell'interfaccia RS232

1) Scarica e installa digitemp. Su Debian e Ubuntu Linux, questo viene fatto eseguendo `sudo apt-get install digitemp`.2) Collega un DS1820 al tuo circuito. La gamba centrale va nella porta DQ, le altre due gambe vanno in GND3) Collegare il circuito a una porta rs232 del computer. Mi occupo di farlo solo con Linux, ma è anche possibile farlo in Windows.. 4) Se il comando `digitemp` non funziona, è perché ci sono più versioni di digitemp.type digitemp, quindi premi tab per vederli tutti.. digitemp_DS9097 è quello giusto per questo busmaster a 1 filo. Giusto per semplicità, vogliamo che il comando sia `digitemp`, non `digitemp_DS9097`.type `sudo ln -s /usr/bin/digitemp_DS9097 /usr/bin/digitemp`5)Come root, o usando sudo:Run `digitemp -s /dev/ttyS0 -i`. Questo cerca i sensori nella rete 1wire e crea un file di configurazione per digitemp. Se stai usando COM2, usa -s /dev/ttyS1. Esegui `digitemp -a` per leggere la temperatura del sensore di temperatura collegato. Guarda lo screenshot6) Fai questo per tutti i sensori che utilizzerai e annota gli indirizzi per ognuno. Quando hai più sensori, è bello sapere quale è quale.

Passaggio 4: crea i sensori e la rete

Realizza i Sensori e la Rete
Realizza i Sensori e la Rete
Realizza i Sensori e la Rete
Realizza i Sensori e la Rete
Realizza i Sensori e la Rete
Realizza i Sensori e la Rete
Realizza i Sensori e la Rete
Realizza i Sensori e la Rete

Quando si collega la rete 1wire, si desidera utilizzare cavi di rete cat 5.

Ho avuto alcune brutte esperienze usando altri cavi e combinando diversi tipi di cavi. Quando si esegue su cat5, il bus 1wire può avere cavi piuttosto lunghi. In una configurazione di una stazione meteorologica, eseguo un Cat5 di 30 metri da una stanza tecnica con un computer Linux e fino al tetto. Sul tetto, il cavo è diviso in 3 cavi lunghi 5-15 metri con un sensore all'estremità di ciascuno. Questa configurazione funziona perfettamente. La rete a 1 filo è abbastanza robusta. Realizzazione del sensore: vuoi rendere il sensore sia impermeabile che rigido. 1) Tagliare un cavo Cat 5 alla lunghezza desiderata. 2) Disisolare l'estremità del sensore. Tagliare 3 delle 4 paia, lasciando quella verde/biancoverde. 3) Far scorrere un piccolo tubo termoretraibile sul filo verde. 4) Saldare il filo verde al pin centrale del DS1820 5) Tirare il tubo termoretraibile verso l'alto, in modo che copra tutto il metallo della gamba centrale e il metallo del filo ad esso collegato. Quindi riscaldalo con un accendino o una pistola termica per restringerlo in posizione 6) Saldare il filo bianco/verde agli altri due pin. 7) Mettere un tubo termoretraibile più grande sopra il sensore e il cavo. Vedi l'immagine. Quindi scaldalo delicatamente con un accendino per farlo restringere in posizione. Non vuoi dare fuoco alla cosa, tieni semplicemente la fiamma a 4-10 mm di distanza dal tubo termoretraibile. 8) Metti i tuoi sensori dove vuoi averli, collegati all'interfaccia rs232 e collegati al tuo computer.

Passaggio 5: configurazione del software - acquisizione dati

Configurazione software - Acquisizione dati
Configurazione software - Acquisizione dati

Ora che abbiamo i nostri sensori in posizione, vogliamo raccogliere alcuni dati da loro. Come root sulla tua macchina Linux: 1) Esegui `digitemp -s /dev/ttyS0 -i -c /etc/digitemp.conf`Questo crea la configurazione file digitemp.conf con i tuoi sensori. Guarda l'output per vedere quale numero ottengono i sensori. 2) Controlla la temperatura con `digitemp -aq -c /etc/digitemp.conf`3) Scarica i dati di output in un file. Eseguo il dump in un file all'interno di apaches wwwroot, in questo modo posso accedere alla temperatura da qualsiasi luogo. Il comando `digitemp -aq -c /etc/digitemp.conf > /var/www/digitemp.txt` inserisce l'output di digitemp nel file digitemp.txt4) Automatizza questo processo: digita `crontab -e`, questo apre le radici crontab. Digita `* * * * * digitemp -aq -c /etc/digitemp.conf > /tmp/digitemp; mv /tmp/digitemp /var/www/digitemp.txt` in quel file e salvalo. Esegui `crontab -l` per confermare che il crontab è stato installato. Il motivo per cui sto reindirizzando l'output in /tmp e poi mi sposto it a /var/www, è che digitemp usa pochi secondi per competere nella sua corsa. Se provi ad accedere all'output mentre digitemp è in esecuzione, otterresti un file incompleto. Questo potrebbe rovinare altri script che leggono i dati da questo file. (Questo non è incluso nello screenshot, ho dimenticato di farlo) La tua stazione meteorologica è ora attiva e funzionante. Usa i dati per fare quello che vuoi, grafico, usalo per e-mail in caso di alta/bassa temperatura, ecc.

Passaggio 6: installazione del software - Grafici

Configurazione software - Grafici
Configurazione software - Grafici
Configurazione software - Grafici
Configurazione software - Grafici

Questa è la parte difficile, qui sono necessari molti script.1) Crea un posto dove mettere gli script, un posto dove archiviare le immagini e un posto dove archiviare i dati.`mkdir /etc/tempsensor``mkdir /var/www /temperature``mkdir /var/log/digitemp_rrd`2)Installa software: avrai bisogno di PHP e RRDtool.`apt-get install rrdtool``apt-get install php` (ci sono molti pacchetti php, installane uno con un eseguibile da console)3) Scarica e installa gli script responsabili della creazione dei grafici: Scarica tempsensor-0.1.tar.gz sulla tua macchina Linux.`tar xvzf tempsensor-0.1.tar.gz``cp -v tempsensor/* /etc/ tempsensor`4) Configura gli scriptApri /etc/tempsensor/config.php e segui i commenti in questo file. Cambia lo script per leggere i dati di input da "/var/www/digitemp.txt" se hai seguito l'esempio nel passaggio precedente.5) Automatizza. Aggiungi una voce crontab allo stesso modo del passaggio precedente. Lo script dovrebbe essere eseguito ogni 5 minuti. Le linee dovrebbero essere così:`*/5 * * * * php /etc/tempsensor/logdata.php``*/5 * * * * php /etc/tempsensor/graphdata.php `6) Esegui manualmente gli script per verificare se funziona.php /etc/tempsensor/logdata.phpphp /etc/tempsensor/graphdata.php7) Visita https://your.ip.or.hostname/temperature o qualunque cosa tu abbia specificato in il file di configurazione.

Passaggio 7: implementazione 1 - Monitoraggio della sala server

Implementazione 1 - Monitoraggio della sala server
Implementazione 1 - Monitoraggio della sala server
Implementazione 1 - Monitoraggio della sala server
Implementazione 1 - Monitoraggio della sala server
Implementazione 1 - Monitoraggio della sala server
Implementazione 1 - Monitoraggio della sala server

La mia prima implementazione di questo sistema è stata nella sala server dei dormitori degli studenti dove lavoro. Ecco alcune immagini per te.

Passaggio 8: implementazione 2 - Stazione meteorologica

Implementazione 2 - Stazione meteorologica
Implementazione 2 - Stazione meteorologica
Implementazione 2 - Stazione meteorologica
Implementazione 2 - Stazione meteorologica
Implementazione 2 - Stazione meteorologica
Implementazione 2 - Stazione meteorologica

Quando ho dotato la sala server di sensori di temperatura, non ho resistito a metterne un po' anche sul tetto!

La stazione meteorologica è un po' più complicata della sala server. Ci sono molte interferenze fuori. Il sole può colpire un sensore, inviandolo da -1 a 30 c in 5 minuti. Ho risolto questo problema utilizzando tre sensori posizionati in punti che avrebbero ricevuto la luce solare in momenti diversi durante il giorno. Poiché il calore è l'unico "rumore" nella misurazione, utilizzo semplicemente il sensore con la lettura più bassa in qualsiasi momento come "temperatura esterna". Questa temperatura viene nuovamente livellata facendo la media degli ultimi minuti.

Passaggio 9: implementazione 3 - Dormitorio per studenti

Attuazione 3 - Dormitorio per studenti
Attuazione 3 - Dormitorio per studenti
Attuazione 3 - Dormitorio per studenti
Attuazione 3 - Dormitorio per studenti

Un mio amico ha seguito questa istruzione e ha dotato il suo appartamento di sensori di temperatura. In frigo, bagno, computer ecc.:)

Consigliato: