Съдържание:

Температурен сензор / метеостанция: 9 стъпки (със снимки)
Температурен сензор / метеостанция: 9 стъпки (със снимки)

Видео: Температурен сензор / метеостанция: 9 стъпки (със снимки)

Видео: Температурен сензор / метеостанция: 9 стъпки (със снимки)
Видео: Метеостанция. Не показывает показания внешнего датчика температуры. Даже находясь рядом друг с друго 2024, Юли
Anonim
Температурен сензор / метеостанция
Температурен сензор / метеостанция
Температурен сензор / метеостанция
Температурен сензор / метеостанция

Създайте метеорологична станция или температурен монитор с помощта на много готин цифров температурен сензор DS1820. Използвам тази настройка за наблюдение на сървърна стая и като метеостанция. Този проект се състои от:

  • Мрежова шина с 1-Wire Dallas
  • Интерфейс между RS-232 и Dallas 1-Wire система
  • Цифрови температурни сензори, свързани към 1-проводната шина на Далас (DS1820/DS18s20)
  • Софтуерна настройка за събиране и графики на температурите

Актуализирано на 18.11.2007 г., за да включва автоматични графични скриптове и снимки на реални реализации на тази система.

Стъпка 1: Имате нужда

Имате нужда
Имате нужда
Имате нужда
Имате нужда

Ето какво ви е необходимо, за да направите метеорологична станция или регистратор на температура:

  • Някои умения за Linux
  • Основни умения по електроника, запояване и др.

Компоненти

  • 1 6.2V Zener диод (1N5234)
  • 1 3.9V стабилитрон (1N5228)
  • 2 диода на Шотки (1N5818)
  • 1 1,5 k резистор
  • 1 2 -пинов винтов терминал
  • 1 женски конектор D-sub 9 с точки за запояване
  • 1 малко парче перфорирана дъска.
  • Един или повече цифрови сензори за температура Dallas Semiconductor DS1820 или DS18s20
  • Кабел Cat5
  • Свиваема тръба

Стъпка 2: Изградете RS232 интерфейс

Изградете RS232 интерфейс
Изградете RS232 интерфейс
Изградете RS232 интерфейс
Изградете RS232 интерфейс
Изградете RS232 интерфейс
Изградете RS232 интерфейс
Изградете RS232 интерфейс
Изградете RS232 интерфейс

Харесва ми да изграждам 1-Wire busmaster толкова малък, че да може просто да седи в задната част на компютъра в rs232 порта.

Стъпка 1) Разберете колко малък можете да го направите. Поставете всички компоненти на перфоратор. Поставете ги с мисълта за веригата. Не искаме да добавяме никакви проводници към дъното на веригата! Вижте изображението. Стъпка 2) Изрежете перфборда с правилния размер. Просто плъзнете остър нож няколко пъти над реда отвори, където искате да изрежете. Направете това от двете страни, след което просто го счупете на две. Обикновено се прекъсва при създадената от вас линия на разлом. 3) Запоявайте компонентите на място. и свържете точките за запояване, за да завършите веригата.

Стъпка 3: Тестване на интерфейса RS232

Тестване на интерфейса RS232
Тестване на интерфейса RS232
Тестване на интерфейса RS232
Тестване на интерфейса RS232

1) Изтеглете и инсталирайте digitemp. В Debian и Ubuntu Linux това става чрез стартиране на „sudo apt-get install digitemp“. 2) Свържете DS1820 към вашата верига. Средният крак отива в DQ порта, другите два крака в GND3) Свържете веригата към компютър rs232 порт. Обхващам само това с Linux, но е възможно и това в windows..4) Ако командата `digitemp` не работи, това е защото има няколко версии на digitemp.type digitemp, след това натиснете таб, за да ги видите всички.. digitemp_DS9097 е правилният за този 1wire busmaster. Само за простота, искаме командата да бъде `digitemp`, а не` digitemp_DS9097`.type `sudo ln -s/usr/bin/digitemp_DS9097/usr/bin/digitemp`5) Като root или с помощта на sudo: Стартирайте `digitemp -s/dev/ttyS0 -i`. Това търси в мрежата 1wire сензори и създава конфигурационен файл за digitemp. Ако използвате COM2, използвайте -s /dev/ttyS1. Стартирайте `digitemp -a`, за да прочетете температурата на свързания температурен сензор. Вижте екранната снимка 6) Направете това за всички сензори, които ще използвате, и запишете адресите за всеки един. Когато имате няколко сензора, е хубаво да знаете кой е кой.

Стъпка 4: Направете сензорите и мрежата

Направете сензорите и мрежата
Направете сензорите и мрежата
Направете сензорите и мрежата
Направете сензорите и мрежата
Направете сензорите и мрежата
Направете сензорите и мрежата
Направете сензорите и мрежата
Направете сензорите и мрежата

Когато свързвате вашата 1wire мрежа, искате да използвате мрежови кабели cat 5.

Имах някои лоши преживявания с използването на други кабели и с комбинирането на различни видове кабели. Когато се движите по cat5, шината 1wire може да има доста дълги кабели. В една настройка за метеорологична станция бягам 30 метра cat5 от техническо помещение с компютър с Linux и до покрива. На покрива кабелът е разделен на 3 кабела с дължина 5-15-15 метра със сензор в края на всеки от тях. Тази настройка работи безупречно. 1-жичната мрежа е доста здрава. Изработка на сензора: Искате да направите сензора едновременно водоустойчив и твърд. 1) Изрежете кабел Cat 5 до желаната дължина. 2) Деизолирайте края на сензора. Отрежете 3 от 4 -те двойки, оставяйки зелената/бялозелената. 3) Плъзнете малка свиваща се тръба върху зелената жица. 4) Запоявайте зеления проводник към средния щифт на DS1820 5) Издърпайте свиващата тръба нагоре, така че да покрива целия метал на средния крак и метала на свързания към него проводник. След това го загрейте с запалка или пистолет за нагряване, за да го свиете на място. 6) Запоявайте бялото/зеленото жило към другите два щифта. 7) Поставете по -голяма свиваща се тръба върху сензора и кабела. Вижте снимката. След това го загрейте внимателно с запалка, за да се свие на място. Не искате да подпалите нещото, просто дръжте пламъка на 4-10 мм далеч от свиващата тръба. 8) Поставете сензорите си навсякъде, където искате да ги имате, свържете се с интерфейса rs232 и включете към компютъра си.

Стъпка 5: Настройка на софтуера - Придобиване на данни

Софтуерна настройка - събиране на данни
Софтуерна настройка - събиране на данни

Сега, когато разполагаме със своите сензори, искаме да съберем някои данни от тях. Като root на вашата Linux машина: 1) Стартирайте `digitemp -s /dev /ttyS0 -i -c /etc/digitemp.conf` Това създава конфигурацията файл digitemp.conf с yoru сензори. Гледайте изхода, за да видите какъв брой получават сензорите.2) Проверете температурата с `digitemp -aq -c /etc/digitemp.conf`3) Изхвърлете изходните данни във файл. Изхвърлям във файл в apaches wwwroot, по този начин мога да получа достъп до температурата отвсякъде. Командата `digitemp -aq -c /etc/digitemp.conf>/var/www/digitemp.txt` поставя изхода на digitemp в файл digitemp.txt4) Автоматизирайте този процес: въведете `crontab -e`, това отваря корени crontab. Тип` * * * * * digitemp -aq -c /etc/digitemp.conf> /tmp /digitemp; mv /tmp /digitemp /var /www /digitemp.txt "в този файл и го запазете. Изпълнете` crontab -l`, за да потвърдите, че crontab е инсталиран. към /var /www е, че digitemp използва няколко секунди, за да се конкурира с изпълнението си. Ако се опитате да получите достъп до изхода, докато digitemp работи, ще получите непълен файл. Това може да обърка други скриптове, които четат данни от този файл. (Това не е включено в екранната снимка, забравих да го направя) Вашата метеостанция вече е работеща. Използвайте данните, за да правите каквото ви харесва, начертайте я, използвайте я по имейл в случай на висока/ниска температура и т.н.

Стъпка 6: Настройка на софтуера - Графиране

Софтуерна настройка - Графиране
Софтуерна настройка - Графиране
Софтуерна настройка - Графиране
Софтуерна настройка - Графиране

Това е сложната част, тук са необходими много скриптове. 1) Направете място за поставяне на скриптовете, място за съхраняване на изображенията и място за съхраняване на данните. "Mkdir /etc /tempsensor" /temperature "mkdir/var/log/digitemp_rrd`2) Инсталирайте софтуер: Ще ви трябват PHP и RRDtool." apt-get install rrdtool "" apt-get install php "(има много php пакети, инсталирайте един с конзола изпълним) 3) Изтеглете и инсталирайте скриптовете, отговорни за превръщането на графиките: Изтеглете tempsensor-0.1.tar.gz на вашата машина с Linux. tempsensor`4) Конфигурирайте скриптовете Отворете /etc/tempsensor/config.php и следвайте коментарите в този файл. Променете скрипта, за да прочетете входните данни от „/var/www/digitemp.txt“, ако сте последвали примера в предишната стъпка.5) Автоматизирайте. Добавете запис в crontab по същия начин, както в предишната стъпка. Скриптът трябва да се изпълнява на всеки 5 -та минута. Редовете трябва да изглеждат така: ` */5 * * * * php /etc/tempsensor/logdata.php "*/5 * * * * php /etc/tempsensor/graphdata.php `6) Стартирайте ръчно скриптовете, за да проверите дали работи.php /etc/tempsensor/logdata.phpphp /etc/tempsensor/graphdata.php7) Посетете https://your.ip.or.hostname/temperature или каквото и да посочите в конфигурационния файл.

Стъпка 7: Изпълнение 1 - Мониторинг на сървърната стая

Изпълнение 1 - Мониторинг на сървърната стая
Изпълнение 1 - Мониторинг на сървърната стая
Изпълнение 1 - Мониторинг на сървърната стая
Изпълнение 1 - Мониторинг на сървърната стая
Изпълнение 1 - Мониторинг на сървърната стая
Изпълнение 1 - Мониторинг на сървърната стая

Първото ми внедряване на тази система беше в сървърната стая в студентските общежития, където работя. Ето няколко снимки за вас.

Стъпка 8: Изпълнение 2 - Метеорологична станция

Изпълнение 2 - Метеорологична станция
Изпълнение 2 - Метеорологична станция
Изпълнение 2 - Метеорологична станция
Изпълнение 2 - Метеорологична станция
Изпълнение 2 - Метеорологична станция
Изпълнение 2 - Метеорологична станция

Когато оборудвах сървърната стая с температурни сензори, просто не устоях да сложа някои на покрива!

Метеостанцията е малко по -трудна от сървърната. Навън има много смущения. Слънцето може да удари сензор, изпращайки го от -1 до 30 c за 5 минути. Реших това, като използвах три сензора, поставени в точки, които ще получават слънчева светлина по различно време през деня. Тъй като топлината е единственият „шум“в измерването, просто използвам сензора с най -ниското отчитане по всяко време като моя „външна температура“. Тази температура отново се изглажда чрез усредняване на последните няколко минути.

Стъпка 9: Изпълнение 3 - Стая за студентско общежитие

Изпълнение 3 - Стая за студентско общежитие
Изпълнение 3 - Стая за студентско общежитие
Изпълнение 3 - Стая за студентско общежитие
Изпълнение 3 - Стая за студентско общежитие

Един мой приятел последва тази инструкция и оборудва апартамента си с температурни сензори. В хладилника, банята, компютъра и т.н.:)

Препоръчано: