Sadržaj:

Tweet-A-Temp: 8 koraka
Tweet-A-Temp: 8 koraka

Video: Tweet-A-Temp: 8 koraka

Video: Tweet-A-Temp: 8 koraka
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Studeni
Anonim

Napisali Z0tZot -ovi Homebrew eksperimentiSlijedi više od autora:

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

Moj najstariji sin (Minion #1) i ja počeli smo graditi Tweet-A-Watt i nismo uspjeli slijediti upute ispravno, naime napravili smo oba prijemnika kao standardne prijemnike umjesto samo jednog, a zatim upola popunili drugi prijemnik XBee. imali smo dva izbora, ili odrezati dodatne dijelove, ili nešto drugo. S obzirom da još nisam lokalno pronašao Kill-A-Watt, a imao sam vanjski/unutarnji termometar koji sam želio kompjuterizirati 10 godina, znao sam što moram učiniti: morao sam upotrijebiti termometar za mjerenje temperaturu moje vruće kade, a zatim je tweetajte! Nedavno sam dao Minionu #1 zadatak da opiše kontroler vruće kade bez granica. Spomenuo je, pa mogli bismo to učiniti bežičnim, ali ne, to je glupo … Volim kad se desetogodišnji plan ostvari. Vidite to na Twitteru

Korak 1: Izgradite Xbee prijemnike

Napravite Xbee prijemnike
Napravite Xbee prijemnike

Napravite dva XBEE prijemnika. Koristio sam prijemnike Lady Ada, bilo koji prijemnik će to učiniti. Trebat će vam pristup XBeejevom VREF i AD0 pinu. Trik u Tweet-A-Wattu je konfiguracija. U stvari, podesili ste jedan od uređaja da ponavlja vrijednosti iz Kill-A-Watta sa: ATMY = 1, SM = 4, ST = 3, SP = C8, D4 = 2, D0 = 2, IT = 13, IR = 1 Ovo postavlja adresu (1), postavlja način mirovanja, mjerač vremena i razdoblje, a zatim postavlja pinove 4 i 2 u način analognog ulaza (2), koji će poslati 0x13 (19 decimalnih) paketa, 1 ms između uzoraka. Trik ovdje je analogni ulaz. Možete čitati male napone (0-5V) izravno putem XBee-a. U Tweet-A-Watt postavili biste pinove 4 i 0 za slanje pojačala i volta izmjerenih Kill-A-Watt. U stvarnosti to ne šalje, već šalje mali napon izmjeren čipovima u Kill-A-Watt prijemniku XBee koji je priključen na računalo. Softver na računalu stalno čita primljene pakete i ponovno izračunava stvarni napon i amperažu, a zatim izračunava snagu.

Korak 2: Termometar

Termometar
Termometar
Termometar
Termometar
Termometar
Termometar

Kupio sam dva ova termometra za zatvorene/vanjske prostore prije otprilike 10 godina od kućnog skladišta. Uvijek me fasciniralo što je vanjski "termometar" spojen na bazu s nečim što je izgledalo kao standardni audio utikač. Uvijek sam se pitao mogu li mjeriti temperaturu tako da ovo priključim u utičnicu za mikrofon na računalu.

Ispostavilo se da bih vjerojatno mogao uspjeti, ali bilo bi teško. Utikač je zapravo 3/32 utičnica, umjesto audio priključka 1/8. Ovo je standardni utikač za mobitele za vanjske mikrofone. To je predstavljalo problem jer nisam mogao pronaći mikrofonske utičnice u hrpi smeća koje Morali su kupiti komplet za radio Shack (2 USD), što je povećalo kašnjenje u projektu (doći do kolibe nije bilo lako). Rastavio sam jednu jedinicu prije nego što sam odjednom shvatio kako ta stvar funkcionira, to je bio razdjelnik napona! Bilo je očito kad sam razmislio o tome. To je život učinilo vrlo lakim.

Korak 3: Što je djelitelj napona?

Što je djelitelj napona?
Što je djelitelj napona?

Jedno od najboljih mjesta za učenje o elektronici su Wisconsin Online razdjelnici objašnjeni na toj stranici (dolje desno) ili možete posjetiti stranicu Voltage Wikipedia. Ukratko, ako imate dva otpornika u nizu, pad napona na svakom otporniku je proporcionalno veličini otpornika. Ako imate napon V u krugu od R (1) + R (2), tada je V = V (1) + V (2). Dakle, ako je V = 3V i V (2) = 2V, znate da je V (1) = 1V. Sada je osnova Ohmovog zakona da je struja (I) V/R. U serijskom krugu, struja je u cijelom jednaka, pa je struja kroz A i B ista za cijeli krug. Stoga je I = V1/R1 = V2/R2. Znamo V2 = V - V1, Uključivanjem, vidimo V1/R1 = (V -V1)/R2. Rješavanjem dobivamo R2 = R1*(V-V1)/V1 Dakle, ako znamo znamo li V (1), V i R (2), možemo riješiti za R2. Ako imamo R2, znamo vrijednost Termistor!

Korak 4: Što je termistor?

Što je termistor?
Što je termistor?

Termistor je otpornik koji mijenja otpor s temperaturom. Koristeći tehnike iz razdjelnika napona za određivanje otpora, možemo reći koja je to temperatura. Problem je u tome što imam neki jeftini termistor u kućištu od proizvoda starog 10 godina. Kako sam trebao stvoriti funkciju za prelazak s otpora na temperaturu? Pa, ja imam termometar u koji se uključuje! Pa sam puno mjerio. Kopirao sam temperaturu i izmjerio otpor termistora. Stavila sam ga u hladnjak, a zatim ga stavila u toplu vodu. Kasnije bih zgrabio sobnu temperaturu budući da sam imao vremena. Pretpostavio sam da sam mogao pročitati stranicu Wikipedije pokušao pogoditi faktore a i b, ali pretpostavio sam da koristim nelinearnu, moguću grešku komponentu koja joj više nije odgovarala u proizvodnji tehnički podaci. Oh, i ja sam lijen. Pa sam izbacio sve vrijednosti u Excel, a zatim ih iscrtao. Prvotno sam bio zabrinut da se moram prisjetiti duboke mračne matematike nečeg poput "najmanje odgovarajućeg kvadrata" kad sam otkrio da će Excel to učiniti za Očigledno mi nedostaju praznine na grafikonu, ali imam puno dobrih podataka o temperaturama vruće kade (100-105F). Dok sam provjeravao raspone sobne temperature, primijetio sam nešto, što moj rad gotovo čini bezvrijednim. Termometar "Precise Temp" izvijestio je o pogrešci od 3-7 stupnjeva između "unutarnjeg" i "vanjskog" prostora kada je termistor bio udaljen nekoliko centimetara! To bi moglo biti zato što sam pomiješao i uskladio termistor između jedinica, ali kladim se da to ima više zbog kvalitete desetogodišnjeg djeteta, stavke od 10 USD. Bez obzira na "točnost" temperature, trebali su mi preciznost i višestruki testovi istih raspon je danima pokazao vrlo bliske rezultate. Dugoročno ću vjerojatno priključiti termistor na cijev koja vodi u vruću kadu, pa će mi ionako trebati pomak. Tako da sam natjerao Excel da prikaže jednadžbu, stavio sam ga u kôd, i do sada je to " Zatvoriti."

Korak 5: Krug odašiljača

Krug odašiljača
Krug odašiljača

Krug odašiljača je jednostavan. Odabrao sam otpornik od 100 kOhm za R2 jer je izgledalo da će odgovarati rasponu s grafikona, a imao sam i jedan rezervni od raspakiranja raznih stvari s Minionima. Ovo serijski povezujem s termistorom preko konektora. Zatim sam dodao bateriju. I Prošao sam 3 V do VREF i vrh razdjelnika napona i na ulaz Xbee +3V. Stavio sam GND (Battery Negative) na GND ulaz i na dno razdjelnika. Zatim sam spojio AD0 (Volti u) na sredinu kruga razdjelnika napona.

AD0 će očitati relativni napon od VREF do V (1). Dakle, kako se baterija smanjuje, relativni napon bi trebao isto pasti. Na kraju ću napajati jedinicu lokalnim izvorom napajanja. Gotova jedinica je radila dobro, sve povezujemo štipaljkama od aligatora, što ju je učinilo krhkom. Nakon što sam dobio ženski 3/32 "priključak, postavio sam odašiljač u slučajnu plastičnu kadu koju smo imali (ex-hummus spremnik). To bi ga trebalo zaštititi od vremenskih uvjeta. Budući da sam kupio" panel mount "konektore, bilo je jednostavno kao bušenje rupe u plastici za dodavanje konektora izvana s prilično vodootpornom vezom. Nakon što smo to imali vrijeme je za testiranje.

Korak 6: Dom, dom, nema dometa

Dom, dom, nema dometa
Dom, dom, nema dometa
Dom, dom, nema dometa
Dom, dom, nema dometa
Dom, dom, nema dometa
Dom, dom, nema dometa

Jedna od prvih stvari koje smo primijetili bila je da je domet umro užasnom smrću čim smo izašli iz ureda s odašiljačem. Pokušali smo iz druge sobe, a rezultati su bili užasni. 1 metar dalje ispalo je. Vrijeme je da pogledamo rješenja. Palo mi je na pamet da smo tamo gdje smo testirali imali 4 izvora Wi -Fi -ja unutar 5 stopa, svi u rasponu od 2,5 GHz kao Xbee. Također nismo uopće "ciljali Xbee. Nakon istraživanja utvrdio sam da bih mogao kupiti snažniji Xbee radio (oko 23 USD) ili dodati antene. Jedna od stvari koje su mi trebale bio je dobar test dometa. Softver X-CTU iz Digija ima ugrađen "Range Test", ali nije ništa učinio. Neko sam vrijeme pokušavao gto smisliti kako to učiniti. Zapravo je to bilo lakše učiniti nego što je rečeno. Nije mi trebao X-CTU test, samo Vrijednost "pokazatelja jačine signala RX-a" (RSSI). Pogledao sam u xbee.pyTweet-A-Watt koristi i upravo tamo, redak 39: [code] self.rssi = p [3] [/code] Što znači da je dio povratne vrijednosti Xbee! (xb.rssi u wattcher -u), pa sam izmijenio redak za otklanjanje pogrešaka za svoj hack: print str (counter) + ": RSSI:" + str (xb.rssi) + "| " + time.strftime (" %Y %m %d, %H: %M ") +", " +": Napon: " + str (Izračunati volti) +" avgv " + str (avgv) +" Termistor: " + str (x) + "Temperatura:" + str (Temperatura) Što proizvodi liniju poput ove: 373: RSSI: 82 | 2009 04 26, 11:18,: Napon: 1.80100585938 avgv 593 Termistor: 71.2276559865 Temperatura: 78.6813444881 Možete također pogledajte RSSI s obradom, sa stranice Tom's Igoe. Iako ćete htjeti izmijeniti duljinu paketa (pri vrhu), jer se Processing žalio na pisanje iza kraja veličine međuspremnika paketa. Vjerujem da morate biti veći od 2 * duljina paketa. Tomov kod gleda unatrag za prethodni paket što znači da ako propusti indikator paketa Ox7E, mogao bi se pokrenuti neko vrijeme. S obzirom da sam blizu vanjskog ruba mjernog područja, to se može dogoditi neko vrijeme. Postavio sam svoj na 600 i prestao mi je davati poruku "greška, onemogućavanje serialEvent ()". Tomov kod samo ispisuje najnoviju postavku, što mi nije toliko korisno. mijenja se dok se Minion #1 čudi. Sada smo imali dobar način mjerenja, više od "hej tata, imamo paket", bilo je vrijeme da isprobamo neke ideje za antene za domaću kavu! Koristeći ideje s https://www.usbwifi.orconhosting.net.nz/ otkrio sam da je kutna kocka mjerila smanjenje dB, iako se u praksi nije činilo da pomaže u povezivanju nepovezanog para. Vegatible Steamer je zapravo bio najbolji u ciljanju i ponovnom povezivanju. Postavljanje USB Wifi -a mnogo se razlikuje od nekih drugih ljudi. Aparati za paru imaju stabljiku u sredini što olakšava postavljanje XBee -a. Folu zdjela s limenom folijom također izgleda obećavajuće (iako smo kasnije samo uklonili limenu foliju i držali je na mjestu). Također smo pokušali napraviti parabolu sa savijanjem vrućih kotača "track", ali čini se da nije pomoglo. Jedan od problema je što smo testirali na vanjskom rubu dometa. Većina radija od 2,5 GHz, posebno XBee, koristi spread Spectrum, što znači da mogu uzeti samo "sinkronizaciju", a zatim softver XBee traži početak XBee paketa prije okidača. To znači ako dobijete učinak sve ili ništa. Ili se radiji međusobno zaključavaju ili ne. Ponekad se čini kao sreća, ali zapravo ste antena na tim rasponima i možete utjecati na rezultate. Otišao sam kupiti dva aparata za paru, ali sam tada ustanovio da je cijena parobroda iz lokalnog supermarketa 10 USD, a za cijenu od 2 parovalke mogu nabaviti moćniji XBee. Pa sam pogledao još nekoliko mjesta i našao prilično duboko cjedilo koje se pokazalo još boljim. Bilo je 7 dolara. Vjerujem da je dubina važna, budući da sam na putu odašiljanja stvari, on odražava više signala (prema bilješkama na https://www.usbwifi.orconhosting.net.nz/number13.jpg). Krajnji rezultati, je da s aparatom za kuhanje povrća na jednom kraju (koji se mijenja) i cjediljkom na drugom, imam signal oko 20-30 m, od unutarnjeg ureda, kroz 3-4 zida, do hidromasažne kade! Savjet za stručnjake: Zapamtite da biste donijeli cjediljku ako želite 1) Vaš supružnik ostaje i/ili 2) Kasnije želite povrće kuhano na pari. Osobno mi se sviđa izgled aparata za kuhanje povrća nalik laticama.

Korak 7: Softver

Softver
Softver

Počevši od Tweet-A-Wattsoftwarea počeo sam hakirati python kod. Uglavnom sam trebao ukloniti Wattsovu konverziju, povijesne funkcije, a zatim sam trebao dodati niz podjela s 0 zaštite (Tweet-A-Watt pretpostavlja da će paketi imati podatke). Zatim sam u program dodao formulu iz Excela i testirao. Postavio sam ga da ispisuje svaki paket, a u kodu imam puno otklanjanja pogrešaka kako bih uhvatio probleme. Pokušao sam pokrenuti grafički dio, ali odustao sam što me dovodi do: Python Rant: Ovo je drugi put da imam pokušao napraviti veliki projekt u Pythonu. Nisam mogao postići da sve ovisnosti o knjižnicama i osnovni paketi rade za manje od 20 sati u sustavu Windows, Windows 64, Ubuntu i Fedora. Konačno sam morao izgraditi gotovo sve od nule, a čak i tada neke funkcije nisu radile. Isprobao sam verzije 2.4, 2.5, 2.6 i razne 3. X, a zatim i verzije svake knjižnice, koje su pak imale ovisnosti o drugim paketima. Iako drugi možda negoduju protiv jezika, otkrio sam da sam samo instalirao, čak i koristeći mnoge od "lakih instalatera" koji su u najboljem slučaju bili zastrašujući! Nakon što sam izračunao temperature, napravio sam prilagodbu od 1 stupanj, jer nisam mogao vjerovati u hidromasažnoj kadi bilo na 106F. Ni ja stvarno ne vjerujem da je na 105. Zatim sam dotjerao logiku izvješćivanja i twittera. Budući da nisam siguran hoću li dobiti pakete ili dobre pakete, odlučio sam prijaviti temp jednom u satu. Pretpostavljam da ću to smanjiti za neko vrijeme. Trenutačno se skripta izvodi kao normalan korisnik. Na kraju ću ga htjeti premjestiti u servis.

Korak 8: Sljedeći koraci

Postoji nekoliko očitih sljedećih koraka:

1) Zamijenite cjediljku za povrće a. Minionima je potrebno njihovo povrće! b. Taj je ionako bio star. 2) Postavite Hot Tub antenu ispod palube a. Paluba bi mogla učiniti još "daljnjim", ali će omogućiti ružnije postavljanje. b. Zatim mogu odvesti termistor dolje i pronaći bolje mjesto. 3) Dodajte još senzora a. Jednostavan je senzor vanjske temperature. b. No, nema razloga da ne možemo otkriti stanje upravljačkih ploča, posebno osjetnika topline koji se čarobno dodiruje kad djeca završe. c. Ostali vremenski senzori (vjetar, vlaga itd.) D. Bilo bi lijepo kontrolirati hidromasažnu kadu i mogao bih isključiti grijanje veći dio noći i dana. 4) Mogu prilagoditi softver a. Minioni već žele bolje poruke po temperaturi. b. Morali bismo moći odgovarati na odgovore i DM -ove. c. Trebao bih tvitati inteligentnije (manje od jednom na sat). d. Imam u planu neke druge zabavne stvari.

Preporučeni: