Мазмуну:

Crawl Space Monitor (aka: More Frozen Pipes !!): 12 кадам (Сүрөттөр менен)
Crawl Space Monitor (aka: More Frozen Pipes !!): 12 кадам (Сүрөттөр менен)

Video: Crawl Space Monitor (aka: More Frozen Pipes !!): 12 кадам (Сүрөттөр менен)

Video: Crawl Space Monitor (aka: More Frozen Pipes !!): 12 кадам (Сүрөттөр менен)
Video: Найдена секретная комната! - Полностью нетронутый заброшенный ЗАМОК 12-го века во Франции 2024, Ноябрь
Anonim
Crawl Space Monitor (aka: More Frozen Pipes !!)
Crawl Space Monitor (aka: More Frozen Pipes !!)

Менин үйүмө суу кудуктан жылытылбаган сойлоп боштук аркылуу келет. Бардык ашкана жана ванна сантехникасы ушул мейкиндик аркылуу өтөт. (Жабык суу түтүктөрү бул үйдө 70-жылдардын орто ченинде ойлонулган нерсе болчу!) Мен тоңуп калуудан жогору температураны кармап туруу үчүн "запастагы" термостатикалык штепсельдерде жылуулук лампаларын колдонуп келем. Бул түзүлүштө бир нече олуттуу көйгөйлөр бар болчу: 1 - Көрүнүш жок. Өрттөнгөн лампалардын биринчи көрсөткүчү тоңуп калган түтүктөр! 2 - Кээде штепсельдер өчпөй калат. Бул жагымсыз сюрприздер үчүн электрдик эсеп келет. 3 - Гранулярдык жок. Мен 3 лампаны "онлайнда" кармадым (бардыгы 750 ватт) жана бул баары же эч нерсе эмес болчу. (2 лампа дайыма эле аны чече бербейт.) Arduino менен таанышкандан кийин жана башка адамдардын аны менен кылган нерселерин көргөндөн кийин, мен аны айландырам деп чечтим. Мен башкалардын долбоорлорунан үлгү кодун уялбастан тыкан кылып, чийип койгондугумду мойнума алам, бирок аягында мен баарын кайра жаздым. Башында мен тапкан "WiFi Weather Station" Adafruit.com жана аны өзгөрткөн. Веб -сайтты жаңыртуунун ордуна, мен Amazon Желе Кызматтарын колдонуп, мага SMS статусунун жаңыртууларын жөнөткөм. Мен ошондой эле кээ бир 110В реленин көзөмөлүн коштум (https://www.adafruit.com/products/268). Мен андан кийин "акылдуу" болуп, аны "чыңдоону" чечтим - жакшы - бир нерсе бир нерсени кыскартып, сыйкырдуу көк түтүндү алдым. Баары куурулган… Башка CC3000 WiFi үзүлүшү болбогондуктан, мен бул жолу башкача кылдым. Мен аны сериялык интерфейс аркылуу интерактивдүү көзөмөлдөө үчүн куруп, андан кийин EZ-Link Bluetooth FTDI интерфейсин коштум. (Программалык камсыздоону жаңыртуу үчүн ноутбукту үйдүн астына сүйрөбөңүз !!!) Мен дагы Bluetooth аркылуу блокко туташкан Python интерфейсин курдум, аны үзгүлтүксүз сурап турам жана Mac компьютеримде статус маалыматын көрсөтөт. (Ошондой эле "адамдык интерфейс" бар, ага каалаган терминалдык эмуляция программасы кире алат.) Бардык WiFi жана RTC коддорун кайра жазуунун жана алып салуунун натыйжасында, долбоордун көлөмү 29Кдан 10Кга чейин кыскарды. Бул дагы ишенимдүүлүктү жакшыртты, бул аппараттык көзөмөлдөөчү бир нече жуманын ичинде иштебей калды, мен иштеп көрдүм.

17.02.16 Жаңыртуу/эскертүү: Кээ бир коддорго (айрыкча Python кодунун чегинүүсү) туура форматтоо аракетинде, нерселер жагымсыздан жараксыз болуп калды. Мен бул маселе менин аягымда экенине ишенем жана мен аны түшүнүүгө аракет кылам. Ага чейин мен DropBox аркылуу код файлдарына шилтемелерди кошуп койгом. Алар баарына жеткиликтүү болушу керек. Болбосо, аларды мага башка жол менен жеткирүүм үчүн мага кабарлаңыз!

1 -кадам: Көйгөйлөрдү чечүү

Система мен үчүн төмөнкүлөрдү кылышы керек болчу: 1 - сойлоп жүрүү мейкиндигиндеги температураны көзөмөлдөө.2 - тоңуп калуудан жогору температураны кармап туруу үчүн керек болгондо жылытуу чырактарын күйгүзүү.3 - иштебей турганда лампаларды мезгил -мезгили менен текшерип туруу жана мага көрүнүү 4 - мага температураны жана тутумдун статусун көрсөтүңүз, анын ичинде: - система иштеп жатабы? - АЗЫР температура кандай? - Эң суук температура кайсы? - канча лампа чуркады? - канча лампа жакшы сынайт? - "Жарык мүнөттөрдө" жалпы убактым канча? (ака "күйүү убактысы")? 5 - Жогоруда айтылгандардын бардыгын үйдүн астына сойлоп өтүүнүн кереги жок кыл !!! Мен лампочкалардын иштешин текшерүүнүн эң оңой жолу менен болууну чечтим. Жарык сенсору. Мен чечүүнү каалаган башка маселелер - бул жарыктардагы цикл убактысы. Өтө жай, мен керексиз электр энергиясын күйгүзүп жатам. Өтө тез, мен аларды күйгүзүү жана өчүрүү менен байланышкан жылытуу жана муздатуу менен тобокелге салам.

2 -кадам: Аппараттык

Аппараттык
Аппараттык

2 250 ватт жылуулук лампалары 1 500 ватт жумушчу лампа (менин жылуулук лампаларымдын бири жоголду, демек бул стенд) Arduino UnoDHT22 Температура/Humitidy сенсоруGA1A12S202 жарык сенсору PowerSwitch 110V релеси Bluefruit EZ-Link сериялык интерфейси жана программисти Жогорку технологиялык корпус (сэндвич өлчөмү Rubbermaid tububich)) Кабелдик кабат 1/2 өлчөмдөгү нан табакчасы Акрил пластинасы нан үчүн жана Arduino Ассорти секирүүчү зымдар. Coleman 5-outlet "семинар тилкеси" Мен дагы Adafruit Trinketти аппараттык көзөмөлдөөчү катары колдондум, бирок ал керексиз экенин далилдеди (албетте, джинкс!) Жана мен Бул тууралуу өзүнчө көрсөтмө берди, ошондуктан мен бул жерде кайталабайм. Коулмандын чочкосу жакшы табылга болду, анткени ал мага жылытуучу лампаларым үчүн 4 розетканы берди, анткени ага кошумча бөлгүчтөр же электр тилкелери жок Arduino электр булагы үчүн розетка кошулду. Коммутатор жана ички өчүргүч менен толук 15 амперге бааланган, ал бир розетка аркылуу тарткан нерселеримдин бардыгын чече алат.

3 -кадам: ыкма

Система күтүп отуруу үчүн жана кээ бир нерселерди салыштырмалуу жай жасоо үчүн курулган, бирок мен кылгым келбеген нерсе, контроллер кечигип отурган системаны куруу болчу () циклдер жооп бербейт. Мен ошондой эле конфигурация параметрлерин мүмкүн болушунча тез арада өзгөртө алууну кааладым-албетте, кодду кайра жазууну же булакта массалык издөө-алмаштыруу операцияларын жасоону талап кылбайт. Билл Эрлдин "Arduinoго көп тапшырма берүү" боюнча эң мыкты макалаларын тапты (бул жерден баштаңыз: https://learn.adafruit.com/multi-tasking-the-arduino-part-1) жана бошобой калды. "Таймер" жана "жылыткыч" класстарын түзүү менен мен каалаган бардык убакыт функцияларын кечиктирбей () (бир нече учурларды эске албаганда) аткара алдым жана лампаларды ("жылыткычтарды") ар бир коддун бир сабы менен конфигурацияладым. бир.

4 -кадам: Аны туташтыруу

Wiring It Up
Wiring It Up
Wiring It Up
Wiring It Up

Fritzing диаграммасы Bluefruit EZ-LinkArduino 5V & Ground картасын автобуска киргизбейт busGA1A12S202 OUT pin Arduino A0Arduino 3V pin to Arduino AREF pinRelay Ground Ground алып келет Ardeino A1Relay 2ге алып баруучу Arduino A2Relay 2ге алып баруучу Arduino A3Relay 4 кубаттуулугу Arduino A4кө алып келет.. Жарык сенсорундагы OUT коргошуну аналогдук пинге өтүшү керек. Бул pin-out менин кодум менен иштейт, эгер сиз аппараттык көзөмөлдү колдонуп жатсаңыз, анда менин кодум жүрөгүнүн согуусун Arduino pin 2ге коет.

5 -кадам: Arduino коду, Негизги эскиз

CrawlSpace_monitor.ino

6 -кадам: Кодекс боюнча эскертүүлөр

Төмөнкү коддор жылыткычтын мисалдарын түзөт жана иштөө параметрлерин аныктайт: // Жылыткыч (relayPin, onTemp (f), offTemp (f), minMinutes, testInterval (мүнөт), luxDelta) Жылыткыч жылыткыч1 = Жылыткыч (A1, 38, 43, 20, 1440, 5); Жылыткыч2 = Жылыткыч (A2, 36, 41, 20, 1440, 5); Жылыткыч3 = Жылыткыч (A3, 34, 39, 20, 1440, 5); (A4, 32, 37, 20, 1440, 5); (Ооба, мен учурда 3 гана иштеп жатам, бирок мен бардык 4 жылыткычты аныктадым. Мен дагы бир релени алышым керек, бирок 4 -жылыткычты кошуу керек аны туташтыруу сыяктуу жөнөкөй бол.) Мен алардын триггеринин температурасын таң калтырам, биринчиден 38 градустан баштап, жок 4 үчүн 32 менен бүтөт. Мен муну алгач чогуу тиге баштаганда тапкан нерселеримдин бири - бул температуранын диапазонун беришим керек эле, минималдуу "күйүү убактысын" аныкташым керек болчу, же мен велосипед жарыгын жиндидей күйгүзүп же өчүрүп жаттым. Бул жерде мен алардын ар бирине 5 градуска жайылтууну, ошондой эле күйүү убактысынын 20 мүнөтүн берем. Мен сыноо интервалын 24 саатка коюп, 5 люкс коюп койдум, лампочканын иштешин аныктоо үчүн керектүү минималдуу жарык көрсөткүчү. Конфигурациялоого муктаж болгон нерсенин дээрлик бардыгы ушул 4 сап коддо.

7 -кадам: Arduino коду, класстар

Мен бул долбоор үчүн 3 класс түздүм. Алар "таймер", "жылыткыч" жана "аккумулятор" болгон. Бир аз ойлонуп туруп, аккумуляторду таймерге бүктөшүм керек, бирок азырынча жок. Бул жерде алар толугу менен: жылыткыч.h

таймер.h

аккумулятор.h

8 -кадам: Системаны көзөмөлдөө

Системанын мониторинги
Системанын мониторинги

Мен эки башка мониторго бир интерфейс түздүм. Бул сериялык консолдун үстүндөгү интерактивдүү сессия. Менин учурда, мен Bluefruit EZ-Linkти колдонуп жатам, ошондуктан мен үйдүн астына сойлоп өтпөстөн же кабаттын устундарынын ортосуна USB кабелин түшүрбөстөн системага кире алам! EZ-Linkтин дагы бир артыкчылыгы, мен Arduinoго жаңы программа кодун Bluetooth аркылуу жүктөй алам. "Адам" интерфейсине (Bluetooth же физикалык кабель) каалаган терминалдык эмуляциялоочу программа менен кирүүгө болот, анын ичинде Arduino IDE сериясы монитор. Башында туташканыңызда, эч кандай жооп жок, бирок "u" ("жаңыртуу" үчүн) жана "t" ("тест" үчүн) баскычтары басылганда сизге скриншотто көрсөтүлгөн өндүрүштү берет. "m" ("монитор") жана "s" ("sys check") сизге бирдей маалыматтарды берет, бирок анча окулбаган форматта. Буларды автоматтык түрдө көрсөтүү үчүн башка программа "кырып салууга" арналган. Мен муну кылган Python скриптин чогулттум. Башка кандайдыр бир ачкыч ката билдирүүсүн көрсөтөт. Сиз "күйүү убактысынын" маанисин көрөсүз - муну "лампа мүнөттөрү" деп ойлоп көрүңүз - 1 лампа 10 мүнөт = 10 мүнөт, 3 лампа 10 мүнөт = 30 мүнөт.

9 -кадам: Python Script

Python Script
Python Script

crawlspace_gui.py

10 -кадам: Дагы эле жасай…

Бул сулуу же идеалдуу эмес болушу мүмкүн, бирок ал эффективдүү жана ишенимдүү экенин далилдеп турат. ЖАНА, мен ушул кышта тоңуп калган түтүк көйгөйлөрүнө туш болгон жокмун !!! Мен кыла турган иштердин тизмеси бар. Албетте, азыр ал иштейт, мен бул нерселердин көбүн аткара алам же мүмкүн эмесмин: Bluetooth'ду Raspberry Pi'леримдин биринде иштетиңиз, ошондуктан мен атайын монитор түзө алам. интерфейс. Бул элементтердин бөлүнүшү атайылап эмес жана мен анын эмне үчүн бар экенин түшүнбөйм. Адафруттун IO сервисине окшош нерсеге интерфейсти кошуп, мен аны каалаган жерден көзөмөлдөй алам Mini же Trinket Pro?), Анча кымбат эмес релейлер жана жакшыраак таңгактоо. Аны нан табактан жана "Perma Proto" тактасына түшүрүңүз. Балким, жеке лампочкалардын убактысын күйгүзөм. Мен аларды бүтүргөнүмдө, кайра келип, бул Нускаманы жаңыртам.

11 -кадам: 3/16 жаңыртуу, "туруктуу" Build

Жаңыртуу 3/16,
Жаңыртуу 3/16,
Жаңыртуу 3/16,
Жаңыртуу 3/16,
Жаңыртуу 3/16,
Жаңыртуу 3/16,

Суук аба ырайында жакшы тыныгуу алып, мен аппаратты алып, аны кичинекей контролерго жылдырдым (мен Trinket Pro колдонгум келген, бирок башка долбоор талап кылбаган Adafruit Metro Mini бар болчу), аны ширетип койдум Perma-Proto тактасы, жана анын баарын жакшыраак абалга коюңуз. Канчалык ишенимдүү болгонуна карап, мен аппараттык көзөмөлдү кайра ордуна койгон жокмун. Мен дагы эле 3 лампаны/релени колдонуп жатам, анда система иштетет. Bluetooth модулу ширетилген баштыкта, ошондуктан башка жерге керек болсо алып салса болот. Жаңы контроллерге өтүү үчүн эч кандай код өзгөрүүлөрү болгон жок - жөнөкөй кайра чогултуу жана жүктөө мени бир нече мүнөттө ишке киргизди. (Metro Mini Arduino Uno менен бирдей пинутка ээ жана ATMega328 процессору.)

12 -кадам: 12/1/2018 жаңыртуу - IoTге кош келиңиз

Система биз үчүн кемчиликсиз иштеген. Эки катуу кыштан кийин тоңуп калган түтүктөр жок. Чындыгында, система түтүктөрдү эч качан 2 лампочкадан ашык күйгүзбөстөн тейлей алган. Үчүнчү лампанын онлайн болушу жакшы камсыздандыруу болду, бирок биз ага ушул күнгө чейин муктаж болгон эмеспиз.

Система үчүн 3 -жылы кирип, Bluetooth модулу ишке ашпай калды. Биз дагы жаңы үй салдык, андыктан байкоо системасы Bluetooth диапазонунан тышкары. (Эски үй бир аз убакытка чейин турат, бирок түбөлүккө эмес.) Убакыттын өтүшү менен, мен ESP8266 WiFi иштетилген процессору менен көп иштерди кылып жатам; Adafruit Feather форматында да, ачык булак "NodeMCU" форматында да. NodeMCU жалпысынан Амазонкадан 5 доллардын тегерегинде табууга болот - эгер сиз жапырт жана/же AliExpress сыяктуу бирөөдөн сатып алсаңыз, андан да аз.

Бул жаңы версия сериялык интерфейсти сактайт, андыктан ал дагы эле Bluetooth модулу же түз USB сериялык туташуусу жана мурунку питон скрипти менен колдонулушу мүмкүн, бирок жаңы версияда веб-баракча интерфейси бар. Жазылгандай, ал төмөнкү өзгөчөлүктү камтыйт:

Wi-Fi тармагынын менеджери катуу коддолгон WiFi грамоталарын жок кылат.

Камтылган программаны Arduino IDE аркылуу абадан жаңыртуу мүмкүнчүлүгү (сиз бир эле WiFi тармагында болсоңуз-түзмөккө USB жүктөөсүн жүктөгөндөн кийин, OTA жаңыртуулары иштей электе баштапкы абалга келтирүү керек экенин эске алыңыз). СУРАНЫЧТУУ, сиз үчүн уникалдуу болушу үчүн 6 -саптагы OTA сырсөзүн алмаштырыңыз !!

Python скриптинин маалыматын көрсөтүүчү веб -баракча, мүнөт сайын автоматтык түрдө жаңыртылып турат. Мен баракка эч кандай коопсуздук койгон жокмун, анткени ал дисплей үчүн гана.

Жаңы кодду бул жерден таба аласыз. NodeMCUге көчүп жатканда пин аттары өзгөрүп турганын эске алыңыз.

Сунушталууда: