Inhoudsopgave:
- Stap 1: Je hebt nodig
- Stap 2: Bouw de RS232-interface
- Stap 3: De RS232-interface testen
- Stap 4: Maak de sensoren en het netwerk
- Stap 5: Software-installatie - Gegevensverzameling
- Stap 6: Software-instelling - grafieken
- Stap 7: Implementatie 1 - Serverruimtebewaking
- Stap 8: Implementatie 2 - Weerstation
- Stap 9: Implementatie 3 - Studentenslaapzaal
Video: Temperatuursensor / weerstation: 9 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Maak een weerstation of temperatuurmonitor met behulp van de zeer coole digitale temperatuursensor DS1820. Ik gebruik deze opstelling om een serverruimte te bewaken, en als weerstation. Dit project bestaat uit:
- Een Dallas 1-Wire busnetwerk
- Interface tussen RS-232 en het Dallas 1-Wire-systeem
- Digitale temperatuursensoren aangesloten op de Dallas 1-Wire bus (DS1820/DS18s20)
- Software-setup om temperaturen te verzamelen en in een grafiek te zetten
Bijgewerkt 18-11-2007 met automatische grafische scripts en afbeeldingen van real-life implementaties van dit systeem.
Stap 1: Je hebt nodig
Dit heb je nodig om een weerstation of temperatuurlogger te maken:
- Enkele linux-vaardigheden
- Basis elektronica vaardigheden, solderen etc..
Componenten
- 1 6.2V Zenerdiode (1N5234)
- 1 3.9V Zenerdiode (1N5228)
- 2 Schottky-diodes (1N5818)
- 1 1,5 k weerstand
- 1 2-pins schroefaansluiting
- 1 D-sub 9 vrouwelijke connector met soldeerpunten
- 1 klein stukje perfboard.
- Een of meer Dallas Semiconductor DS1820 of DS18s20 digitale temperatuursensoren
- Cat5-bekabeling
- Krimpkous
Stap 2: Bouw de RS232-interface
Ik wil de 1-Wire busmaster zo klein bouwen dat hij gewoon achter in de computer in de rs232-poort kan zitten.
Stap 1) Zoek uit hoe klein je het kunt maken. Zet alle componenten op een perfbaord. Plaats ze met het circuit in gedachten. We willen geen draden toevoegen aan de onderkant van het circuit! Zie afbeelding. Stap 2) Knip de juiste maat perfboard uit. Sleep gewoon een paar keer een scherp mes over de rij gaten waar je wilt snijden. Doe dit aan beide kanten en breek het dan in tweeën. Het breekt meestal op de breuklijn die u hebt gemaakt. 3) Soldeer de componenten op hun plaats. en sluit de soldeerpunten aan om het circuit te voltooien.
Stap 3: De RS232-interface testen
1)Download en installeer digitemp. Op Debian en Ubuntu Linux wordt dit gedaan door `sudo apt-get install digitemp` uit te voeren. 2) Sluit een DS1820 aan op uw circuit. Het middelste been gaat in de DQ-poort, de andere twee benen gaan in GND3) Sluit de schakeling aan op een rs232-poort van een computer. Ik dekken dit alleen met Linux, maar het is ook mogelijk om dit in Windows te doen. 4) Als het commando `digitemp` niet werkt, is dat omdat er meerdere versies van zijn digitemp.type digitemp, druk dan op tab om ze allemaal te zien.. digitemp_DS9097 is de juiste keuze voor deze 1-draads busmaster. Voor de eenvoud willen we dat het commando `digitemp` is, niet `digitemp_DS9097`.type `sudo ln -s /usr/bin/digitemp_DS9097 /usr/bin/digitemp`5)Als root, of gebruik sudo:Run `digitemp -s /dev/ttyS0 -i`. Dit zoekt in het 1wire-netwerk naar sensoren en creëert een configuratiebestand voor digitemp. Als je COM2 gebruikt, gebruik dan -s /dev/ttyS1. Voer `digitemp -a` uit om de temperatuur van de aangesloten tempsensor af te lezen. Zie de screenshot6) Doe dit voor alle sensoren die je gaat gebruiken, en noteer de adressen voor elk. Als je meerdere sensoren hebt, is het fijn om te weten welke welke is.
Stap 4: Maak de sensoren en het netwerk
Bij het bekabelen van uw 1wire netwerk wilt u cat 5 netwerkkabels gebruiken.
Ik heb slechte ervaringen met het gebruik van andere kabels en met het combineren van verschillende soorten kabels. Bij het rijden over cat5 kan de 1-draads bus behoorlijk lange kabels hebben. In één weerstationopstelling laat ik een cat5 van 30 meter lopen vanuit een technische ruimte met een Linux-computer en tot aan het dak. Op het dak is de kabel opgesplitst in 3 5-15 meter lange kabels met aan het uiteinde een sensor. Deze opstelling werkt feilloos. Het 1-draads netwerk is behoorlijk robuust. De sensor maken: u wilt de sensor zowel waterdicht als stevig maken. 1) Knip een Cat 5-kabel op de gewenste lengte. 2) Isoleer het sensoruiteinde. Knip 3 van de 4 paren af en laat de groen/witgroene over. 3) Schuif een kleine krimpkous over de groene draad. 4) Soldeer de groene draad aan de middelste pin van de DS1820. 5) Trek de krimpkous omhoog, zodat deze al het metaal van het middelste been en het metaal van de draad die ermee verbonden is bedekt. Verwarm het vervolgens met een aansteker of heteluchtpistool om het op zijn plaats te laten krimpen. 6) Soldeer de wit/groene draad aan de twee andere pinnen. 7) Plaats een grotere krimpkous over de sensor en de kabel. Zie de foto. Verwarm het vervolgens voorzichtig met een aansteker om het op zijn plaats te laten krimpen. Je wilt het ding niet in brand steken, houd de vlam gewoon op 4-10 mm afstand van de krimpkous. 8) Plaats uw sensoren waar u ze wilt hebben, maak verbinding met de RS232-interface en steek de stekker in uw computer.
Stap 5: Software-installatie - Gegevensverzameling
Nu we onze sensoren op hun plaats hebben, willen we er wat gegevens van verzamelen. Als root op je linux-machine:1) Voer `digitemp -s /dev/ttyS0 -i -c /etc/digitemp.conf` bestand digitemp.conf met je sensoren. Bekijk de uitvoer om te zien welk nummer de sensoren krijgen.2) Controleer de temperatuur met `digitemp -aq -c /etc/digitemp.conf`3)Dump de uitvoergegevens in een bestand. Ik dump naar een bestand in apache wwwroot, op die manier heb ik overal toegang tot de temperatuur. Het commando `digitemp -aq -c /etc/digitemp.conf > /var/www/digitemp.txt` zet de uitvoer van digitemp in de bestand digitemp.txt4)Automatiseer dit proces: typ `crontab -e`, dit opent root crontab. Type `* * * * * digitemp -aq -c /etc/digitemp.conf > /tmp/digitemp; mv /tmp/digitemp /var/www/digitemp.txt` in dat bestand en sla het op. Voer `crontab -l` uit om te bevestigen dat de crontab is geïnstalleerd. De reden dat ik de uitvoer naar /tmp stuur en dan verplaats het naar /var/www, is dat digitemp een paar seconden gebruikt om zijn run te voltooien. Als u probeert toegang te krijgen tot de uitvoer terwijl digitemp actief is, krijgt u een onvolledig bestand. Dit kan andere scripts die gegevens uit dit bestand lezen in de war brengen. (Dit is niet opgenomen in de schermafbeelding, vergeten te doen) Je weerstation is nu in gebruik. Gebruik de gegevens om te doen wat je wilt, maak er een grafiek van, gebruik het om te e-mailen in geval van hoge/lage temperaturen, enz..
Stap 6: Software-instelling - grafieken
Dit is het lastige deel, hier is veel scripting voor nodig.1) Maak een plek om de scripts te plaatsen, een plek om de afbeeldingen op te slaan en een plek om de gegevens op te slaan.`mkdir /etc/tempsensor``mkdir /var/www /temperature``mkdir /var/log/digitemp_rrd`2)Installeer software: je hebt PHP en RRDtool nodig.`apt-get install rrdtool``apt-get install php` (er zijn veel php-pakketten, installeer er een met een uitvoerbare console)3) Download en installeer de scripts die verantwoordelijk zijn voor het maken van de grafieken: Download tempsensor-0.1.tar.gz naar uw linux-machine.`tar xvzf tempsensor-0.1.tar.gz``cp -v tempsensor/* /etc/ tempsensor`4) Configureer de scripts Open /etc/tempsensor/config.php en volg de opmerkingen in dit bestand. Wijzig het script om invoergegevens te lezen van "/var/www/digitemp.txt" als u het voorbeeld in de vorige stap hebt gevolgd.5)Automatiseren. Voeg een crontab-item toe op dezelfde manier als in de vorige stap. Het script moet elke 5e minuut worden uitgevoerd. De regels moeten er als volgt uitzien:`*/5 * * * * php /etc/tempsensor/logdata.php``*/5 * * * * php /etc/tempsensor/graphdata.php `6) Voer de scripts handmatig uit om te controleren of het werkt.php /etc/tempsensor/logdata.phpphp /etc/tempsensor/graphdata.php7)Ga naar https://your.ip.or.hostname/temperature of wat je ook hebt opgegeven in het configuratiebestand.
Stap 7: Implementatie 1 - Serverruimtebewaking
Mijn eerste implementatie van dit systeem was in de serverruimte van de studentenkamers waar ik werk. Hier zijn enkele foto's voor u.
Stap 8: Implementatie 2 - Weerstation
Toen ik de serverruimte uitrustte met temperatuursensoren, kon ik het gewoon niet laten om er ook een paar op het dak te zetten!
Het weerstation is wat lastiger dan de serverruimte. Er is veel interferentie buiten. De zon kan een sensor raken en deze in 5 minuten van -1 naar 30 c sturen. Ik loste dit op door drie sensoren te gebruiken die op punten waren geplaatst die op verschillende tijdstippen van de dag zonlicht zouden ontvangen. Aangezien warmte de enige "ruis" is in de meting, gebruik ik altijd de sensor met de laagste waarde als mijn "buitentemperatuur". Deze temperatuur wordt weer afgevlakt door de laatste minuten te middelen.
Stap 9: Implementatie 3 - Studentenslaapzaal
Een vriend van mij volgde deze instructable en rustte zijn appartement uit met temperatuursensoren. In de koelkast, badkamer, computer etc.:)
Aanbevolen:
NaTaLia-weerstation: Arduino-weerstation op zonne-energie op de juiste manier gedaan - Ajarnpa
NaTaLia-weerstation: Arduino-weerstation op zonne-energie op de juiste manier gedaan: na 1 jaar succesvol gebruik op 2 verschillende locaties deel ik mijn projectplannen voor een weerstation op zonne-energie en leg ik uit hoe het is geëvolueerd tot een systeem dat echt kan overleven gedurende lange tijd perioden van zonne-energie. Als je volgt
ESP8266 NodeMCU + LM35 + Blynk (IOT-weerstation / digitale temperatuursensor): 4 stappen
ESP8266 NodeMCU + LM35 + Blynk (IOT-weerstation / digitale temperatuursensor): Hallo allemaal! In deze Instructable gaan we leren hoe we de LM35-sensor op NodeMCU kunnen aansluiten en die temperatuurinformatie via internet kunnen weergeven op een smartphone met de Blynk-applicatie. (Ook in dit project zullen we de SuperChart-widget gebruiken in de Bl
Weerstation met Arduino, BME280 & display voor het zien van de trend in de afgelopen 1-2 dagen: 3 stappen (met afbeeldingen)
Weerstation met Arduino, BME280 & display voor het zien van de trend in de afgelopen 1-2 dagen: Hallo! Hier op instructables zijn al weerstations geïntroduceerd. Ze tonen de huidige luchtdruk, temperatuur en vochtigheid. Wat ze tot nu toe misten, was een presentatie van de cursus in de afgelopen 1-2 dagen. Dit proces zou de a
Weerstation met datalogging: 7 stappen (met afbeeldingen)
Weerstation met datalogging: in deze instructable laat ik je zien hoe je zelf een weerstationsysteem kunt maken. Het enige wat je nodig hebt is basiskennis van elektronica, programmeren en een beetje tijd. Dit project is nog in de maak. Dit is pas het eerste deel. Upgraden zal
Acurite 5 in 1 weerstation met een Raspberry Pi en Weewx (andere weerstations zijn compatibel): 5 stappen (met afbeeldingen)
Acurite 5 in 1 weerstation met een Raspberry Pi en Weewx (andere weerstations zijn compatibel): Toen ik het Acurite 5 in 1 weerstation had gekocht, wilde ik het weer thuis kunnen controleren terwijl ik weg was. Toen ik thuiskwam en het instelde, realiseerde ik me dat ik het beeldscherm op een computer moest aansluiten of hun slimme hub moest kopen