Cuprins:
- Pasul 1: Ai nevoie
- Pasul 2: Construiți interfața RS232
- Pasul 3: Testarea interfeței RS232
- Pasul 4: Faceți senzorii și rețeaua
- Pasul 5: Configurare software - Achiziție date
- Pasul 6: Configurare software - Graficare
- Pasul 7: Implementare 1 - Monitorizare cameră server
- Pasul 8: Implementarea 2 - Stația meteo
- Pasul 9: Implementare 3 - Cameră pentru studenti
Video: Senzor de temperatură / vreme: 9 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Creați o stație de temperatură sau un monitor de temperatură utilizând senzorul digital de temperatură foarte rece DS1820. Folosesc această configurație pentru a monitoriza o cameră de server și ca stație de temperatură. Acest proiect constă din:
- O rețea de autobuz Dallas 1-Wire
- Interfață între RS-232 și sistemul Dallas 1-Wire
- Senzori digitali de temperatură conectați la magistrala Dallas 1-Wire (DS1820 / DS18s20)
- Configurare software pentru colectarea și graficarea temperaturilor
Actualizat la 18.11.2007 pentru a include scripturi grafice automate și imagini cu implementările din acest sistem din viața reală.
Pasul 1: Ai nevoie
Iată de ce aveți nevoie pentru a crea o stație meteo sau un înregistrator de temperatură:
- Câteva abilități Linux
- Abilități electronice de bază, lipire etc.
Componente
- 1 diodă Zener de 6,2 V (1N5234)
- 1 diodă Zener de 3,9 V (1N5228)
- 2 diode Schottky (1N5818)
- 1 rezistor de 1,5 k
- 1 terminal cu șurub cu 2 pini
- 1 conector D-sub 9 mamă cu puncte de lipit
- 1 bucată mică de perfboard.
- Unul sau mai multe senzori digitale de temperatură Dallas Semiconductor DS1820 sau DS18s20
- Cablare Cat5
- Tub retractabil
Pasul 2: Construiți interfața RS232
Îmi place să construiesc busmasterul cu 1 fir atât de mic încât să poată sta în spatele computerului în portul RS232.
Pasul 1) Aflați cât de mic îl puteți face. Puneți toate componentele pe un perfbaord. Plasați-le cu circuitul în minte. Nu vrem să adăugăm fire în partea de jos a circuitului! Se imagine. Pasul 2) Decupați perfboardul cu dimensiunea potrivită. Trageți de câteva ori un cuțit ascuțit peste rândul de găuri pe care doriți să le tăiați. Faceți acest lucru de ambele părți, apoi rupeți-l în două. De obicei, se rupe la linia de eroare pe care ați creat-o. 3) Lipiți componentele la locul lor. și conectați punctele de lipit pentru a finaliza circuitul.
Pasul 3: Testarea interfeței RS232
1) Descărcați și instalați digitemp. Pe Debian și Ubuntu Linux, acest lucru se realizează executând `sudo apt-get install digitemp`. 2) Conectați un DS1820 la circuitul dvs. Piciorul de mijloc merge în portul DQ, celelalte două picioare în GND3) Conectați circuitul la un port RS232 al computerelor. Acoper acest lucru doar cu Linux, dar este posibil să faceți acest lucru și în Windows..4) Dacă comanda `digitemp` nu funcționează, este pentru că există mai multe versiuni de digitemp.type digitemp, apoi apăsați tab pentru a le vedea pe toate.. digitemp_DS9097 este cea potrivită pentru acest busmaster 1wire. Doar din motive de simplitate, dorim ca comanda să fie „digitemp”, nu „digitemp_DS9097”. tip „sudo ln -s / usr / bin / digitemp_DS9097 / usr / bin / digitemp`5) Ca root, sau folosind sudo: Rulați `digitemp -s / dev / ttyS0 -i`. Aceasta caută senzorii în rețeaua 1wire și creează un fișier de configurare pentru digitemp. Dacă utilizați COM2, utilizați -s /dev/ttyS1. Run `digitemp -a` pentru a citi temperatura senzorului de timp conectat. Vedeți captura de ecran Când aveți mai mulți senzori, este plăcut să știți care este.
Pasul 4: Faceți senzorii și rețeaua
Când vă conectați rețeaua 1wire, doriți să utilizați cabluri de rețea cat 5.
Am avut câteva experiențe proaste folosind alte cabluri și combinând diferite tipuri de cabluri. Când rulează peste cat5, magistrala 1wire poate avea cabluri destul de lungi. Într-o singură instalație de vreme, rulez un cat5 de 30 de metri dintr-o cameră tehnică cu un computer Linux și până pe acoperiș. Pe acoperiș, cablul este împărțit în 3 cabluri lungi de 5-15 metri, cu un senzor la capătul fiecăruia. Această configurare funcționează perfect. Rețeaua cu 1 fir este destul de robustă. Realizarea senzorului: doriți să faceți senzorul atât impermeabil, cât și rigid. 1) Tăiați un cablu Cat 5 la lungimea dorită. 2) Dezizolați capătul senzorului. Tăiați 3 din cele 4 perechi, lăsând-o pe cea verde / albă. 3) Glisați un mic tub contractor peste firul verde. 4) Lipiți firul verde la știftul din mijloc al DS1820 5) Trageți tubul de contractare în sus, astfel încât să acopere tot metalul piciorului mijlociu și metalul firului conectat la acesta. Apoi, încălziți-l cu o brichetă sau un pistol de încălzire pentru a-l micșora la locul său 6) Lipiți firul alb / verde pe ceilalți doi pini. 7) Puneți un senzor mai mare peste senzor și cablu. Vezi poza. Apoi încălziți-l ușor cu o brichetă pentru a se micșora la loc. Nu doriți să dați foc la lucru, țineți doar flacăra la 4-10 mm distanță de tubul termocontractabil. 8) Puneți senzorii oriunde doriți să le aveți, conectați-vă la interfața RS232 și conectați-vă la computer.
Pasul 5: Configurare software - Achiziție date
Acum că avem senzorii la locul lor, vrem să adunăm câteva date de la aceștia. Ca rădăcină pe mașina dvs. Linux: 1) Rulați `digitemp -s / dev / ttyS0 -i -c /etc/digitemp.conf` Aceasta creează config fișier digitemp.conf cu senzori yoru. Urmăriți ieșirea pentru a vedea ce număr obțin senzorii.2) Verificați temperatura cu `digitemp -aq -c /etc/digitemp.conf`3)Dump datele de ieșire într-un fișier. Ies la un fișier din apaches wwwroot, astfel pot accesa temperatura de oriunde. Comanda `digitemp -aq -c /etc/digitemp.conf> / var / www / digitemp.txt` plasează ieșirea digitemp în fișier digitemp.txt4) Automatizați acest proces: tastați `crontab -e`, acesta deschide rădăcinile crontab. Tip` `* * * * * digitemp -aq -c /etc/digitemp.conf> / tmp / digitemp; mv / tmp / digitemp / var / www / digitemp.txt` în acel fișier și salvați-l. Rulați `crontab -l` pentru a confirma că crontab-ul a fost instalat. Motivul pentru care canalizez ieșirea în / tmp și apoi mut la / var / www, este că digitemp folosește câteva secunde pentru a-și concura cursa. Dacă încercați să accesați ieșirea în timp ce digitemp rulează, veți obține un fișier incomplet. Acest lucru ar putea deranja alte scripturi care citesc date din acest fișier. (Aceasta nu este inclusă în captura de ecran, ați uitat să o faceți) Stația meteo este acum funcțională. Utilizați datele pentru a face orice doriți, graficați-le, folosiți-le pentru a trimite e-mailuri în caz de temperatură înaltă / joasă etc.
Pasul 6: Configurare software - Graficare
Aceasta este partea dificilă, multe scripturi necesare aici. 1) Faceți un loc pentru a pune scripturile, un loc pentru stocarea imaginilor și un loc pentru stocarea datelor. / temperature "" mkdir / var / log / digitemp_rrd "2) Instalați software: veți avea nevoie de PHP și RRDtool. executabil pentru consolă) 3) Descărcați și instalați scripturile responsabile pentru realizarea graficelor: Descărcați tempsensor-0.1.tar.gz pe mașina dvs. Linux. `tar xvzf tempsensor-0.1.tar.gz "cp -v tempsensor / * / etc / tempsensor`4) Configurați scripturile Deschideți /etc/tempsensor/config.php și urmați comentariile din acest fișier. Schimbați scriptul pentru a citi datele de intrare din „/var/www/digitemp.txt” dacă ați urmat exemplul din pasul anterior.5) Automate. Adăugați o intrare crontab în același mod ca în pasul anterior. Scriptul ar trebui să ruleze la fiecare minut 5. Liniile ar trebui să arate astfel: "* / 5 * * * * php /etc/tempsensor/logdata.php" */5 * * * * php /etc/tempsensor/graphdata.php `6) Rulați manual scripturile pentru a verifica dacă funcționează. fișierul de configurare.
Pasul 7: Implementare 1 - Monitorizare cameră server
Prima mea implementare a acestui sistem a fost în camera serverelor din căminele studențești unde lucrez. Iată câteva imagini pentru tine.
Pasul 8: Implementarea 2 - Stația meteo
Când am echipat camera serverului cu senzori de temperatură, pur și simplu nu m-am putut abține să pun ceva pe aswel!
Stația de vreme este puțin mai complicată decât camera serverului. Afară există o mulțime de interferențe. Soarele poate lovi un senzor, trimițându-l de la -1 la 30 c în 5 minute. Am rezolvat acest lucru folosind trei senzori amplasați în puncte care ar primi lumina soarelui în momente diferite în timpul zilei. Deoarece căldura este singurul „zgomot” din măsurătoare, folosesc senzorul cu cea mai mică citire în orice moment ca „temperatura exterioară” a mea. Această temperatură este din nou netezită prin medierea ultimelor câteva minute.
Pasul 9: Implementare 3 - Cameră pentru studenti
Un prieten de-al meu a urmat acest lucru instructiv și și-a dotat apartamentul cu senzori de temperatură. În frigider, baie, computer etc.:)
Recomandat:
Senzor de vreme compact cu legătură de date GPRS (cartela SIM): 4 pași
Senzor de vreme compact cu legătură de date GPRS (cartela SIM): Rezumatul proiectului Acesta este un senzor de vreme alimentat de la baterie bazat pe un senzor de temperatură / presiune / umiditate BME280 și un MCU ATMega328P. Funcționează cu două baterii litiu tionil AA de 3,6 V. Are un consum de somn ultra-mic de 6 µA. Trimite date
Ceas de maree și vreme: 9 pași (cu imagini)
Ceas de maree și vreme: Deși puteți cumpăra ceasuri de maree analogice care au o singură mână care indică dacă mareea este mare sau scăzută sau undeva între ele, ceea ce am vrut a fost ceva care să-mi spună la ce oră va fi marea mică. Am vrut ceva la care să mă uit la q
Generator de muzică bazat pe vreme (Generator Midi bazat pe ESP8266): 4 pași (cu imagini)
Generator de muzică bazat pe vreme (Generator midi bazat pe ESP8266): Bună, astăzi vă voi explica cum să vă creați propriul generator de muzică bazat pe vreme. Se bazează pe un ESP8266, care este un fel ca un Arduino și răspunde la temperatură, ploaie și intensitatea luminii. Nu vă așteptați să producă melodii întregi sau programe de acord
ESP8266 - 12 vreme: 4 pași (cu imagini)
ESP8266 - 12 Weatherstation: Acest proiect se referă la construirea și testarea stației meteo bazate pe ESP8266 - 12. Conceptul se bazează pe alimentarea redusă cu încărcarea bateriei folosind celula solară. Această instrucțiune se bazează pe sistemul meu de încărcare a celor 2 proiecte anterioare și pe jurnalul de specialitate
Lampă pentru vreme / matrice: 42 de pași (cu imagini)
Lampă pentru vreme / matrice: În acest instructiv descriu proiectarea, construcția și programarea unei lămpi cu matrice LED. Designul seamănă cu o lampă obișnuită, dar interiorul a fost înlocuit cu o matrice de LED-uri ws2812. Controlul se face cu ajutorul unui Raspberry Pi, deci t