Obsah:

Tweet-A-Temp: 8 krokov
Tweet-A-Temp: 8 krokov

Video: Tweet-A-Temp: 8 krokov

Video: Tweet-A-Temp: 8 krokov
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Júl
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

S mojím najstarším synom (prisluhovač č. 1) sme začali stavať Tweet-A-Watt a nedodržali sme správne pokyny, konkrétne sme urobili oba prijímače ako štandardné prijímače namiesto toho, aby sme jeden a potom naplnili druhý prijímač XBee polovicou. mali sme dve možnosti, buď odrezať ďalšie diely, alebo niečo iné. Vzhľadom na to, že som ešte nenašiel lokálne zariadenie Kill-A-Watt a mal som tento externý/vnútorný teplomer, ktorý by som chcel počítač používať 10 rokov, vedel som, čo mám urobiť: Na meranie som musel použiť teplomer teplotu mojej vírivky a potom to tweetujem! Nedávno som dal Minionovi č. 1 úlohu, aby som popísal ovládač horúcej vane bez hraníc. Spomenul, no mohli by sme to urobiť bezdrôtovo, ale nie, to je hlúpe … Milujem, keď sa 10-ročný plán naplní. Pozrite sa na Twitter

Krok 1: Zostavte prijímače Xbee

Vybudujte Xbee Recievers
Vybudujte Xbee Recievers

Postavte dva prijímače XBEE. Použil som Prijímače od Lady Ady, každý prijímač bude stačiť. Budete potrebovať prístup k pinom VREF a AD0 XBee. Trik na Tweet-A-Watt je konfigurácia. V skutočnosti nastavíte jedno zo zariadení 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 periódu a potom nastaví kolíky 4 a 2 do režimu analógového vstupu (2), ktorý odošle pakety 0x13 (19 desatinných miest), 1 ms medzi vzorkami. Trikom je analógový vstup. Malé napätie (0-5 V) môžete čítať priamo na XBee. V Tweet-A-Watt by ste nastavili piny 4 a 0 na odosielanie ampérov a voltov meraných pomocou Kill-A-Watt. V skutočnosti to neposiela, ale posiela malé napätie namerané čipmi v Kill-A-Watt do prijímača XBee, ktorý je pripojený k počítaču. Softvér v počítači neustále číta prijaté pakety a prepočítava skutočné napätie a prúd a potom vypočíta výkon.

Krok 2: Teplomer

Teplomer
Teplomer
Teplomer
Teplomer
Teplomer
Teplomer

Kúpil som dva z týchto vnútorných/vonkajších teplomerov asi pred 10 rokmi z domáceho skladu. Vždy ma fascinovalo, že vonkajší „teplomer“bol zapojený do základnej jednotky tým, čo vyzeralo ako štandardná zvuková zástrčka. Vždy ma zaujímalo, či môžem merať teplotu zapojením tohto konektora do konektora mikrofónu v počítači.

Ukázalo sa, že by som to pravdepodobne mohol zvládnuť, ale bolo by to náročné. Zástrčka je v skutočnosti 3/32 konektor, namiesto 1/8 zvukovej zástrčky. Toto je štandardná zástrčka pre mobilné telefóny pre externé mikrofóny. To predstavovalo problém, pretože som v hromadách nevyžiadanej pošty nenašiel žiadne mikrofónové zástrčky. neboli na povrchovú montáž. Musel som si kúpiť súpravu Radio Shack (2 doláre), čo projekt výrazne zdržalo (dostať sa do chatrče nebolo jednoduché). Rozobral som jednu jednotku, než som si zrazu uvedomil, ako tá vec funguje „Bol to delič napätia! Bolo to zrejmé, keď som o tom premýšľal. Veľmi mi to uľahčilo život.

Krok 3: Čo je rozdeľovač napätia?

Čo je rozdeľovač napätia?
Čo je rozdeľovač napätia?

Jedným z najlepších miest, kde sa môžete dozvedieť viac o elektronike, je Wisconsin Online rozdeľovače sú vysvetlené na tejto stránke (vpravo dole), alebo môžete navštíviť stránku Wikipédie napätia. Stručne povedané, ak máte dva odpory v sérii, pokles napätia na každom odpore je v pomere k veľkosti rezistora. Ak máte napätie V v obvode R (1) + R (2), potom V = V (1) + V (2). Takže ak V = 3V a V (2) = 2V, viete, že V (1) = 1V. Teraz je základom Ohmovho zákona, že prúd (I) je V/R. V sériovom obvode je prúd v celom obvode rovnaký, takže prúd cez A a B je rovnaký pre celý obvod. Preto I = V1/R1 = V2/R2. Vieme, že V2 = V - V1, zapojením vidíme V1/R1 = (V -V1)/R2. Riešením dostaneme R2 = R1*(V-V1)/V1 Takže ak vieme, či poznáme V (1), V a R (2), môžeme vyriešiť R2. Ak máme R2, poznáme hodnotu Termistor!

Krok 4: Čo je to termistor?

Čo je to termistor?
Čo je to termistor?

Termistor je odpor, ktorý mení odpor s teplotou. Pomocou techník z rozdeľovača napätia na určenie odporu dokážeme zistiť, aká je teplota. Problém je v tom, že mám nejaký lacný termistor v kryte od 10 -ročného produktu. Ako som mal vytvoriť funkciu na prechod z odporu na teplotu? Mám teplomer, do ktorého sa zapája! Takže som veľa meral. Skopíroval som teplotu a potom zmeral odpor termistora. Vložila som do chladničky a potom vložila do teplej vody. Neskôr som chytil izbové teploty, pretože som mal čas. Predpokladal som, že by som si mohol prečítať plagát Wikipédie, a pokúsil sa uhádnuť faktory a a b, ale predpokladal som, že používam nelineárnu, možnú poruchovú zložku, ktorá už nevyhovuje jej výrobe. technické údaje. Och a ja som lenivý. Všetky hodnoty som teda zahodil do Excelu a potom som ich vykreslil do grafu. Pôvodne som sa obával, že si budem musieť zapamätať hlbokú temnú matematiku niečoho ako „najmenej štvorcový tvar“, keď som zistil, že Excell to urobí za ja! Očividne mi v grafe chýbajú medzery, ale získal som veľa dobrých údajov o teplotách vírivky (100-105 ° F). Pri kontrole rozsahov teplôt v miestnosti som si všimol niečo, čo takmer robí moju prácu bezcennou. Teplomer „Presná teplota“hlásil chybu 3-7 stupňov medzi „vnútorným“a „vonkajším“, keď bol termistor vzdialený niekoľko palcov! Teraz to môže byť tým, že som zmiešal a spároval termistor medzi jednotkami, ale stavím sa, že to má viac do činenia s kvalitou 10 -ročnej položky za 10 dolárov a bez ohľadu na „presnosť“teploty som potreboval presnosť a viacnásobné testy toho istého rozsah ukázal veľmi blízke výsledky v priebehu dní. Z dlhodobého hľadiska pravdepodobne pripojím termistor na potrubie vedúce do horúcej vane, takže aj tak budem potrebovať posun. Takže tým, že dostanem rovnicu k zobrazeniu v Exceli, vložím ju do kódu a zatiaľ je „ Zavrieť."

Krok 5: Obvod vysielača

Obvod vysielača
Obvod vysielača

Obvod vysielača je jednoduchý. Vybral som odpor 100 kOhm pre R2, pretože to vyzeralo, že sa zmestí do rozsahu z grafu, a mal som náhradný na odpájanie rôznych vecí pomocou Minions. Pripojujem to sériovo s termistorom cez konektor. Potom som pridal batériu. Spustil som 3 V na VREF a hornú časť rozdeľovača napätia a na vstup Xbee +3V. GND (negatív batérie) som vložil na vstup GND a na spodok rozdeľovača. Potom som pripojil AD0 (Volty v) do stredu obvodu rozdeľovača napätia.

AD0 bude čítať relatívne napätie z VREF do V (1). Takže keď batéria klesá, relatívne napätie by malo klesať rovnako. Nakoniec jednotku napájam z miestneho zdroja energie. Hotový celok fungoval dobre, všetko spájame pomocou aligátorových svoriek, vďaka ktorým bol krehký. Potom, čo som dostal ženské 3/32 pripojenie, umiestnil som vysielač do náhodnej plastovej vane, ktorú sme mali (bývalá nádoba na hummus). To by ho malo chrániť pred poveternostnými vplyvmi. Keďže som si kúpil konektory„ na panel “, bolo to také jednoduché ako vŕtanie otvoru do plastu na pridanie konektora von s pomerne vodotesným spojením. Keď sme to mali, bolo načase otestovať.

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

Jedna z prvých vecí, ktoré sme si všimli, bolo, že rozsah zomrel strašnou smrťou, hneď ako sme vyšli z kancelárie s vysielačom. Skúšali sme to z inej miestnosti a výsledky boli hrozné. 1 stopa preč to prasklo. Čas pozrieť sa na riešenia. Prišlo mi, že kde sme testovali, mali sme 4 zdroje Wi Fi do 5 stôp, všetky v rozsahu 2,5 Ghz ako Xbee. Tiež sme vôbec „nemierili na Xbee. Po skúmaní som zistil, že by som si mohol kúpiť výkonnejšie rádio Xbee (asi 23 dolárov) alebo pridať antény. Jednou z vecí, ktoré som potreboval, bol dobrý test dosahu. Softvér X-CTU od spoločnosti Digi má zabudovaný „test rozsahu“, ale nič. Strávil som nejaký čas skúšaním, ako to zabezpečiť, aby to fungovalo. V skutočnosti to bolo jednoduchšie, ako sa hovorí. Test X-CTU som v skutočnosti nepotreboval, iba Hodnota „Indikátor sily signálu RX“(RSSI). Pozrel som sa na použitie xbee.pyTweet-A-Watt a priamo tam, riadok 39: [kód] self.rssi = p [3] [/kód] Čo znamená, že je súčasťou návratovej hodnoty Xbee! (xb.rssi vo wattcher), tak som upravil ladiaci riadok pre môj hack: print str (counter) + ": RSSI:" + str (xb.rssi) + "| " + time.strftime (" %Y %m %d, %H: %M ") +", " +": Napätie: " + str (CalcualtedVolts) +" avgv " + str (avgv) +" Termistor: " + str (x) + "Teplota:" + str (teplota), ktorá vytvára nasledujúci riadok: 373: RSSI: 82 | 2009 04 26, 11:18,: Napätie: 1,80100585938 avgv 593 Termistor: 71.2276559865 Teplota: 78.6813444881 Môžete pozri tiež RSSI so spracovaním, zo stránky Toma Igoea. Aj keď budete chcieť upraviť dĺžku paketu (v hornej časti), pretože Processing sa sťažoval na zápis za koniec veľkosti vyrovnávacej pamäte paketov. Verím, že musíte byť väčší ako 2 * očakávaný dĺžka paketu. Tomov kód hľadá predchádzajúci paket dozadu, čo znamená, že ak mu chýba indikátor paketu Ox7E, môže chvíľu bežať. Vzhľadom na to, že som blízko vonkajšieho okraja meracieho rozsahu, môže sa to na chvíľu stať. Nastavil som svoj na 600 a prestalo mi to hlásiť „chyba, deaktivácia serialEvent ()“. Tomov kód iba vytlačí najnovšie nastavenie, ktoré pre mňa nie je také užitočné. Môj ladiaci riadok, sledujem ma mení sa, ako sa čuduje Minion #1. Teraz sme mali dobrý spôsob merania, viac ako „hej, otec máme balíček“, bolo načase vyskúšať si niekoľko nápadov na domácu varnú anténu! Použitím myšlienok z https://www.usbwifi.orconhosting.net.nz/ som zistil, že rohová kocka merala pokles dB, aj keď sa v praxi nezdalo, že by pomohol pripojiť odpojený pár. Vegatible Parník bol v skutočnosti najlepší pri mierení a opätovnom pripájaní. Nastavenie USB Wifi sa výrazne líši od niektorých iných ľudí. Naparovače majú v strede driek, ktorý uľahčuje umiestnenie XBee. Sľubná je aj miska pho s cínovou fóliou (aj keď sme alicu neskôr odstránili a držali na mieste). Skúsili sme tiež vytvoriť parabolu s ohýbajúcim sa kusom horúcich kolies "na trati", ale nezdalo sa, že by to pomohlo. Jedným z problémov je, že sme testovali na vonkajšom okraji radu. Väčšina rádiových frekvencií 2,5 GHz, najmä XBee, používa rozšírené spektrum, čo znamená, že môžu vykonať „synchronizáciu“, ale potom softvér XBee hľadá pred spustením začiatok paketu XBee. To znamená, že ak dosiahnete efekt všetko alebo nič. Buď sa rádiá navzájom uzamknú, alebo nie. Niekedy to vyzerá ako šťastie, ale v skutočnosti ste v týchto rozsahoch anténou a môže to mať vplyv na výsledky. Išiel som kúpiť dva parníky, ale potom som zistil, že cena parníka z miestneho supermarketu je 10 dolárov a za cenu 2 parníkov môžem získať výkonnejší XBee. Pozrel som sa teda na niekoľko ďalších miest a našiel som dosť hlboké sitko, ktoré dopadlo ešte lepšie. Bolo to 7 dolárov. Verím, že hĺbka je dôležitá, pretože som na vysielacom konci vecí, odráža viac signálu (podľa poznámok v https://www.usbwifi.orconhosting.net.nz/number13.jpg). Ukončiť výsledky, je, že s naparovačom zeleniny na jednom konci (treba vymeniť) a sitkom na druhom mám signál asi 20-30 m, od vnútornej kancelárie, cez 3-4 steny, von do vírivky! Tip pre profesionálov: Pamätajte si priniesť sitko, ak chcete 1) Váš manžel/manželka, aby zostal, a/alebo 2) Chcete zeleninu v pare neskôr. Osobne sa mi páči okvetný parný hrniec.

Krok 7: Softvér

Softvér
Softvér

Počnúc softvérom Tweet-A-Watt som začal hackovať kód pythonu. Väčšinou som potreboval odstrániť konverziu Wattov, funkcie histórie a potom som potreboval pridať množstvo delení 0 ochranami (Tweet-A-Watt predpokladá, že pakety budú mať údaje). Potom som do programu pridal vzorec z Excelu a otestoval som ho. Nastavil som tak, aby vytlačil každý paket a v kóde mám veľa debugov, aby som zachytil problémy. Pokúsil som sa, aby grafická časť fungovala, ale vzdal som to, a tak som sa dostal k nasledujúcemu: Python Rant: Toto je druhýkrát, čo mám sa pokúsil urobiť veľký projekt v Pythone. V systémoch Windows, Windows 64, Ubuntu a Fedora sa mi nepodarilo spustiť všetky závislosti od knižníc a základné balíky do 20 hodín. Nakoniec som musel postaviť takmer všetko od začiatku a ani vtedy niektoré funkcie nefungovali. Skúšal som verzie 2.4, 2.5, 2.6 a rôzne 3. X a potom verzie každej knižnice, ktoré boli zase závislé od iných balíkov. Aj keď iní môžu mať odpor voči jazyku, zistil som, že iba inštalácia, a to aj pri použití mnohých „jednoduchých inštalátorov“, je prinajlepšom skľučujúcich! Keď som vypočítal teploty, urobil som úpravu o 1 stupeň, pretože som neveril vírivke. bol na 106F. Naozaj neverím, že je to aj na 105. Potom som twekoval logiku reportovania a twitteru. Pretože si nie som istý, či dostanem pakety alebo dobré pakety, rozhodol som sa nahlásiť teplotu raz za hodinu. Predpokladám, že to o chvíľu obmedzím. V súčasnej dobe je skript spustený ako normálny používateľ. Nakoniec to budem chcieť presunúť do služby.

Krok 8: Ďalšie kroky

Existuje niekoľko očividných ďalších krokov:

1) Vymeňte sitko na zeleninu a. Prisluhovači potrebujú svoju zeleninu! b. Ten bol aj tak starý. 2) Umiestnite anténu vírivky pod palubu a. Balíček sa môže dostať ešte „ďalej“, ale umožní škaredšie nastavenie. b. Potom môžem spustiť termistor na spodnú stranu a nájsť lepšie miesto. 3) Pridajte ďalšie senzory a. Jednoduchým je snímač vonkajšej teploty. b. Neexistuje však dôvod, prečo by sme nemohli zistiť stav ovládacích panelov, najmä tepelného senzora, ktorý sa magicky dotkne, keď deti skončia. c. Ostatné snímače počasia (vietor, vlhkosť atď.) D. Bolo by pekné ovládať vírivku a mohol by som vypnúť kúrenie na veľkú časť noci a dňa. 4) Môžem prispôsobiť softvér a. Prisluhovači už chcú lepšie správy podľa teploty. b. Mali by sme byť schopní reagovať na odpovede a správy DM. c. Mal by som pípať inteligentnejšie (menej ako raz za hodinu). d. Mám v pláne ďalšie zábavné veci.

Odporúča: