Мазмұны:

Tweet-A-Temp: 8 қадам
Tweet-A-Temp: 8 қадам

Бейне: Tweet-A-Temp: 8 қадам

Бейне: Tweet-A-Temp: 8 қадам
Бейне: Я есть. Ты есть. Он есть_Рассказ_Слушать 2024, Шілде
Anonim

Z0tZot -тің Homebrew эксперименттері бойынша Автордың келесі әрекеттерін орындаңыз:

Сиқырлы 8 сыра 8 қырлы өлім
Сиқырлы 8 сыра 8 қырлы өлім
Magic 8 сыра 8 қырлы өлім
Magic 8 сыра 8 қырлы өлім

Менің үлкен ұлым (№1 Минион) мен Tweet-A-Watt құра бастадық және нұсқауларды дұрыс орындамадық, яғни біз қабылдаушыларды стандартты қабылдағыштар ретінде жасадық, екінші XBee қабылдағыштың жартысын ғана толтырдық. бізде екі таңдау болды, не қосымша бөліктерді кесіп тастадық, не басқа нәрсені. Мен әлі де жергілікті жерде Kill-A-Watt таба алмайтынымды және менде 10 жыл бойы компьютерлендіргісі келетін сыртқы/ішкі термометр бар екенін ескере отырып, мен не істеу керектігін білдім: өлшеу үшін термометрді қолдану керек болды. Мен ыстық ваннаның температурасын, содан кейін оны твиттерде жазамын! Мен жақында Minion No1 -ге ыстық ваннаның контроллерін шекарасы жоқ сипаттауға тапсырма бердім. Ол айтты, біз оны сымсыз байланыстыра аламыз, бірақ жоқ, бұл ақымақтық … 10 жылдық жоспар жүзеге асқан кезде мен оны жақсы көремін. Оны Twitter-ден қараңыз

1 -қадам: Xbee қабылдағыштарын жасаңыз

Xbee қабылдағыштарын жасаңыз
Xbee қабылдағыштарын жасаңыз

Екі XBEE қабылдағышын жасаңыз. Мен Ада ханымның қабылдағыштарын қолдандым, кез келген ресивер жасайды. Сізге XBee VREF және AD0 түйреуішіне кіру қажет болады. Tweet-A-Watt-тің конфигурациясы. Іс жүзінде сіз Kill-A-Watt мәндерін қайталайтын құрылғылардың бірін орнаттыңыз: ATMY = 1, SM = 4, ST = 3, SP = C8, D4 = 2, D0 = 2, IT = 13, IR = 1 Бұл адресті орнатады (1), ұйқы режимін, таймерді және кезеңді орнатады, содан кейін 4 және 2 түйреуіштерді үлгілер арасында 1 мс 0x13 (19 ондық) пакеттерді жіберетін аналогты енгізу режиміне (2) орнатады.. Мұндағы әдіс - аналогты енгізу. Сіз кіші кернеулерді (0-5В) тікелей XBee арқылы оқи аласыз. Tweet-A-Watt-те сіз Kill-A-Watt-пен өлшенетін ампер мен вольтты жіберу үшін 4 және 0-түйреуіштерді орнатасыз. Іс жүзінде ол жібермейді, ол Kill-A-Watt чиптерімен өлшенетін шағын кернеуді компьютерге бекітілген XBee қабылдағышына жібереді. Компьютердегі бағдарламалық қамтамасыз ету үнемі алынған пакеттерді оқиды, ол нақты кернеу мен амперді қайта есептейді, содан кейін ол қуатты есептейді.

2 -қадам: термометр

Термометр
Термометр
Термометр
Термометр
Термометр
Термометр

Мен осы жабық/ашық термометрлердің екеуін шамамен 10 жыл бұрын үй қоймасынан сатып алдым. Сыртқы «термометрдің» негізгі қондырғыға стандартты аудио штепсельге ұқсайтынын қосуы мені әрдайым қызықтырды. Мен оны компьютердегі микрофон ұясына қосу арқылы температураны өлшеуге бола ма деп ойлайтынмын.

Мен мұны істей алатын шығармын, бірақ бұл қиын болар еді. Бұл штепсель 1/8 аудио штепсельдің орнына 3/32 дюймдік ұя. Бұл ұялы телефондарға арналған сыртқы микрофондарға арналған стандартты штепсель. Бұл мәселе болды, себебі мен қоқыс жинайтын микрофон штепсельдерін таба алмадым. Мен Radio Shack ($ 2) жиынтығын сатып алуым керек болды, бұл жобаға үлкен кідіріс әкелді (лашыққа жету оңай болмады). Мен біреудің қалай жұмыс істейтінін кенеттен түсінбей тұрып, бір бөлікті бөліп алдым., бұл кернеуді бөлуші болды! Мен бұл туралы бір рет ойлағанымда түсінікті болды, бұл өмірді өте оңай етті.

3 -қадам: Кернеуді бөлгіш дегеніміз не?

Кернеуді бөлгіш дегеніміз не?
Кернеуді бөлгіш дегеніміз не?

Электронды туралы білуге болатын ең жақсы орындардың бірі - Висконсин Онлайн бөлгіштері сол бетте (төменгі оң жақта) түсіндірілген, немесе сіз вольт Википедия бетіне кіре аласыз. резистордың көлеміне пропорционалды. Егер сізде R (1) + R (2) тізбегіндегі V кернеуі болса, онда V = V (1) + V (2). Егер V = 3V және V (2) = 2V болса, онда сіз V (1) = 1V екенін білесіз, енді Ом заңының негізі ток (I) V/R болып табылады. Тізбектелген тізбекте ток барлық жерде бірдей болады, сондықтан А мен В арқылы өтетін ток бүкіл тізбек үшін бірдей. Сондықтан I = V1/R1 = V2/R2. Біз білеміз V2 = V - V1, Қосылу, біз V1/R1 = (V -V1)/R2 көреміз. Шешу арқылы біз R2 = R1*(V-V1)/V1 аламыз, егер V (1), V және R (2) білетінімізді білсек, біз R2 үшін шеше аламыз. Егер бізде R2 болса, онда біз оның мәнін білеміз. Термистор!

4 -қадам: Термистор дегеніміз не?

Термистор дегеніміз не?
Термистор дегеніміз не?

Термистор - бұл қарсылықты температураға байланысты өзгертетін резистор. Қарсылықты анықтау үшін кернеуді бөлгіштің әдістерін қолдана отырып, біз оның қандай температурада екенін біле аламыз. Мәселе мынада, менде 10 жылдық бұйымнан жасалған қаптамада арзан термистор бар. Мен қарсылықтан температураға өту функциясын қалай құрдым деп ойлаймын? Менде термометр бар, сондықтан мен оны өлшедім. Мен температураны төмен түсірдім, содан кейін термистордың кедергісін өлшедім. Мен оны тоңазытқышқа қойдым, содан кейін жылы суға саламын. Уақыт өте келе мен бөлме температурасын ұстайтын едім, мен Википедиядағы а және b факторларын білуге болады деп ойладым, бірақ мен оны өндіруге сәйкес келмейтін сызықты емес ықтимал сәтсіз компонентті қолдандым деп ойладым. ерекшеліктер. Мен жалқаумын, сондықтан мен Excel -ге барлық мәндерді тастадым, содан кейін оны графикке шығардым, мен Excell -дің мұны жасайтынын білгенде, «ең кіші квадратқа сәйкес келмейтін» сияқты терең математиканы есте сақтау керек деп алаңдадым. Мен графикте бос орындар жоқ екені анық, бірақ мен ыстық ваннаның температурасы (100-105F) туралы көптеген жақсы мәліметтер алдым. Бөлме температурасының диапазондарын тексере отырып, мен бір нәрсені байқадым, бұл менің жұмысымды түкке тұрғысыз етеді. «Нақты температура» термометрі термистор дюйм қашықтықта болғанда «ішкі» мен «сыртқы» арасындағы 3-7 градусқа дейінгі қате туралы хабарлады! Мүмкін, бұл мен термисторды қондырғылар арасында араластырып, сәйкестендіргендіктен болуы мүмкін, бірақ мен оның бағасы 10 жасар, 10 долларлық және температураның «дәлдігіне» қарамастан дәлдігі мен бірнеше сынақтарын қажет ететініне сенімдімін. диапазоны бірнеше күн ішінде өте жақын нәтиже көрсетті. Мен ұзақ мерзімді перспективада термисторды ыстық ваннаға апаратын құбырға қосатын шығармын, сондықтан маған бәрібір офсетті қажет етеді, сондықтан Excel -ді теңдеуді көрсету арқылы мен оны кодқа енгіздім, және әзірге ол солай ». жабық.»

5 -қадам: таратқыш схемасы

Таратқыштар тізбегі
Таратқыштар тізбегі

Таратқыш схемасы қарапайым. Мен R2 үшін 100 кОм резисторды таңдадым, себебі ол графикке сәйкес келетін сияқты, менде Minions -пен әр түрлі заттарды тазартудан қорғаныс болды. Мен мұны коннектор арқылы термистормен тізбектей қосамын. Содан кейін мен батарея жинағын қостым. Мен VREF пен кернеуді бөлгіштің жоғарғы бөлігіне және Xbee +3V кірісіне 3 В жүгірдім. Мен GND (Батарея теріс) мәнін GND кірісіне және бөлгіштің төменгі жағына қойдым. Содан кейін мен AD0 (вольт) кернеуді бөлу тізбегінің ортасына жалғадым.

AD0 VREF -тен V (1) дейінгі салыстырмалы кернеуді оқиды. Батареяның заряды төмендеген сайын салыстырмалы кернеу де солай төмендеуі керек. Ақыр соңында, мен құрылғыны жергілікті қуат көзімен қамтамасыз етемін. Аяқталған қондырғы жақсы жұмыс істеді, біз бәрін аллигатор қысқыштарымен байланыстырамыз, бұл оны нәзік етті. Мен 3/32 дюймдік әйелдік қосылымды алғаннан кейін, таратқышты кездейсоқ пластикалық ваннаға салдым (экс-гумус контейнері). Бұл оны ауа райынан қорғауы керек. Мен «панельдік бекіту» қосқыштарын сатып алғандықтан, бұл қарапайым болды. пластмассадан тесік бұрғылау сияқты, коннекторды сыртқа су өткізбейтін қосылыммен қосу үшін, бізде тестілеудің уақыты келді.

6 -қадам: Үй, үй, диапазоны жоқ

Үй, үй, диапазоны жоқ
Үй, үй, диапазоны жоқ
Үй, үй, диапазоны жоқ
Үй, үй, диапазоны жоқ
Үй, үй, диапазоны жоқ
Үй, үй, диапазоны жоқ

Біз байқаған бірінші нәрсе - диапазон таратқышпен кеңседен шыққан бойда жан түршігерлік өлім болды. Біз басқа бөлмеден тырыстық, нәтиже қорқынышты болды. 1 фут қашықтықта ол жарылып кетті. Шешімдерді қарауға уақыт келді. Мен тестілеу кезінде бізде 5 фут ішінде 4 Wi -Fi көзі бар, барлығы Xbee сияқты 2,5 Гц диапазонында болды. Сонымен қатар, біз «Xbee-ге мүлде мақсат қойған жоқпыз. Зерттеуден кейін мен қуатты Xbee радиосын (шамамен 23 доллар) сатып алатынымды немесе антенналарды қосатынымды анықтадым. Маған қажет нәрселердің бірі-жақсы диапазонды тексеру. Digi X-CTU бағдарламалық жасақтамасы. «Диапазондық тест» орнатылған, бірақ ол ештеңе етпеді. Мен оны қалай жұмыс істеу керектігін білуге біраз уақыт жұмсадым. Шындығында бұл айтылғаннан оңай болды. Маған X-CTU тесті қажет емес, тек «RX сигнал күшінің индикаторы» (RSSI) мәні. Мен xbee.pyTweet-A-Watt қолданады және сол жерде 39-жолды қарадым: [код] self.rssi = p [3] [/код] Бұл оның бөлігі екенін білдіреді Xbee қайтару мәнінің мәні! « + time.strftime (» %Y %m %d, %H: %M «) +», « +»: Кернеу: « + str (CalcualtedVolts) +» avgv « + str (avgv) +» Термистор: « + str (x) + «Температура:» + str (Температура) Мынадай жолды шығарады: 373: RSSI: 82 | 2009 04 26, 11:18,: Кернеу: 1.80100585938 avgv 593 Термистор: 71.2276559865 Температура: 78.6813444881 сонымен қатар Томның Igoe бетінен өңделген RSSI қараңыз. Егер сіз пакеттің ұзындығын өзгерткіңіз келсе де (жоғарғы жағында), Processing пакеттің буферлік өлшемінің соңына дейін жазуға шағымданады. Менің ойымша, сіз күткеннен 2 * үлкен болуы керек. пакеттің ұзындығы. Томның коды алдыңғы пакетті артқа қарайды, егер ол Ox7E пакеттік индикаторын жіберіп алса, ол біраз уақыт жұмыс істей алады. Егер мен өлшеу диапазонының сыртқы шетіне жақын болсам, бұл біраз уақытқа созылуы мүмкін. 600 және ол маған «қате, serialEvent () өшіру» хабарламасын беруді тоқтатты. Томның коды тек соңғы параметрді басып шығарады, бұл мен үшін пайдалы емес. Менің отладка желісі мені қадағалауға мүмкіндік береді Минион №1 ретінде өзгереді. Енді бізде «әке, бізде пакет бар» дегеннен гөрі, үйге қайнататын антеннаның кейбір идеяларын сынап көрудің уақыты келді! Http://www.usbwifi.orconhosting.net.nz/ сайтынан алынған идеяларды қолдана отырып, мен бұрыштық текше дБ -ның төмендеуін өлшеді, бірақ іс жүзінде ажыратылған жұпты қосуға көмектеспеген сияқты. Vegetible Steamer шын мәнінде мақсатты қосуда және қайта қосылуда ең жақсы болды. USB Wifi қондырғысы басқа пайдаланушылардан айтарлықтай ерекшеленеді. Пароходтардың ортасында діңгегі бар, бұл XBee -ді оңай орналастыруға мүмкіндік береді. Қаңылтыр фольга салынған фокус табысы да перспективалы болып көрінеді (бірақ біз қалайы фольганы кейінірек алып тастап, оны орнында ұстадық). Біз сондай -ақ ыстық дөңгелектердің «трек» иінімен параболаны жасауға тырыстық, бірақ бұл көмектеспеген сияқты. Мәселелердің бірі - біз диапазонның сыртқы шетінде тестілеу жүргіздік. 2.5Ghz радиосының көпшілігі, әсіресе XBee, спектрді пайдаланады, яғни олар «синхрондауды» қажет етеді, содан кейін XBee бағдарламасы XBee пакетінің басталуын триггер алдында іздейді. Бұл сізде барлығы немесе ештеңе әсері болмаса дегенді білдіреді. Радио бір -біріне жабылады, немесе жабылмайды. Кейде бұл сәттілікке ұқсайды, бірақ іс жүзінде сіз бұл диапазонда антенна боласыз және нәтижеге әсер етуі мүмкін. Мен екі пароход сатып алуға бардым, бірақ содан кейін жергілікті супермаркеттен пароходтың бағасы $ 10 екенін білдім, ал 2 пароходтың бағасы бойынша мен одан қуатты XBee ала аламын. Мен тағы бірнеше жерлерді қарадым және одан да жақсы болып шыққан өте терең сүзгіні таптым. Бұл 7 доллар болды. Мен тереңдіктің маңызды екеніне сенімдімін, өйткені мен заттардың соңында тұрмын, ол сигналды көбірек көрсетеді (https://www.usbwifi.orconhosting.net.nz/number13.jpg) ескертулеріне сәйкес. Бұл бір жағынан көкөніс бумен пісіргішпен (ауыстырылуы керек), екінші жағынан сүзгішпен, мен 20-30 м шамасында ішкі кеңседен 3-4 қабырға арқылы ыстық ваннаға дейін сигнал аламын! егер сіз қаласаңыз, сүзгіні кіргізіңіз 1) Сіздің жұбайыңыз қалсын және/немесе 2) Кептірілген көкөністерді кейінірек алғыңыз келсе. Жеке маған көкөніс пароходының жапырақ тәрізді келбеті ұнайды.

7 -қадам: Бағдарламалық қамтамасыз ету

Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету

Tweet-A-Wattsoftware бағдарламасынан бастап мен питон кодын бұзуды бастадым. Көбінесе маған Уоттс түрлендіруін, тарих функцияларын жою қажет болды, содан кейін мен 0-ге бөлуге бірнеше қорғаныс қосу керек болды (Tweet-A-Watt пакеттерінде деректер болады деп есептеймін). Содан кейін Excel бағдарламасынан формуланы бағдарламаға қостым. Мен оны әр пакетті басып шығаратын етіп қойдым, менде проблемаларды шешу үшін кодта көптеген қателер бар. Мен графикалық бөлікті жұмыс істетуге тырыстым, бірақ мен одан бас тарттым: Python Rant: Мен екінші рет Python -да үлкен жоба жасауға тырысты. Мен барлық кітапханаларға тәуелділіктер мен негізгі пакеттерді Windows, Windows 64, Ubuntu және Fedora жүйелерінде 20 сағат ішінде жұмыс істей алмадым. Ақыр соңында мен бәрін нөлден құруға тура келді, тіпті кейбір функциялар жұмыс істемеді. Мен 2.4, 2.5, 2.6 және әр түрлі 3. X нұсқаларын, содан кейін әр кітапхананың нұсқаларын көрдім, олар өз кезегінде басқа пакеттерге тәуелді болды. Басқалардың тілге қарсы айтуы мүмкін болса да, мен жай ғана қондыруды таптым, тіпті көптеген «қарапайым қондырғыларды» қолданған кезде де қорқыныш жоқ! Температураны есептегеннен кейін мен 1 градусқа реттедім, себебі мен ыстық ваннаға сене алмадым. 106F болды. Мен шынымен де 105 -те екеніне сенбеймін, содан кейін репортаж мен твиттер логикасын өзгерттім. Мен пакеттерді немесе жақсы пакеттерді алатыныма сенімді емес болғандықтан, мен температураны сағатына бір рет хабарлауды шештім. Мен оны біраз уақытқа қысқартамын деп ойлаймын, қазіргі уақытта сценарий қалыпты пайдаланушы ретінде жұмыс істейді. Мен оны ақыр соңында қызметке ауыстырғым келеді.

8 -қадам: Келесі қадамдар

Келесі бірнеше айқын қадамдар бар:

1) Көкөніс сүзгісін ауыстырыңыз a. Миниондарға көкөністер қажет! б. Ол бәрібір ескі еді. 2) Hot Tub антеннасын палубаның астына қойыңыз. Палуба оны «әрі қарай» жасай алады, бірақ бұл нашар орнатуға мүмкіндік береді. б. Содан кейін мен термисторды төменгі жағына қарай жүргізіп, жақсы жерді таба аламын. 3) Басқа датчиктерді қосыңыз a. Оңай - бұл сыртқы температура сенсоры. б. Басқару тақталарының күйін, әсіресе балалар біткен кезде сиқырлы түрде әсер ететін жылу сенсорын анықтай алмауымызға ешқандай себеп жоқ. c) Басқа ауа райы датчиктері (жел, ылғалдылық және т.б.) d. Ыстық ваннаны басқару жақсы болар еді, мен түн мен күндіз жылуды өшіре аламын. 4) Мен бағдарламалық қамтамасыз етуді реттей аламын a. Миниондар температура бойынша жақсы хабар алғысы келеді. б. Біз жауаптар мен ДМ -ге жауап беруіміз керек. c) Мен неғұрлым ақылды твит жазуым керек (сағатына бір реттен аз). d. Менде басқа да қызықты нәрселер жоспарланған.

Ұсынылған: