Obsah:

Tweet-A-Temp: 8 kroků
Tweet-A-Temp: 8 kroků

Video: Tweet-A-Temp: 8 kroků

Video: Tweet-A-Temp: 8 kroků
Video: 🔴 MEDIÁLNÍ TRÉNINK + VÁŽENÍ ZÁPASNÍKŮ | Clash Of The Stars 7 2024, Červenec
Anonim

Autor: Z0tZot's Homebrew Experiments

Magic 8 Beer 8 Sided Die
Magic 8 Beer 8 Sided Die
Magic 8 Beer 8 Sided Die
Magic 8 Beer 8 Sided Die

Můj nejstarší syn (oblíbenec č. 1) a já jsme začali stavět Tweet-A-Watt a nedodrželi jsme správně pokyny, jmenovitě jsme udělali oba přijímače jako standardní přijímače namísto pouze jednoho a poté napůl naplnili druhý přijímač XBee. měli jsme dvě možnosti, buď odříznout další části, nebo něco jiného. Vzhledem k tomu, že jsem ještě nenašel lokálně Kill-A-Watt a měl jsem tento externí/interní teploměr, který jsem chtěl počítač používat 10 let, věděl jsem, co mám udělat: K měření jsem musel použít teploměr teplotu mé horké vany a pak ji tweetuji! Nedávno jsem dal Minionovi č. 1 úkol popsat ovladač horké vany bez hranic. Zmínil se, mohli bychom to udělat bezdrátově, ale ne, to je hloupé … Miluji, když se 10letý plán uskuteční. Podívejte se na Twitter

Krok 1: Vytvořte Xbee Recievers

Vybudujte Xbee Recievers
Vybudujte Xbee Recievers

Postavte dva přijímače XBEE. Použil jsem Přijímače od Lady Ada, každý přijímač bude stačit. Budete potřebovat přístup ke kolíku VREF a AD0 XBee. Trikem na Tweet-A-Watt je konfigurace. Ve skutečnosti nastavíte jedno ze zařízení tak, aby opakovalo hodnoty z Kill-A-Watt s: ATMY = 1, SM = 4, ST = 3, SP = C8, D4 = 2, D0 = 2, IT = 13, IR = 1 Nastaví adresu (1), nastaví režim spánku, časovač a periodu a poté nastaví piny 4 a 2 do režimu analogového vstupu (2), který odešle 0x13 (19 desetinných) paketů, 1 ms mezi vzorky Trikem je analogový vstup. Malé napětí (0-5V) můžete číst přímo na XBee. V Tweet-A-Watt byste nastavili piny 4 a 0 pro odesílání zesilovačů a voltů měřených pomocí Kill-A-Watt. Ve skutečnosti to neposílá, ale posílá malé napětí měřené čipy v Kill-A-Watt do přijímače XBee, který je připojen k počítači. Software v počítači neustále čte přijaté pakety a přepočítává skutečné napětí a proud a poté vypočítává příkon.

Krok 2: Teploměr

Teploměr
Teploměr
Teploměr
Teploměr
Teploměr
Teploměr

Koupil jsem dva tyto vnitřní/venkovní teploměry asi před 10 lety z domova. Vždy mě fascinovalo, že se vnější „teploměr“připojil k základní jednotce tím, co vypadalo jako standardní audio konektor. Vždy jsem přemýšlel, jestli bych mohl měřit teplotu zapojením do mikrofonního konektoru v počítači.

Ukázalo se, že bych to pravděpodobně mohl zprovoznit, ale bylo by to ošemetné. Zástrčka je ve skutečnosti 3/32 "jack, místo 1/8 audio konektoru. Toto je standardní zástrčka pro mobilní telefony pro externí mikrofony. To představovalo problém, protože jsem ve svých hromadách harampádí nenašel žádné mikrofonní zástrčky. nebyli povrchová montáž. Musel jsem si koupit sadu Radio Shack (2 dolary), což přidalo velké zpoždění projektu (dostat se do chatrče nebylo snadné). Rozdělil jsem jednu jednotku, než jsem si najednou uvědomil, jak ta věc funguje "Byl to dělič napětí! Bylo to zřejmé, když jsem o tom přemýšlel. Velmi to usnadnilo život."

Krok 3: Co je dělič napětí?

Co je dělič napětí?
Co je dělič napětí?

Jedním z nejlepších míst, kde se dozvědět o elektronice, je Wisconsin Online rozdělovače jsou vysvětleny na této stránce (vpravo dole), nebo můžete navštívit stránku Wikipedie napětí. Stručně řečeno, pokud máte dva odpory v sérii, pokles napětí na každém odporu je v poměru k velikosti rezistoru. Pokud máte napětí V v obvodu R (1) + R (2), pak V = V (1) + V (2). Pokud tedy V = 3V a V (2) = 2V, víte, že V (1) = 1V. Nyní je základem Ohmova zákona, že proud (I) je V/R. V sériovém obvodu je proud v celém obvodu stejný, takže proud skrz A a B je stejný pro celý obvod. Proto I = V1/R1 = V2/R2. Známe V2 = V - V1, zapojením vidíme V1/R1 = (V -V1)/R2. Řešení dostaneme R2 = R1*(V-V1)/V1 Pokud tedy víme, jestli známe V (1), V a R (2), můžeme vyřešit pro R2. Pokud máme R2, známe hodnotu Termistor!

Krok 4: Co je to termistor?

Co je to termistor?
Co je to termistor?

Termistor je odpor, který mění odpor s teplotou. Pomocí technik z děliče napětí ke stanovení odporu můžeme zjistit, jaká je teplota. Problém je v tom, že mám nějaký levný termistor v pouzdře od 10 let starého produktu. Jak jsem měl vytvořit funkci pro přechod z odporu na teplotu? Mám teploměr, do kterého se zapojuje! Takže jsem hodně měřil. Zkopíroval jsem teplotu dolů a poté změřil odpor termistoru. Vložila jsem do lednice, pak jsem dala do teplé vody. Později jsem chytil pokojové teploty, protože jsem měl čas. Domníval jsem se, že bych si mohl přečíst Wikipedii, plage se může pokusit uhodnout faktory a a b, ale předpokládal jsem, že používám nelineární, možnou selhávající součást, která již nevyhovuje její výrobě. Specifikace. A já jsem líný. Takže jsem všechny hodnoty zahodil do Excelu a pak jsem to nakreslil do grafu. Původně jsem se obával, že si musím pamatovat hlubokou temnou matematiku něčeho jako „nejméně čtvercový fit“, když jsem zjistil, že Excell to udělá pro já! Zjevně mi chybí mezery v grafu, ale mám spoustu dobrých údajů o teplotách horké vany (100-105F). Při kontrole teplotních rozsahů v místnosti jsem si všiml něčeho, kvůli čemu je moje práce bezcenná. Teploměr „Přesná teplota“hlásil chybu 3–7 stupňů mezi „vnitřním“a „venkovním“, když byl termistor vzdálený několik palců! Nyní to může být proto, že jsem smísil a spároval termistor mezi jednotkami, ale vsadím se, že to má více vliv na kvalitu 10 let staré položky za 10 $ a bez ohledu na „přesnost“teploty jsem potřeboval přesnost a několik testů stejné rozsah ukázal velmi těsné výsledky po několik dní. V dlouhodobém horizontu pravděpodobně připojím termistor k potrubí vedoucímu do horké vany, takže budu stejně potřebovat offset. Takže tím, že dostanu Excel k zobrazení rovnice, jsem ji pak vložil do kódu a zatím je to „ zavřít."

Krok 5: Obvod vysílače

Obvod vysílače
Obvod vysílače

Obvod vysílače je jednoduchý. Vybral jsem pro R2 odpor 100 kOhm, protože to vypadalo, že se vejde do rozsahu z grafu, a měl jsem náhradní z odpájení různých věcí s Minions. Spojuji to v sérii s termistorem přes konektor. Pak jsem přidal baterii. Spustil jsem 3 V na VREF a horní část děliče napětí a na vstup Xbee +3V. Vložil jsem GND (negativní baterie) na vstup GND a na spodní část děliče. Poté jsem připojil AD0 (Volts in) ke středu obvodu děliče napětí.

AD0 načte relativní napětí z VREF do V (1). Jak tedy baterie klesá, relativní napětí by mělo klesat stejně. Nakonec jednotku napájím místním zdrojem energie. Hotová jednotka fungovala dobře, vše spojujeme krokosvorkami, díky čemuž byla křehká. Poté, co jsem získal připojení 3/32 samice, umístil jsem vysílač do náhodné plastové vany, kterou jsme měli (bývalá nádoba na hummus). To by ji mělo ochránit před povětrnostními vlivy. Jelikož jsem si koupil konektory„ pro montáž na panel “, bylo to tak jednoduché jako vrtání otvoru do plastu, aby se konektor přidal na vnější stranu s docela vodotěsným spojením. Jakmile jsme to měli, bylo načase vyzkoušet.

Krok 6: Domov, domov, nemá dosah

Domov, domov, nemá dosah
Domov, domov, nemá dosah
Domov, domov, nemá dosah
Domov, domov, nemá dosah
Domov, domov, nemá dosah
Domov, domov, nemá dosah

Jednou z prvních věcí, které jsme si všimli, bylo, že rozsah zemřel strašnou smrtí, jakmile jsme vyšli z kanceláře s vysílačem. Zkoušeli jsme to z jiné místnosti a výsledky byly hrozné. 1 stopa to prasklo. Čas podívat se na řešení. Přišlo mi, že kde jsme testovali, měli jsme 4 zdroje Wi Fi do 5 stop, všechny v rozsahu 2,5 Ghz jako Xbee. Také jsme vůbec „nemířili na Xbee. Po průzkumu jsem zjistil, že bych si mohl koupit výkonnější rádio Xbee (asi 23 dolarů) nebo přidat antény. Jednou z věcí, kterou jsem potřeboval, byl dobrý test dosahu. Software X-CTU od společnosti Digi má vestavěný „Test dosahu“, ale nic. Strávil jsem nějaký čas zkoušením, jak to zprovoznit. Ve skutečnosti to bylo jednodušší, než bylo řečeno. Test X-CTU jsem opravdu nepotřeboval, jen Hodnota „Indikátor síly signálu RX“(RSSI). Podíval jsem se na xbee.pyTweet-A-Watt používá a přímo tam, řádek 39: [kód] self.rssi = p [3] [/kód] Což znamená, že je součástí návratové hodnoty Xbee! (xb.rssi ve wattcher), proto jsem pro svůj hack upravil ladicí řádek: print str (counter) + ": RSSI:" + str (xb.rssi) + "| " + time.strftime (" %Y %m %d, %H: %M ") +", " +": Napětí: " + str (CalcualtedVolts) +" avgv " + str (avgv) +" Termistor: " + str (x) + "Teplota:" + str (Teplota), která vytváří řádek takto: 373: RSSI: 82 | 2009 04 26, 11:18,: Napětí: 1.80100585938 avgv 593 Termistor: 71.2276559865 Teplota: 78.6813444881 Můžete viz také RSSI se zpracováním, ze stránky Toma Igoe. Ačkoli budete chtít upravit délku paketu (v horní části), protože zpracování si stěžovalo na zápis za konec velikosti vyrovnávací paměti paketů. Věřím, že musíte být větší než 2 * očekávané délka paketu. Tomův kód hledá zpět předchozí paket, což znamená, že pokud mu chybí indikátor paketu Ox7E, může chvíli běžet. Vzhledem k tomu, že jsem blízko vnějšího okraje měřicího rozsahu, může se to na chvíli stát. Nastavil jsem svůj na 600 a přestalo mi to hlásit „chyba, deaktivace serialEvent ()“. Tomův kód pouze vytiskne nejnovější nastavení, což pro mě není tak užitečné. Moje ladicí linka mě sleduje mění se, jak se diví minion č. 1. Nyní jsme měli dobrý způsob měření, více než „hej tati, máme balíček“, bylo na čase vyzkoušet nějaké nápady na domácí anténu! Pomocí nápadů z https://www.usbwifi.orconhosting.net.nz/ jsem zjistil, že Corner Cube naměřil pokles v dB, i když v praxi se nezdálo, že by pomohl připojit odpojený pár. Vegatible Parník byl ve skutečnosti nejlepší při míření a opětovném připojení. Nastavení USB Wifi se výrazně liší od některých jiných lidí. Napařovače mají dřík uprostřed, což usnadňuje umístění XBee. Slibně se také jeví mísa pho s alobalem (ačkoli jsme alobal později odstranili a drželi na místě). Zkoušeli jsme také vyrobit parabolu s ohýbajícím se kusem horkých kol „sledovat“, ale nezdálo se, že by to pomohlo. Jedním z problémů je, že jsme testovali na vnějším okraji dosahu. Většina rádií 2,5 GHz, zejména XBee, používá rozšířené spektrum, což znamená, že mohou provést „synchronizaci“, a poté software XBee hledá začátek paketu XBee před spuštěním. To znamená, že pokud dosáhnete efektu vše nebo nic. Buď se rádia navzájem zamknou, nebo ne. Někdy to vypadá jako štěstí, ale ve skutečnosti jste v těchto rozsazích anténou a můžete ovlivnit výsledky. Šel jsem koupit dva parníky, ale pak jsem zjistil, že náklady na parník z místního supermarketu byly 10 $ a za cenu 2 parníků mohu získat výkonnější XBee. Podíval jsem se tedy na několik dalších míst a našel jsem docela hluboké sítko, které dopadlo ještě lépe. Bylo to 7 $. Věřím, že hloubka je důležitá, protože jsem na vysílacím konci věcí, odráží více signálu (podle poznámek v https://www.usbwifi.orconhosting.net.nz/number13.jpg). Ukončit výsledky, je, že s napařovačem zeleniny na jednom konci (k výměně) a sítkem na druhém mám signál asi 20-30 metrů, z vnitřní kanceláře, přes 3-4 stěny, ven do vířivky! Pro tip: Nezapomeňte přivést sítko, pokud chcete 1) Váš manžel zůstane a/nebo 2) Chcete dušenou zeleninu později. Osobně se mi líbí okvětní parní hrnec.

Krok 7: Software

Software
Software

Počínaje softwarem Tweet-A-Watt jsem začal hackovat kód pythonu. Většinou jsem potřeboval odstranit převod Watts, funkce historie a poté jsem potřeboval přidat počet dělení 0 ochranami (Tweet-A-Watt předpokládá, že pakety budou mít data). Potom jsem do programu přidal vzorec z Excelu a testován. Nastavil jsem to tak, aby vytiskl každý paket a v kódu mám spoustu ladění, abych zachytil problémy. Pokusil jsem se, aby grafická část fungovala, ale vzdal jsem se, což mě přivádí k: Python Rant: Toto je podruhé, co mám se pokusil udělat velký projekt v Pythonu. V systémech Windows, Windows 64, Ubuntu a Fedora se mi nepodařilo zajistit, aby všechny závislosti na knihovnách a základní balíčky fungovaly za méně než 20 hodin. Nakonec jsem musel postavit téměř vše od nuly a ani tehdy některé funkce nefungovaly. Zkoušel jsem verze 2.4, 2.5, 2.6 a různé verze 3. X a poté verze každé knihovny, které zase měly závislosti na jiných balíčcích. Zatímco jiní mohou mít proti jazyku nadávky, zjistil jsem, že pouhá instalace, a to i za použití mnoha „snadných instalátorů“, bude přinejlepším skličující! Poté, co jsem vypočítal teploty, provedl jsem úpravu o 1 stupeň, protože jsem nemohl uvěřit vířivce byla na 106F. Opravdu nevěřím, že je to také na 105. Pak jsem tweekl logiku hlášení a twitteru. Protože si nejsem jistý, jestli dostanu pakety nebo dobré pakety, rozhodl jsem se hlásit teplotu jednou za hodinu. Předpokládám, že to za chvíli omezím. V současné době skript běží jako normální uživatel. Nakonec to budu chtít přesunout do služby.

Krok 8: Další kroky

Existuje několik zjevných dalších kroků:

1) Vyměňte sítko na zeleninu a. Přisluhovači potřebují svou zeleninu! b. Ten byl stejně starý. 2) Umístěte anténu vířivky pod palubu a. Balíček se může dostat ještě „dál“, ale umožní ošklivější nastavení. b. Poté mohu spustit termistor na spodní stranu a najít lepší místo. 3) Přidejte další senzory a. Snadný je snímač venkovní teploty. b. Neexistuje však žádný důvod, proč bychom nemohli zjistit stav ovládacích panelů, zejména tepelného senzoru, který se magicky dotkne, když děti skončí. C. D. Další senzory počasí (vítr, vlhkost atd.) D. Bylo by hezké ovládat vířivku a mohl bych na většinu noci a dne vypnout topení. 4) Mohu upravit software a. Přisluhovači už chtějí lepší zprávy podle teploty. b. Měli bychom být schopni reagovat na odpovědi a zprávy DM. C. Měl bych tweetovat inteligentněji (méně než jednou za hodinu). d. Mám v plánu další zábavné věci.

Doporučuje: