Мазмұны:

Crawl Space Monitor (әйтпесе мұздатылған құбырлар жоқ !!): 12 қадам (суреттермен)
Crawl Space Monitor (әйтпесе мұздатылған құбырлар жоқ !!): 12 қадам (суреттермен)

Бейне: Crawl Space Monitor (әйтпесе мұздатылған құбырлар жоқ !!): 12 қадам (суреттермен)

Бейне: Crawl Space Monitor (әйтпесе мұздатылған құбырлар жоқ !!): 12 қадам (суреттермен)
Бейне: ПОЧЕМУ Я ЖДУ L4D3 2024, Қараша
Anonim
Crawl Space Monitor (әйтпесе мұздатылған құбырлар жоқ !!)
Crawl Space Monitor (әйтпесе мұздатылған құбырлар жоқ !!)

Менің үйіме су құдықтан жылытылмайтын кеңістік арқылы келеді. Ас үй мен ваннаға арналған барлық сантехника осы кеңістіктен өтеді. (Үйдегі сантехника 70-ші жылдардың ортасында бұл үйдің үстінде болды!) Мен температураны мұздату деңгейін ұстап тұру үшін «резервуарлы» термостатикалық штепсельдерде жылу лампаларын қолдандым. Бұл қондырғыда бірнеше маңызды проблемалар болды: 1 - көрінбеу. Жанып кеткен шамдардың бірінші белгісі - мұздатылған құбырлар! 2 - Кейде штепсельдер сөнбейді. Бұл жағымсыз тосынсыйлар үшін электрлік есепшот әкеледі. 3 - түйіршіктілік жоқ. Мен 3 лампаны «желіде» сақтадым (барлығы 750 ватт) және бұл барлық немесе ештеңе шешімі емес. (2 шам үнемі шеше бермейді.) Ардуиномен танысқаннан кейін және басқа адамдар онымен айналысатын кейбір нәрселерді көрген соң, мен оны айналдырамын деп шештім. Мен бұл жұмысты орындау үшін басқа адамдардың жобаларынан үлгі кодын ұялмастан жинап алғанымды мойындаймын, бірақ мен бәрін қайта жаздым. Бастапқыда мен өзім тапқан «WiFi метеостанциясын» салдым. Adafruit.com және оны өзгертті. Мен веб -сайтты жаңартудың орнына, маған SMS күйі туралы жаңартуларды жіберу үшін Amazon Web Services қызметін қолдандым. Мен сондай -ақ кейбір 110В релесін басқаруды қостым (https://www.adafruit.com/products/268). Мен содан кейін «ақылды» болдым және оны «қатаңдатуды» шештім - бірдеңе қысқа болды, мен сиқырлы көк түтінді алдым. Барлығы қуырылды … CC3000 WiFi -де басқа үзіліс болмағандықтан, мен бұл жолы басқаша жасадым. Мен оны сериялық интерфейс арқылы интерактивті бақылау үшін жасадым, содан кейін EZ-Link Bluetooth FTDI интерфейсін қостым. (Бағдарламалық жасақтаманы жаңарту үшін ноутбукты үйдің астына сүйреудің қажеті жоқ !!!) Сондай -ақ, мен құрылғыға Bluetooth арқылы қосылатын, оны үнемі сұрайтын және Mac жүйесінде күй туралы ақпаратты көрсететін Python интерфейсін құрдым. (Сондай-ақ, кез келген терминалды эмуляциялық бағдарламалық қамтамасыз ету арқылы қол жеткізуге болатын «адамдық интерфейс» бар.) Барлық WiFi мен RTC кодтарын қайта жазу мен жою нәтижесінде жоба көлемі 29К-тан 10К-қа дейін қысқарды. Бұл сонымен қатар аппараттық бақылаушы бірнеше аптаның ішінде жұмыс істемегенде де, мен түзеткен кезде де сенімділікті жақсартты.

17.02.16 Жаңарту/ескерту: Кейбір кодтарды (әсіресе Python кодының шегінісін) дұрыс пішімдеуге тырысқанда, заттар ұнамсыздан жарамсызға айналды. Мен мәселе бір жерде шешілетініне сенімдімін және мен оны анықтауға тырысамын. Осы уақытқа дейін мен DropBox арқылы код файлдарына сілтемелер қостым. Олар кез келген адамға қол жетімді болуы керек. Егер жоқ болса, маған хабарлаңыз, мен оларды сізге басқа жолмен жеткізе аламын!

1 -қадам: шешілетін мәселелер

Жүйе мен үшін келесі әрекеттерді орындауы керек еді: 1 - жылжу кеңістігіндегі температураны бақылаңыз.2 - температураны мұздатудан жоғары ұстап тұру үшін қажет болған жағдайда жылу лампаларын қосыңыз.3 - жұмыс істемей тұрғанда, шамдарды мезгіл -мезгіл тексеріп, маған көрініс беріңіз. 4 - маған температура мен жүйенің күйі туралы мәлімет беріңіз, соның ішінде: - жүйе жұмыс істей ме? - қазір температура қандай? - Ең суық температура қандай? - қанша шам жанып тұрды? - қанша шам жақсы сынайды? - менің «жеңіл минуттардағы» жалпы уақытым қанша? Жарық сенсоры. Мен шешкім келетін басқа мәселелер - бұл шамдардың цикл уақыты. Өте баяу, мен қажетсіз электр энергиясын жағып жатырмын. Тым жылдам, мен оларды қыздыру мен салқындату кезінде оларды қосу мен өшіру кезінде жанып кету қаупін туғызамын.

2 -қадам: аппараттық құрал

Аппараттық құрал
Аппараттық құрал

2 250 ватт жылу шамдары 1 500 ватт жұмыс шамы (менің жылу шамдарымның біреуі жоғалып кетті, сондықтан бұл тұрақта) Arduino UnoDHT22 температура/ылғалдылық датчигі) Кабель бұрандасы 1/2 өлшемді нан тақтасы Нан тақтасы мен Arduino үшін акрил пластинасы. Өткізгіш сымдары. Coleman 5-шығыс «шеберхана жолағы» Мен сонымен қатар Adafruit Trinket аппараттық бақылаушы ретінде қолдандым, бірақ бұл қажет емес екені дәлелденді (әрине!) бұл туралы бөлек нұсқаулық жазды, сондықтан мен бұл жерде қайталамаймын. Coleman шошқасы өте жақсы табылды, өйткені ол маған плюс плюс жылу лампаларым үшін 4 розетканы Arduino қоректендіру көзіне қосымша бөлгішсіз немесе электрлік таспасыз қосуға мүмкіндік берді. Коммутаторы мен ішкі ажыратқышы бар толық 15 ампермен бағаланған, ол мен бір розетка арқылы тартатын барлық нәрсені басқара алады.

3 -қадам: тәсіл

Жүйе күтуге және кейбір нәрселерді баяу орындауға арналған бағдарлама болса да, мен жасағым келмегені - контроллер кешіктірілген () циклдарда жауап бермейтін жүйені құру болды. Мен сондай-ақ конфигурация параметрлерін мүмкіндігінше тез өзгерте алғым келді-бұл кодты қайта жазуды қажет етпейтін немесе көзде жаппай іздеу және ауыстыру операцияларын жасайтындай емес. Билл Эрлдің «Arduino-ға көп тапсырма беру» бойынша ең жақсы мақалаларын тапты (мына жерден бастаңыз: https://learn.adafruit.com/multi-tasking-the-arduino-part-1) және бос емес. «Таймер» және «жылытқыш» сыныптарын құру арқылы мен қалаған уақыт функцияларын кешіктірмей () (тек бірнеше жағдайды қоспағанда) жасай алдым және шамдарды («жылытқыштар») әрқайсысы үшін кодтың бір жолымен конфигурацияладым. бір.

4 -қадам: оны электрмен жабдықтау

Оны қосу
Оны қосу
Оны қосу
Оны қосу

Фритзинг диаграммасында Bluefruit EZ-LinkArduino 5V & Greading Bus Bus DHT22 түйреуіші 1-ден 5В-ге дейінгі автобус DHT22 түйрегіші 2 Arduino түйрегіші 7DHT22 түйрегіші 4-ке дейін жердегі шина busGA1A12S202 OUT pin Arduino A0Arduino 3V істікшесі Arduino AREF істікшесіне Relay Ground жерге тұйықталуы Arleino A1Relay 2 қуат сымы Arduino A2Relay 3 қуат сымы Arduino A3Relay 4 қуат сымы Arduino A4ке қосылады.. Жарық сенсорындағы 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). оны қосу сияқты қарапайым болыңыз.) Мен олардың триггерінің температурасын көтеремін, біріншісі 38 градустан басталып, 4-ші үшін 32-ге дейін. Мен бұны алғаш тоқуды бастаған кезде тапқан нәрселердің бірі - мен температураның диапазонын беруім керек, сонымен қатар минималды «жану уақытын» анықтауым керек еді, немесе мен велосипедпен шамдар жынды сияқты қосылып -өшіп тұрдым. Мұнда мен олардың әрқайсысына 5 градусқа спрэд беремін, сонымен қатар жанудың минималды 20 минутын беремін. Мен тестілеу аралығын 24 сағатқа қойдым және 5 люкс қойдым, шамның жұмыс істеп тұрғанын анықтау үшін ең төменгі жарық көрсеткіші. Бұл 4 код жолында конфигурацияны қажет ететін барлық нәрсе бар.

7 -қадам: Arduino коды, сыныптар

Мен бұл жобаға 3 сынып құрдым. Олар «таймер», «жылытқыш» және «аккумулятор» болды. Біраз ойланып, мен аккумуляторды таймерге айналдыра аламын, бірақ әлі жоқ. Мұнда олар толық: жылытқыш.h

таймер.h

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

8 -қадам: жүйені бақылау

Жүйені бақылау
Жүйені бақылау

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

9 -қадам: Python сценарийі

Python сценарийі
Python сценарийі

crawlspace_gui.py

10 -қадам: Әлі де істеу керек …

Бұл әдемі немесе мінсіз болмауы мүмкін, бірақ бұл тиімді және өзін сенімді деп көрсетеді. ЖӘНЕ, менде қыста қатып қалған құбырлар мәселесі болған жоқ !!! Менде істеу керек нәрселердің тізімі бар. Әрине, қазір ол жұмыс істеп тұрғанда, мен бұл элементтердің көбіне қол жеткізе аламын немесе мүмкін емеспін: Bluetooth -ды Raspberry Pi -дің бірінде іске қосыңыз, сонда мен арнайы монитор жасай аламын. интерфейс. Бұл элементтерді бөлу әдейі емес және мен оның не үшін екенін түсінбеймін, оны кез келген жерден бақылай алу үшін Adafruit IO қызметі сияқты интерфейсті қосыңыз. Мәтіндік хабарламаны ескертуді қосыңыз. Кішірек контроллерге (мүмкін Метроға) көшіңіз. Mini немесе Trinket Pro)? Мүмкін, жеке шамдарға уақыт кетуі мүмкін. Мен оларды аяқтаған кезде, мен қайтып оралып, осы Нұсқаулықты жаңартамын.

11 -қадам: 3/16 жаңарту, «тұрақты» құрастыру

Жаңарту 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 -қадам: 2018 жылдың 1 -ші қаңтарын жаңарту - IoT -ге қош келдіңіз

Жүйе біз үшін мінсіз жұмыс істеді. Қатты екі қыстан кейін мұздатылған құбырлар жоқ. Шындығында, жүйе құбырларды 2 шамнан артық күйдірмей ұстай алды. Үшінші лампаның желіде болуы жақсы сақтандыру болды, бірақ бізге ол ешқашан қажет емес.

Жүйенің 3 -ші жылында Bluetooth модулі сәтсіз аяқталды. Біз сондай -ақ жаңа үй салдық, сондықтан бақылау жүйесі Bluetooth ауқымынан тыс жерде. (Ескі үй біраз уақыт тұрады, бірақ мәңгілік емес.) Мен ESP8266 WiFi қосылған процессормен көп жұмыс жасадым; Adafruit Feather форматында да, ашық бастапқы коды «NodeMCU» форматында да. NodeMCU әдетте Amazon -да шамамен $ 5 табуға болады - егер сіз жаппай және/немесе AliExpress сияқты адамнан сатып алсаңыз, әлдеқайда төмен.

Бұл жаңа нұсқа сериялық интерфейсті қолдайды, сондықтан оны әлі де Bluetooth модулімен немесе тікелей USB сериялық қосылымымен және алдыңғы python сценарийімен қолдануға болады, алайда жаңа нұсқада веб-бет интерфейсі бар. Жазылғандай, ол келесі ерекшеліктерді қамтиды:

Қатаң кодталған WiFi тіркелгі деректерін жою үшін WiFi желісінің менеджері.

Arduino IDE көмегімен микробағдарламаны тікелей эфирде жаңарту мүмкіндігі (егер сіз бір WiFi желісінде болсаңыз-құрылғыға USB жүктеуді жасағаннан кейін, OTA жаңартулары жұмыс істемей тұрып, бастапқы күйге қайтару қажет екенін ескеріңіз). ӨЗІНЕН бірегей болу үшін 6 -жолдағы OTA құпия сөзін өзгертіңіз !!

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

Сіз жаңа кодты осы жерден таба аласыз. NodeMCU -ге ауысқан кезде түйреуіш атаулары өзгеретінін ескеріңіз.

Ұсынылған: