Satura rādītājs:

Pārmeklēšanas telpas monitors (pazīstams arī kā: No More Frozen Pipes !!): 12 soļi (ar attēliem)
Pārmeklēšanas telpas monitors (pazīstams arī kā: No More Frozen Pipes !!): 12 soļi (ar attēliem)

Video: Pārmeklēšanas telpas monitors (pazīstams arī kā: No More Frozen Pipes !!): 12 soļi (ar attēliem)

Video: Pārmeklēšanas telpas monitors (pazīstams arī kā: No More Frozen Pipes !!): 12 soļi (ar attēliem)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Novembris
Anonim
Pārmeklēšanas kosmosa monitors (pazīstams arī kā: No More Frozen Pipes !!)
Pārmeklēšanas kosmosa monitors (pazīstams arī kā: No More Frozen Pipes !!)

Ūdens manai mājai nāk no manas akas caur neapsildītu rāpošanas telpu. Visa virtuves un vannas istabas santehnika iet caur šo telpu. (Iekštelpu santehnika šajā mājā 70. gadu vidū bija pēkšņa pārdomāšana!) Es esmu izmantojis siltuma lampas uz "krājumu tvertnes" termostata kontaktdakšām, lai uzturētu temperatūru virs sasalšanas. Šim izkārtojumam bija pāris būtiskas problēmas: 1 - nav redzamības. Pirmā izdegušo spuldžu pazīme ir sasalušas caurules! 2 - Dažreiz kontaktdakšas neizslēdzas. Tas radīja nepatīkamus pārsteigumus par elektrības rēķinu. Es turēju 3 spuldzes "tiešsaistē" (kopā 750 vati), un tas bija risinājums visu vai neko. (Ar divām spuldzēm tas ne vienmēr tiktu galā.) Pēc iepazīšanās ar Arduino un redzot dažas lietas, ko citi cilvēki ar to darīja, es nolēmu, ka došu tai virpuļviesuli. Es atzīšos tieši no teknes, ka esmu nekaunīgi noķēris un pielabojis citu cilvēku projektu parauga kodu, lai veiktu šo darbu, lai gan galu galā esmu pārrakstījis gandrīz visu. Sākotnēji es izveidoju šo "WiFi meteoroloģisko staciju", ko atradu Adafruit.com un to mainīja. Tā vietā, lai atjauninātu vietni, es izmantoju Amazon Web Services, lai nosūtītu man SMS statusa atjauninājumus. Es pievienoju arī dažu 110 V releju vadību (https://www.adafruit.com/products/268). Pēc tam es kļuvu "gudrs" un nolēmu to "izturēt" - labi - kaut kas kaut ko saīsināja, un es dabūju burvju zilu dūmu. Viss cepts … Tā kā nebija CC3000 WiFi pārrāvuma, es šoreiz rīkojos savādāk. Es to izveidoju interaktīvai uzraudzībai, izmantojot seriālo interfeisu, un pēc tam pievienoju EZ-Link Bluetooth FTDI saskarni. (Vairs nav jāvelk klēpjdators zem mājas, lai atjauninātu programmatūru!) Es arī izveidoju Python saskarni, kas savienojas ar ierīci, izmantojot Bluetooth, regulāri to vaicā un parāda statusa informāciju manā Mac datorā. (Ir arī "cilvēka saskarne", kurai var piekļūt jebkura termināļa emulācijas programmatūra.) Pārrakstīšanas un visa WiFi un RTC koda noņemšanas rezultātā projekta apjoms ir samazinājies no vairāk nekā 29K līdz gandrīz 10K. Tas ir arī uzlabojis uzticamību tādā mērā, ka aparatūras uzraudzības dienests nav iedarbinājies dažu nedēļu laikā, kad tas darbojas, un es esmu uzlabojis.

17.02.16. Atjauninājums/piezīme: Mēģinot iegūt pareizu dažu koda formatējumu (īpaši Python koda atkāpi), lietas kļuva neglītas un neizmantojamas. Esmu pārliecināts, ka problēma kaut kur ir manā galā, un es centīšos to noskaidrot. Līdz tam es esmu pievienojis saites uz koda failiem, izmantojot DropBox. Tiem jābūt pieejamiem ikvienam. Ja nē, lūdzu, dariet man to zināmu, lai es varētu tos saņemt citā veidā!

1. darbība. Problēmas, kas jāatrisina

Sistēmai man bija jādara šādas lietas: 1 - jāuzrauga temperatūra pārmeklēšanas telpā. 2 - pēc nepieciešamības jāieslēdz siltuma lampas, lai uzturētu temperatūru virs sasalšanas. 3 - kad nedarbojas, periodiski pārbaudiet spuldzes un nodrošiniet man redzamību 4 - sniedziet man redzamību par temperatūru un sistēmas stāvokli, tostarp: - vai sistēma darbojas? - kāda ir temperatūra TAGAD? - kāda ir aukstākā temperatūra? - cik spuldzes noskrēja? - cik spuldzes ir labas? - kāds ir mans kopējais laiks "gaišajās minūtēs" (pazīstams arī kā "degšanas laiks")? 5 - dariet visu iepriekš minēto bez manas vajadzības ielīst zem mājas !!! Es nolēmu, ka vienkāršākais veids, kā pārbaudīt spuldzes darbību, ir ar gaismas sensors. Dažas citas problēmas, kuras es vēlējos risināt, bija lukturu cikla laiks. Pārāk lēni, un es dedzinu nevajadzīgu elektrību. Pārāk ātri, un es riskēju tos sadedzināt no visas ieslēgšanas un izslēgšanas, ar to saistīto uzsildīšanu un atdzišanu.

2. darbība: aparatūra

Aparatūra
Aparatūra

2 250 vatu siltuma lampas 1 500 vatu darba lampa (viena no manām siltuma spuldzēm pazuda, tāpēc šī ir iebūvēta ierīce)) Kabeļa dziedzeris 1/2 izmēra maizes dēlisAkrila plāksne maizei un ArduinoAsortēti džemperu vadi. Colemana 5 kontaktligzdas "darbnīcas sloksne" Kā aparatūras sargsuns izmantoju arī Adafruit piekariņu, taču tas ir izrādījies nevajadzīgs (protams, jinx!) Un es par to uzrakstīja atsevišķu pamācību, tāpēc es to šeit neatkārtošu. Coleman pigtail bija jauks atradums, jo tas man deva 4 kontaktligzdas savām siltuma spuldzēm PLUS izeju Arduino barošanas avotam bez papildu sadalītājiem vai strāvas padeves. Nominālā pie pilniem 15 ampēriem ar slēdzi un iekšējo slēdzi, tas varētu apstrādāt visu, ko es varētu izvilkt caur vienu kontaktligzdu.

3. solis: pieeja

Lai gan sistēma ir veidota lietojumprogrammā, lai sēdētu gaidīšanas laikā un dažas lietas veiktu salīdzinoši lēni, es negribēju to izveidot - sistēmu, kurā kontrolieris sēdēja aizkavētos () ciklos, nereaģējot. Es arī gribēju, lai varētu mainīt konfigurācijas parametrus pēc iespējas tuvāk lidojumam-noteikti ne tādā veidā, kas prasītu pārrakstīt kodu vai veikt avota masveida meklēšanas un nomaiņas darbības. atrada izcilākos Bila Ērla rakstus par tēmu "Multitasking the Arduino" (sāciet šeit: https://learn.adafruit.com/multi-tasking-the-arduino-part-1) un aizrāvāties. Izveidojot "taimera" un "sildītāja" klases, es varēju veikt visas vēlamās laika funkcijas, neizmantojot kavēšanos () (tikai ar dažiem izņēmumiem), un konfigurēt spuldzes ("sildītājus") ar vienu koda rindu katrai viens.

4. solis: pievienojiet to vadam

Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija

Fritzing diagrammā nav iekļauts Bluefruit EZ-LinkArduino 5V & Ground uz maizes dēļa DHT22 kontakts no 1 līdz 5V DHT22 kontakts 2 līdz Arduino tapa 7DHT22 tapa 4 līdz zemes kopnei10K rezistors starp DHT22 tapām 1 un 2GA1A12S202 VCC tapa līdz 5V kopnei BusA1A12S202 OUT tapa līdz Arduino A0Arduino 3V pin uz Arduino AREF pin. Vienīgais, kas ir kritisks, ir gaismas sensora OUT vads, kuram jāiet uz analogo tapu. Šī piespraude darbosies ar manu kodu, kā rakstīts. Ja izmantojat aparatūras uzraudzības dienestu, jūs redzēsit, ka mans kods liek sirdsdarbību uz Arduino pin 2.

5. solis: Arduino kods, galvenā skice

CrawlSpace_monitor.ino

6. darbība. Piezīmes par kodeksu

Šādas koda rindas izveido sildītāja gadījumus un nosaka darbības parametrus: // Sildītājs (relayPin, onTemp (f), offTemp (f), minMinutes, testInterval (minūtes), luxDelta) Sildītāja sildītājs1 = sildītājs (A1, 38, 43, 20, 1440, 5); Sildītāja sildītājs2 = sildītājs (A2, 36, 41, 20, 1440, 5); sildītāja sildītājs3 = sildītājs (A3, 34, 39, 20, 1440, 5); sildītājs4 = sildītājs (A4, 32, 37, 20, 1440, 5); (Un jā, es definēju visus 4 sildītājus, lai gan šobrīd darbojos tikai 3. Man vēl būtu jāiegādājas cits relejs, bet tad pievienojot 4. sildītāju esiet tik vienkārši, kā to iespraust.) Es satricinu to sprūda temperatūru, sākot ar 38 grādiem pirmajai un beidzot ar 32 neesošajai ceturtajai. Viena no lietām, ko es atradu, kad es pirmo reizi sāku nodarboties ar šo lietu, bija tāda, ka man bija jānorāda temperatūras diapazons, kā arī jānosaka minimālais “degšanas laiks”, vai arī es kā traks ieslēdzu un izslēdzu gaismas. Šeit es dodu katram no tiem 5 grādu izkliedi, kā arī 20 minūšu minimālo degšanas laiku. Es iestatīju testa intervālu uz 24 stundām un iestatīju 5 luksus kā minimālo gaismas rādījumu, kas vajadzīgs, lai noteiktu, vai spuldze joprojām darbojas. Gandrīz viss, kas ir jākonfigurē, atrodas tieši šajās 4 koda rindās.

7. solis: Arduino kods, klases

Šim projektam izveidoju 3 nodarbības. Tie bija "taimeris", "sildītājs" un "akumulators". Nedaudz vairāk padomājot, man vajadzētu būt iespējai akumulatoru salocīt taimerī, bet es to vēl neesmu izdarījis. Šeit tie ir pilnībā: sildītājs.h

taimeris.h

akumulators.h

8. darbība: sistēmas uzraudzība

Sistēmas uzraudzība
Sistēmas uzraudzība

Es izveidoju vienu saskarni diviem atsevišķiem monitoriem. Tā ir interaktīva sesija, izmantojot seriālo konsoli. Manā gadījumā es izmantoju Bluefruit EZ-Link, lai varētu piekļūt sistēmai, nelienot zem mājas vai nemēģinot ielīmēt USB kabeli starp grīdas sijām! EZ-Link papildu priekšrocība ir tā, ka varu augšupielādēt jaunu programmas kodu Arduino, izmantojot Bluetooth. "Cilvēka" saskarnei var piekļūt (Bluetooth vai fiziskais kabelis) ar jebkuru termināļa emulācijas programmatūru, ieskaitot Arduino IDE sērijas monitors. Kad sākotnēji izveidojat savienojumu, atbilde netiek sniegta, bet, nospiežot taustiņu "u" ("atjauninājums") un "t" ("pārbaude"), jūs iegūsit ekrānuzņēmumā redzamo rezultātu. "m" ("monitors") un "s" ("sys pārbaude") nodrošina vienus un tos pašus datus, bet daudz mazāk lasāmā formātā. Tos ir paredzēts "nokasīt" ar citu programmu automātiskai parādīšanai. Es saliku Python skriptu, kas to dara. Jebkurš cits taustiņš uzrāda parādīto kļūdas ziņojumu. Jūs redzēsit vērtību "degšanas laiks" - domājiet par to kā "spuldzes minūtes" - 1 spuldze 10 minūtes = 10 minūtes, 3 spuldzes 10 minūtes = 30 minūtes.

9. darbība: Python skripts

Python skripts
Python skripts

crawlspace_gui.py

10. solis: vēl jādara…

Tas var nebūt skaists vai ideāls, taču tas ir efektīvs un pierāda sevi kā uzticamu. UN, man šoziem vēl nav bijušas problēmas ar aizsalušām caurulēm !!! Man ir paveicamo lietu saraksts. Protams, tagad, kad tas darbojas, es varu vai nekad nevarēšu paveikt lielāko daļu no šiem uzdevumiem: lai Bluetooth darbotos vienā no manām Raspberry Pi ierīcēm, lai es varētu izveidot īpašu monitoru. Uzziniet vairāk par Python - pēc tam notīriet Python interfeisu. Šī elementu atdalīšana nav mērķtiecīga, un es nesaprotu, kāpēc tā pastāv. Pievienojiet saskarni kādam Adafruit IO pakalpojumam, lai es varētu to uzraudzīt no jebkuras vietas. Pievienojiet brīdinājumu par īsziņu. Pāriet uz mazāku kontrolieri (iespējams, metro) Mini vai Trinket Pro?), Lētāki releji un labāks iepakojums. Izņemiet to no maizes dēļa un uz "Perma Proto" plates. Konfigurācijas parametri EEPROM. Detalizētāks interfeiss, kas norādīs, kuras spuldzes ir labas, un iespējams, pat degšanas laiks atsevišķām spuldzēm. Kad es tos izdarīšu, es atgriezīšos un atjaunināšu šo instrukciju.

11. darbība. Atjauniniet 3/16, “pastāvīgu” būvēšanu

Atjauninājums 3/16,
Atjauninājums 3/16,
Atjauninājums 3/16,
Atjauninājums 3/16,
Atjauninājums 3/16,
Atjauninājums 3/16,

Labi atpūšoties aukstajā laikā, esmu paņēmis ierīci un pārcēlis to uz mazāku kontrolieri (es biju iecerējis izmantot Trinket Pro, bet Adafruit Metro Mini sēdēja bez jebkāda cita projekta pieprasījuma), pielodēju to Perma-Proto dēli un salieciet to labākā gadījumā. Pamatojoties uz to, cik tā ir bijusi uzticama, es neatkārtoju aparatūras uzraudzības dienestu. Es joprojām izmantoju tikai 3 lampas/relejus, kur sistēma tiks galā ar 4. Bluetooth modulis atrodas pie lodētas galvenes, tāpēc to var noņemt, ja man tas ir vajadzīgs kaut kur citur. Lai pārietu uz jauno kontrolieri, nebija nepieciešamas koda izmaiņas - vienkārša pārkompilēšana un ielāde mani sāka darbināt dažu minūšu laikā. (Metro Mini ir identisks pinout kā Arduino Uno, un tas ir arī ATMega328 procesors.)

12. darbība. Atjauniniet 12.1.2018. - Laipni lūdzam IoT

Sistēma mums ir strādājusi nevainojami. Pēc divām diezgan bargām ziemām NAV sasalušu cauruļu. Faktiski sistēma spēja uzturēt caurules, nekad nededzinot vairāk par 2 spuldzēm. Trešās spuldzes pieejamība tiešsaistē bija jauka apdrošināšana, taču mums tā nekad nav bijusi vajadzīga.

Tuvojoties sistēmas 3. gadam, Bluetooth modulis neizdevās. Mēs arī uzbūvējām jaunu māju, tāpēc uzraudzības sistēma atrodas krietni ārpus Bluetooth diapazona. (Vecā māja kādu laiku uzturas, bet ne uz visiem laikiem.) Pa to laiku esmu daudz darījis ar procesoru, kuram ir iespējots WiFi; gan Adafruit Feather formātā, gan atvērtā koda "NodeMCU" formātā. NodeMCU parasti var atrast vietnē Amazon par aptuveni 5 USD - daudz mazāk, ja pērkat vairumā un/vai no kāda, piemēram, AliExpress.

Šī jaunā versija uztur seriālo saskarni, tāpēc to joprojām var izmantot ar Bluetooth moduli vai tiešu USB seriālo savienojumu un iepriekšējo python skriptu, tomēr jaunajai versijai ir tīmekļa lapas saskarne. Kā rakstīts, tas ietver šādu funkciju:

WiFi tīkla pārvaldnieks, lai novērstu grūti kodējamus WiFi akreditācijas datus.

Iespēja atjaunināt programmaparatūru bezvadu režīmā, izmantojot Arduino IDE (ja atrodaties tajā pašā WiFi tīklā-ņemiet vērā, ka pēc USB augšupielādes ierīcē ir nepieciešama atiestatīšana, pirms OTA atjauninājumi darbosies). LŪDZU, nomainiet OTA paroli 6. rindiņā, lai tā būtu jums unikāla !!

Tīmekļa lapa, kurā tiek parādīti tie paši dati, ko python skripts, ar automātisku atsvaidzināšanu katru minūti. Es neievietoju lapā nekāda veida drošību, jo tā ir paredzēta tikai displejam.

Jauno kodu varat atrast šeit. Ņemiet vērā, ka tapu nosaukumi mainās, pārejot uz NodeMCU.

Ieteicams: