Բովանդակություն:

Crawl Space Monitor (aka: No More Frozen Pipes !!). 12 քայլ (նկարներով)
Crawl Space Monitor (aka: No More Frozen Pipes !!). 12 քայլ (նկարներով)

Video: Crawl Space Monitor (aka: No More Frozen Pipes !!). 12 քայլ (նկարներով)

Video: Crawl Space Monitor (aka: No More Frozen Pipes !!). 12 քայլ (նկարներով)
Video: ՄԻԼԻՈՆ ՄՆԱEF ԵՆ | Ֆրանսիացի ականավոր քաղաքական գործչի շլացնող լքված ամրոցը 2024, Նոյեմբեր
Anonim
Crawl Space Monitor (aka: No More Frozen Pipes !!)
Crawl Space Monitor (aka: No More Frozen Pipes !!)

Houseուրը դեպի տուն գալիս է իմ ջրհորից `չջեռուցվող սողացող տարածքով: Խոհանոցի և լոգարանի բոլոր սանտեխնիկան նույնպես անցնում է այս տարածքով: (70-ականների կեսերին այս տան ներսի սանտեխնիկան ապագա մտածում էր): Ես օգտագործել եմ ջերմային լամպեր «պաշարների» ջերմոստատիկ խրոցակների վրա `սառեցումից բարձր ջերմաստիճանը պահպանելու համար: Այս դասավորության հետ կապված կար մի քանի էական խնդիր. 1 - Ոչ տեսանելիություն: Այրված լամպերի առաջին նշանը սառեցված խողովակներն են: 2 - Երբեմն մոմերը չեն անջատվում: Էլեկտրաէներգիայի հաշիվը տհաճ անակնկալների պատճառ դարձավ: 3. Ոչ մի մանրուք: Ես 3 լամպ պահեցի «առցանց» (ընդամենը 750 վտ) և դա ամեն ինչ կամ ոչինչ լուծում էր: (2 լամպ միշտ չէ, որ կպահպանի դա) Արդուինոյին ծանոթացնելուց և մյուս մարդկանցից որոշ բաներ տեսնելուց հետո որոշեցի, որ այն պտույտ կտամ: Ես անմիջապես սլաքից կխոստովանեմ, որ այս աշխատանքը կատարելու համար ես անամոթաբար խեղաթյուրել և շտկել եմ այլ մարդկանց նախագծերի նմուշի կոդը, թեև, ի վերջո, ես ամեն ինչ նորից եմ գրել: Սկզբում ես կառուցեցի այս «WiFi եղանակային կայանը», որը գտա Adafruit.com- ը և փոփոխեց այն: Վեբ կայքի թարմացման փոխարեն ես օգտագործեցի Amazon- ի վեբ ծառայությունները `SMS կարգավիճակի թարմացումներ ուղարկելու համար: Ես նաև ավելացրեցի որոշ 110 Վ ռելեների հսկողություն (https://www.adafruit.com/products/268): Հետո ես «խելացի» դարձա և որոշեցի «կոպիտ» դարձնել այն, դե ինչ -որ բան կարճացրեց ինչ -որ բան, և ես ստացա կախարդական կապույտ ծուխը: Ամեն ինչ տապակվեց … Չունենալով CC3000 WiFi- ի հերթական ճեղքումը, ես այս անգամ այլ կերպ վարվեցի: Ես կառուցեցի այն սերիական ինտերֆեյսի միջոցով ինտերակտիվ վերահսկման համար, այնուհետև ավելացրեցի EZ-Link Bluetooth FTDI ինտերֆեյս: (Այլևս նոութբուքը տան ներքև չքաշելով ծրագրային ապահովման թարմացումների համար !!!) Ես նաև կառուցեցի Python ինտերֆեյս, որը Bluetooth- ով միանում է սարքին, պարբերաբար հարցնում է այն և ցուցադրում կարգավիճակի մասին տեղեկություններ իմ Mac- ում: (Կա նաև «մարդկային ինտերֆեյս», որին կարելի է մուտք գործել ցանկացած տերմինալային էմուլյացիոն ծրագրակազմ): WiFi- ի և RTC- ի բոլոր ծածկագրերի վերագրանցման և հեռացման արդյունքում նախագիծը փոքրացել է ավելի քան 29K- ից մինչև հազիվ 10K: Այն նաև բարելավել է հուսալիությունը այնքանով, որքանով ապարատային հսկիչն ընդհանրապես չի գործարկել այն երկու շաբաթվա ընթացքում, երբ այն աշխատում էր, և ես փոփոխություններ էի կատարում:

17/2/16 Թարմացում/նշում. Որոշ կոդերի (հատկապես Python կոդի ներդիրը) համապատասխան ձևաչափման փորձեր ձեռնարկելու համար ամեն ինչ տգեղից դարձավ անօգտագործելի: Համոզված եմ, որ հարցը ինչ -որ տեղ ավարտվում է, և ես կփորձեմ դա պարզել: Մինչ այդ ես ավելացրել եմ կոդերի ֆայլերի հղումներ DropBox- ի միջոցով: Դրանք պետք է հասանելի լինեն բոլորին: Եթե ոչ, խնդրում եմ ինձ տեղյակ պահեք, որպեսզի կարողանամ դրանք ձեզ այլ կերպ ստանալ:

Քայլ 1: Խնդիրներ, որոնք պետք է լուծվեն

Համակարգը պետք է աներ հետևյալը ինձ համար. 1 - վերահսկել սողացող տարածքի ջերմաստիճանը. 2 - անհրաժեշտության դեպքում միացնել ջերմային լամպերը `սառեցումից բարձր ջերմաստիճանը պահպանելու համար: 3 - երբ այն չի գործում, պարբերաբար փորձարկեք լամպերը և տեսանելիություն տվեք ինձ իրենց կարգավիճակի մասին.4 - տվեք ջերմաստիճանի և համակարգի կարգավիճակի տեսանելիություն, ներառյալ. - ինչպիսի՞ն է ջերմաստիճանը ՀԻՄԱ: - Ո՞րն է ամենացուրտ ջերմաստիճանը: - քանի՞ լամպ է վազել: - քանի լամպ է լավ փորձարկում: - ո՞րն է իմ ընդհանուր ժամանակը «թեթև րոպեներում» (հայտնի է որպես «այրման ժամանակ»): 5 - արեք վերը նշված բոլորը ՝ առանց տան տակ սողալու կարիք ունենալու: Ես որոշեցի, որ լամպի աշխատանքը ստուգելու ամենահեշտ ձևը լույսի ցուցիչ: Որոշ այլ խնդիրներ, որոնց ես ուզում էի անդրադառնալ, լույսերի վրա ցիկլի ժամանակն էր: Չափազանց դանդաղ, և ես այրում եմ անհարկի էլեկտրաէներգիա: Չափազանց արագ, և ես ռիսկի եմ դիմում դրանք ամբողջովին միացնելուց և անջատելուց ՝ համապատասխան տաքացումից և սառչումից:

Քայլ 2: Սարքավորումը

Սարքավորումը
Սարքավորումը

2 250 վտ ջերմային լամպեր 1 500 վտ աշխատանքային լամպ (իմ ջերմային լամպերից մեկը անհետացավ, այնպես որ սա կանգուն է) Arduino UnoDHT22 peratերմաստիճանի/խոնավության ցուցիչ GA1A12S202 լուսային տվիչ PowerSwitch 110V ռելեներ Bluefruit EZ-Link սերիական ինտերֆեյս և ծրագրավորող Բարձր տեխնոլոգիական պատյան (սենդվիչների չափի ռետինե)) Մալուխային գեղձ 1/2 չափի տախտակ Ակրիլային ափսե տախտակի և Arduino- ի համար Ասոցիացված jumper լարեր: Coleman 5-վարդակից «արտադրամասի շերտ» ես նաև օգտագործեցի Adafruit Trinket- ը որպես ապարատային պահակ, բայց այն ապացուցվեց, որ այն ավելորդ է (իհարկե, ջինս) և ես գրել է դրա մասին առանձին ուսանելի, այնպես որ ես դա չեմ կրկնի այստեղ: Coleman pigtail- ը հաճելի գտավ, քանի որ այն ինձ տվեց 4 ելք իմ ջերմային լամպերի համար, ՊԼՅՈ anՍ ելք Arduino- ի էլեկտրամատակարարման համար, առանց որևէ լրացուցիչ պառակտիչների կամ էլեկտրական ժապավենների: Լրիվ 15 Ամպեր հզորությամբ ՝ անջատիչով և ներքին անջատիչով, այն կարող է կարգավորել այն ամենը, ինչ ես կարող էի քաշել մեկ վարդակից:

Քայլ 3: Մոտեցում

Մինչ համակարգը կիրառական է, որը ստեղծվել է սպասելու և որոշ բաներ համեմատաբար դանդաղ կատարելու համար, այն, ինչ ես չէի ցանկանա անել, այն էր, որ կառուցեի համակարգ, որտեղ վերահսկիչը նստած էր ուշացումով () ցիկլերն անարձագանք մնալով: Ես նաև ցանկանում էի, որ կարողանամ փոխել կոնֆիգուրացիայի պարամետրերը հնարավորինս մոտ թռիչքի ընթացքում, անշուշտ ոչ այն ձևով, որը պահանջում է ծածկագրի վերագրանցում կամ աղբյուրի վրա զանգվածային որոնում և փոխարինում գործողություններ: I. գտավ Բիլ Էրլի ամենալավ հոդվածները «Բազմակի առաջադրանք Arduino» թեմայով (սկսեք այստեղ ՝ https://learn.adafruit.com/multi-tasking-the-arduino-part-1) և զբաղվեց: Ստեղծելով «ժմչփ» և «տաքացուցիչ» դասարաններ, ես կարողացա կատարել բոլոր ժամանակային գործառույթները, որոնք ցանկանում էի առանց ուշացման () (միայն մի քանի բացառությամբ) և կարգավորել լամպերը («տաքացուցիչներ») յուրաքանչյուրի համար մեկ կոդով: մեկը

Քայլ 4: Միացրեք այն:

Լարերի տեղադրում
Լարերի տեղադրում
Լարերի տեղադրում
Լարերի տեղադրում

The Fritzing դիագրամը չի ներառում Bluefruit EZ-LinkArduino 5V & Ground to the breadboard bus DHT22 pin 1 to 5V bus DHT22 pin 2 to Arduino pin 7DHT22 pin 4 to Ground bus 10K resistor DHT22 pin 1 and 2GA1A12S202 VCC pin to 5V bus to GANDA12S20 busGA1A12S202 OUT կապ դեպի Arduino A0 Arduino 3V կապ դեպի Arduino AREF pinRelay Ground- ը տանում է դեպի գետնին. Միակ կարևորը լույսի տվիչի OUT կապն է, որը պետք է անցնի անալոգային կապում: Այս ճշգրտումը կաշխատի այնպես, ինչպես գրել եմ:

Քայլ 5. Arduino ծածկագիրը, հիմնական ուրվագիծը

CrawlSpace_monitor.ino

Քայլ 6: Նշումներ օրենսգրքի վերաբերյալ

Կոդի հետևյալ տողերը ստեղծում են ջեռուցիչի օրինակներ և սահմանում գործառնական պարամետրերը., 43, 20, 1440, 5); Heեռուցիչ ջեռուցիչ 2 = aterեռուցիչ (A2, 36, 41, 20, 1440, 5); Heեռուցիչ տաքացուցիչ 3 = Heեռուցիչ (A3, 34, 39, 20, 1440, 5); Heեռուցիչ տաքացուցիչ 4 = aterեռուցիչ (A4, 32, 37, 20, 1440, 5); (Եվ այո, ես սահմանեցի բոլոր 4 տաքացուցիչները, չնայած որ այս պահին աշխատում եմ միայն 3 -ով: Ինձ դեռ պետք է այլ ռելե ձեռք բերել, բայց հետո 4 -րդ ջեռուցիչը ավելացնելը եղեք այնքան պարզ, որքան այն միացնելը:) Ես ցնցում եմ նրանց գործարկման ջերմաստիճանը `առաջինի համար սկսելով 38 աստիճանից և գոյություն չունեցող 4-րդի համար` 32-ով: Մեկը այն բանի, ինչ ես գտա, երբ առաջին անգամ սկսեցի համատեղել դա, այն էր, որ պետք էր ջերմաստիճանի սահմանաչափ սահմանել, ինչպես նաև սահմանել նվազագույն «այրման ժամանակ», կամ ես խելագարի պես միանում և անջատում էի լույսերը: Այստեղ ես նրանցից յուրաքանչյուրին տալիս եմ 5 աստիճանի տարածում, ինչպես նաև այրման նվազագույն 20 րոպե ժամանակ: Փորձարկման միջակայքը սահմանեցի 24 ժամ և սահմանեցի 5 լյուքս, որպես լույսի նվազագույն ընթերցում, որն անհրաժեշտ էր լամպը դեռ աշխատելու համար: Գրեթե այն ամենը, ինչ անհրաժեշտ է կազմաձևել, հենց այստեղ է ՝ կոդի այս 4 տողերում:

Քայլ 7: Arduino ծածկագիր, դասեր

Այս նախագծի համար ես ստեղծեցի 3 դասարան: Դրանք «ժամանակաչափ», «տաքացուցիչ» և «կուտակիչ» էին: Մի փոքր ավելի մտածելով, ես պետք է կարողանամ կուտակիչը ծալել ժմչփի մեջ, բայց դեռ չեմ արել: Ահա դրանք ամբողջությամբ ՝ տաքացուցիչ.հ

ժմչփ. ժ

կուտակիչ. ժ

Քայլ 8: Համակարգի մոնիտորինգ

Համակարգի մոնիտորինգ
Համակարգի մոնիտորինգ

Ես ստեղծեցի մեկ ինտերֆեյս երկու առանձին մոնիտորների համար: Այն ինտերակտիվ նիստ է սերիական վահանակի վրա: Իմ դեպքում ես օգտագործում եմ Bluefruit EZ-Link- ը, որպեսզի կարողանամ մուտք գործել համակարգ ՝ առանց տան տակ սողալու կամ հատակին պատերի միջև ընկած USB մալուխի օձը փորձելու: EZ-Link- ի լրացուցիչ առավելությունն այն է, որ Arduino- ում կարող եմ նոր ծրագրային ծածկագիր ներբեռնել նաև Bluetooth- ի միջոցով: «Մարդկային» միջերեսին կարելի է մուտք գործել (Bluetooth կամ ֆիզիկական մալուխ) ցանկացած տերմինալային էմուլյացիոն ծրագրակազմով, ներառյալ Arduino IDE- ի սերիան: մոնիտոր. Երբ սկզբում միանում եք, արձագանք չկա, բայց ստեղնը սեղմելով «u» («թարմացման» համար) և «t» («փորձարկման» համար) ձեզ կստանա էկրանի նկարում ցուցադրված ելքը: «m» («մոնիտոր») և «s» («sys check») ձեզ տրվում են նույն տվյալները, բայց շատ ավելի քիչ ընթեռնելի ձևաչափով: Սրանք նախատեսված են «քերծվել» ավտոմատ ցուցադրման մեկ այլ ծրագրի կողմից: Ես հավաքեցի Python սցենար, որը դա անում է: Otherանկացած այլ բանալին հավաքում է ցուցադրված սխալի հաղորդագրությունը: Դուք կտեսնեք «այրման ժամանակի» արժեքը. Սա պատկերացրեք «լամպի րոպե» - 1 լամպ 10 րոպե = 10 րոպե, 3 լամպ 10 րոպե = 30 րոպե:

Քայլ 9. Python Script

Python Script
Python Script

crawlspace_gui.py

Քայլ 10: Դեռ անելիք կա…

Հնարավոր է, որ այն գեղեցիկ կամ կատարյալ չէ, բայց արդյունավետ է և իրեն հուսալի է ապացուցում: Եվ, ես դեռ ձմռանը սառեցված խողովակների հետ կապված խնդիրներ չեմ ունեցել !!! Ես անելիքների հիթ-ցանկ ունեմ: Իհարկե, այժմ, երբ այն աշխատում է, ես կարող եմ կամ երբեք չեմ կարողանա հասնել այս իրերի մեծ մասի իրականացմանը. Bluetooth- ը գործարկեք իմ Raspberry Pi- ի մեկի վրա, որպեսզի կարողանամ ստեղծել հատուկ մոնիտոր: Սովորեք ևս մի քանի Python, ապա մաքրեք Python- ը: ինտերֆեյս: Տարրերի այդ տարանջատումը նպատակաուղղված չէ, և ես չեմ հասկանում, թե ինչու է այն այնտեղ: Ավելացրեք ինտերֆեյս Adafruit- ի IO ծառայության նման մի բանին, որպեսզի կարողանամ այն վերահսկել ցանկացած վայրից: Ավելացնել տեքստային հաղորդագրության ահազանգ: Տեղափոխեք ավելի փոքր վերահսկիչ (հնարավոր է ՝ մետրո) Mini թե Trinket Pro?), Ավելի քիչ թանկ ռելեներ և ավելի լավ փաթեթավորում: Հեռացրեք այն տախտակից և դրեք «Perma Proto» տախտակի վրա: Կազմաձևման պարամետրեր EEPROM- ում: Ավելի հատիկավոր ինտերֆեյս, որը ցույց կտա, թե որ լամպերն են լավ, և հնարավոր է նույնիսկ այրվի առանձին լամպերի համար: Երբ դրանք ավարտեմ, ես կվերադառնամ և կթարմացնեմ այս Հրահանգը:

Քայլ 11: Թարմացրեք 3/16, «մշտական» կառուցում

Թարմացնել 3/16,
Թարմացնել 3/16,
Թարմացնել 3/16,
Թարմացնել 3/16,
Թարմացնել 3/16,
Թարմացնել 3/16,

Breakուրտ եղանակին լավ ընդմիջում ստանալով, ես վերցրեցի սարքը և այն տեղափոխեցի ավելի փոքր հսկիչ (ես մտադիր էի օգտագործել Trinket Pro- ն, բայց Adafruit Metro Mini- ն նստած էր շուրջը ՝ առանց որևէ այլ նախագծի պահանջարկի), այն միացրեցի Perma-Proto տախտակ, և այդ ամենը դրեք ավելի լավ դեպքում: Հիման վրա, թե որքանով է այն հուսալի եղել, ես սարքավորումների պահապանը հետ չեմ դրել դրա վրա: Ես դեռ օգտագործում եմ միայն 3 լամպ/ռելեներ, որտեղ համակարգը կաշխատի 4. Bluetooth մոդուլը տեղադրված է զոդված վերնագրի վրա, ուստի այն կարող է հեռացվել, եթե այն ինձ այլ տեղ է պետք: Նոր կարգավորիչ տեղափոխվելու համար անհրաժեշտ չէ փոփոխություններ կատարել կոդի մեջ. Մի պարզ վերակազմավորումը և բեռը ստիպեցին ինձ գործարկել հաշված րոպեների ընթացքում: (Metro Mini- ն ունի նույնական pinout, ինչպես Arduino Uno- ն և հանդիսանում է նաև ATMega328 պրոցեսոր):

Քայլ 12: Թարմացում 12/1/2018 - Բարի գալուստ IoT:

Մեզ մոտ համակարգն աշխատել է անթերի: Երկու բավականին ծանր ձմեռներից հետո ՝ ՈՉ սառեցված խողովակներ: Փաստորեն, համակարգը կարողացավ պահպանել խողովակները ՝ առանց երբևէ այրելու ավելի քան 2 լամպ: Առցանց 3-րդ լամպ ունենալը լավ ապահովագրություն էր, բայց մենք դրա կարիքը երբևէ չենք ունեցել:

Համակարգի համար գալով 3 -րդ տարին, Bluetooth մոդուլը ձախողվեց: Մենք նաև կառուցեցինք նոր տուն, այնպես որ մոնիտորինգի համակարգը գտնվում է Bluetooth- ի սահմաններից դուրս: (Հին տունը որոշ ժամանակ մնում է արթուն, բայց ոչ ընդմիշտ:) Միջանկյալ ժամանակաշրջանում ես շատ բան եմ անում ESP8266 WiFi միացված պրոցեսորով; ինչպես Adafruit Feather ձևաչափով, այնպես էլ բաց կոդով «NodeMCU» ձևաչափով: NodeMCU- ն, ընդհանուր առմամբ, կարելի է գտնել Amazon- ում ՝ մոտ $ 5 -ով, շատ ավելի քիչ, եթե գնում եք զանգվածային և/կամ AliExpress- ի նման մեկից:

Այս նոր տարբերակը պահպանում է սերիական ինտերֆեյսը, ուստի այն դեռ կարող է օգտագործվել Bluetooth մոդուլով կամ ուղղակի USB սերիական միացմամբ և պիթոնի նախորդ սցենարով, սակայն նոր տարբերակն ունի վեբ էջի ինտերֆեյս: Ինչպես գրված է, այն ներառում է հետևյալ հատկությունը.

WiFi ցանցի կառավարիչ `կոշտ կոդավորմամբ WiFi հավատարմագրերը վերացնելու համար:

Arduino IDE- ի միջոցով որոնվածը օդային եղանակով թարմացնելու ունակություն (քանի դեռ դուք գտնվում եք միևնույն WiFi ցանցում. Նշեք, որ սարքում USB բեռնում կատարելուց հետո անհրաժեշտ է վերականգնել այն մինչև OTA- ի թարմացումները գործեն): Խնդրում ենք փոխել 6 -րդ տողում OTA- ի գաղտնաբառը, որպեսզի յուրահատուկ լինի ձեզ համար:

Վեբ էջ, որը ցուցադրում է նույն տվյալները, ինչ անում է Python- ը, ամեն րոպե ավտոմատ թարմացմամբ: Ես ոչ մի տեսակի անվտանգություն չեմ տեղադրել էջի վրա, քանի որ այն միայն ցուցադրման համար է:

Նոր ծածկագիրը կարող եք գտնել այստեղ: Նկատի ունեցեք, որ քորոցների անունները փոխվում են NodeMCU տեղափոխվելիս:

Խորհուրդ ենք տալիս: