Cuprins:

Tweet-A-Temp: 8 pași
Tweet-A-Temp: 8 pași

Video: Tweet-A-Temp: 8 pași

Video: Tweet-A-Temp: 8 pași
Video: Cum sa ADORMI REPEDE - TOP 8 tehnici pentru a adormi in mai putin de 1 MINUT 2024, Iulie
Anonim

De experimente Homebrew ale lui Z0tZot Urmăriți mai multe de la autor:

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

Fiul meu cel mare (Minion # 1) și cu mine am început să construim un Tweet-A-Watt și nu am reușit să urmăm instrucțiunile corect, și anume am făcut ambele receptoare ca receptoare standard în loc de unul singur și apoi populăm pe jumătate al doilea receptor XBee. am avut două opțiuni, fie tăiați părțile suplimentare, fie altceva. Având în vedere că încă nu am găsit un Kill-A-Watt la nivel local și aveam acest termometru extern / intern pe care doream să îl computerizez de 10 ani, știam ce trebuie să fac: trebuia să folosesc termometrul pentru a măsura Temperatura căzii mele cu hidromasaj și apoi a trimis-o pe Twitter! Am dat recent Minionului # 1 o misiune de a descrie un controler de cadă cu hidromasaj fără limite. El a menționat, ei bine, am putea face wireless, dar nu, este o prostie … Îmi place când un plan de 10 ani se realizează. Vezi-l pe Twitter

Pasul 1: Construiți Xbee Recievers

Construiește Xbee Recievers
Construiește Xbee Recievers

Construiți două receptoare XBEE. Am folosit receptorii de la Lady Ada, orice receptor va face. Veți avea nevoie de acces la pinul VREF și AD0 al XBee. Trucul pentru Tweet-A-Watt este configurația. De fapt, setați unul dintre dispozitive pentru a repeta valorile din Kill-A-Watt cu: ATMY = 1, SM = 4, ST = 3, SP = C8, D4 = 2, D0 = 2, IT = 13, IR = 1 Aceasta setează adresa (1), setează modul de repaus, temporizatorul și perioada, apoi setează pinii 4 și 2 în modul de intrare analogică (2), care va trimite pachete 0x13 (19 zecimale), 1 ms între probe. Trucul aici este Intrarea analogică. Puteți citi tensiuni mici (0-5V) direct de XBee. În Tweet-A-Watt ați seta pinii 4 și 0 pentru a trimite amperi și volți măsurați de Kill-A-Watt. În realitate, nu trimite asta, trimite tensiunea mică măsurată de cipurile din Kill-A-Watt către receptorul XBee care este atașat la un computer. Software-ul de pe computer citește în mod constant pachetele primite și recalculează tensiunea reală și amperajul, apoi calculează puterea.

Pasul 2: Termometrul

Termometrul
Termometrul
Termometrul
Termometrul
Termometrul
Termometrul

Am cumpărat două dintre aceste termometre de interior / exterior în urmă cu aproximativ 10 ani de la depozitul de acasă. M-a fascinat întotdeauna faptul că „termometrul” exterior a fost conectat la unitatea de bază cu ceea ce arăta ca o mufă audio standard. M-am întrebat întotdeauna dacă aș putea măsura temperatura conectând aceasta la o mufă de microfon de pe computer.

Se pare că probabil aș putea să funcționeze, dar ar fi dificil. Fișa este de fapt o mufă de 3/32 , în loc de o mufă audio de 1/8. Aceasta este mufa standard pentru telefoanele mobile pentru microfoane externe. Aceasta a prezentat o problemă, deoarece nu am putut găsi niciun fel de mufe de microfon în grămezile mele de gunoi care nu au fost montate pe suprafață. A trebuit să cumpăr un set de Radio Shack (2 USD), care a adăugat o întârziere majoră la proiect (a ajunge la o cabană nu a fost ușor)., a fost un divizor de tensiune! A fost evident odată ce m-am gândit la asta. A făcut viața foarte ușoară.

Pasul 3: Ce este un divizor de tensiune?

Ce este un divizor de tensiune?
Ce este un divizor de tensiune?

Unul dintre cele mai bune locuri de învățat despre electronice este Wisconsin Online, separatoarele online sunt explicate în acea pagină (dreapta jos) sau puteți vizita pagina Voltage Wikipedia. Pe scurt, dacă aveți două rezistențe în serie, căderea de tensiune pe fiecare rezistor este proporțional cu dimensiunea rezistorului. Dacă aveți tensiune V pe un circuit de R (1) + R (2), atunci V = V (1) + V (2). Deci, dacă V = 3V și V (2) = 2V, știți că V (1) = 1 V. Acum baza Legii lui Ohm este că curentul (I) este V / R. Într-un circuit de serie, curentul este același pe tot parcursul, deci curentul prin A și B este același pentru întregul circuit. Prin urmare, I = V1 / R1 = V2 / R2. Știm că V2 = V - V1, conectând, vedem V1 / R1 = (V-V1) / R2. Rezolvând obținem R2 = R1 * (V-V1) / V1 Deci, dacă știm dacă știm V (1), V și R (2), putem rezolva pentru R2. Dacă avem R2, cunoaștem valoarea Termistor!

Pasul 4: Ce este un termistor?

Ce este un termistor?
Ce este un termistor?

Un termistor este un rezistor care schimbă rezistența odată cu temperatura. Folosind tehnicile din divizorul de tensiune pentru a determina rezistența, putem spune ce temperatură este. Problema este că am un termistor ieftin într-o carcasă dintr-un produs vechi de 10 ani. Cum ar trebui să creez o funcție care să treacă de la o rezistență la o temperatură? Ei bine, am un termometru pe care se conectează! Așa că am măsurat mult. Am copiat temperatura în jos și apoi am măsurat rezistența termistorului. L-am așezat în frigider, apoi l-am așezat în apă caldă. Mai târziu aș lua temperaturile camerei, de când aveam timp. Am presupus că aș fi putut citi Wikipedia Wikipedia plage poate încerca să ghicesc factorii a și b, dar am presupus că folosesc o componentă neliniară, posibilă, care nu se potrivește cu fabricația sa. specificații. Oh, și sunt leneș. Deci, am aruncat toate valorile în Excel, apoi le-am graficat. Am fost inițial îngrijorat de faptul că trebuia să-mi amintesc matematica întunecată profundă de ceva de genul „potrivire cel mai puțin pătrată” când am descoperit că Excell va face acest lucru pentru În mod clar, îmi lipsesc golurile din grafic, dar am obținut o mulțime de date bune despre temperaturile căzii cu hidromasaj (100-105F). În timp ce verificam intervalele de temperatură a camerei, am observat ceva, care aproape că îmi face munca lipsită de valoare. Termometrul „Precise Temp” a raportat o eroare de 3-7 grade între „interior” și „exterior” când termistorul era la câțiva centimetri distanță! Acum acest lucru s-ar putea datora faptului că am amestecat și asortat termistorul între unități, dar pariez că are mai mult datorită calității unui articol vechi de 10 ani, de 10 USD intervalul a arătat rezultate foarte apropiate de-a lungul zilelor. Pe termen lung, probabil că voi atașa termistorul la o țeavă care duce în cada cu hidromasaj, așa că oricum voi avea nevoie de un offset. Prin urmare, obținând Excel să afișeze ecuația, l-am introdus în cod și până acum este " închide."

Pasul 5: Circuitul emițătorului

Circuitul emițătorului
Circuitul emițătorului

Circuitul emițătorului este simplu. Am ales un rezistor de 100 kOhm pentru R2, deoarece părea că s-ar potrivi cu gama din grafic și am avut unul de rezervă pentru a desolda diverse lucruri cu Minions. Conectez acest lucru în serie cu termistorul printr-un conector. Apoi am adăugat un acumulator. Am alergat 3 V la VREF și partea de sus a divizorului de tensiune și la intrarea Xbee + 3V. Am pus GND (Battery Negative) la intrarea GND și la partea de jos a divizorului. Am conectat apoi AD0 (Volți în) la mijlocul circuitului divizorului de tensiune.

AD0 va citi o tensiune relativă de la VREF la V (1). Deci, pe măsură ce bateria scade, tensiunea relativă ar trebui să scadă la fel. În cele din urmă, voi alimenta unitatea cu o sursă de alimentare locală. Unitatea finită a funcționat bine, conectăm totul cu cleme de aligator, ceea ce a făcut-o fragilă. După ce am obținut conexiunea de 3/32 "de sex feminin, așez transmițătorul într-o cadă de plastic aleatorie pe care o aveam (un fost container de hummus). Acest lucru ar trebui să-l protejeze de intemperii. Întrucât am cumpărat conectori" montați pe panou ", a fost la fel de simplu ca și forarea unei găuri în plastic pentru a adăuga conectorul la exterior cu o conexiune destul de etanșă la apă. Odată ce am avut asta, a venit timpul să testăm.

Pasul 6: Acasă, Acasă, nu are interval

Acasă, acasă, nu are autonomie
Acasă, acasă, nu are autonomie
Acasă, acasă, nu are autonomie
Acasă, acasă, nu are autonomie
Acasă, acasă, nu are autonomie
Acasă, acasă, nu are autonomie

Unul dintre primele lucruri pe care le-am observat a fost că gama a murit de o moarte oribilă imediat ce am ieșit din birou cu emițătorul. Am încercat dintr-o altă cameră, iar rezultatele au fost teribile. La 1 metru distanță s-a prăbușit. E timpul să ne uităm la soluții. Mi-a venit în minte că, acolo unde testam, aveam 4 surse de Wi Fi pe o rază de 5 picioare, toate în gama de 2,5 Ghz, cum ar fi Xbee. De asemenea, nu „am vizat deloc Xbee-ul. După cercetări, stabilesc că aș putea cumpăra un radio Xbee mai puternic (aproximativ 23 USD) sau să adaug antene. Unul dintre lucrurile de care aveam nevoie a fost un test Range bun. Software-ul X-CTU de la Digi are un "Test de gamă" încorporat, dar nu a făcut nimic. Am petrecut ceva timp încercând să aflu cum să-l fac să funcționeze. De fapt, acest lucru a fost la fel de ușor de făcut decât s-a spus. Nu am avut nevoie de testul X-CTU, ci doar Valoarea „Indicator de intensitate a semnalului RX” (RSSI). M-am uitat în utilizările xbee.pyTweet-A-Watt și chiar acolo, linia 39: [cod] self.rssi = p [3] [/cod] Ceea ce înseamnă că face parte a valorii returnate Xbee! (xb.rssi în wattcher), așa că am modificat o linie de depanare pentru hack-ul meu: print str (counter) + ": RSSI:" + str (xb.rssi) + "| "+ time.strftime ("% Y% m% d,% H:% M ") +", "+": Tensiune: "+ str (CalcualtedVolts) +" avgv "+ str (avgv) +" Termistor: " + str (x) + "Temperatură:" + str (Temperatură) Care produce o linie ca aceasta: 373: RSSI: 82 | 2009 04 26, 11:18,: Tensiune: 1.80100585938 avgv 593 Termistor: 71.2276559865 Temperatură: 78.6813444881 Puteți a se vedea, de asemenea, RSSI cu procesare, de pe pagina lui Tom's Igoe. Deși veți dori să modificați lungimea pachetului (în partea de sus), deoarece Procesarea s-a plâns de scrierea după sfârșitul dimensiunii tamponului de pachete. Cred că trebuie să fiți mai mare de 2 * așteptat lungimea pachetului. Codul lui Tom privește înapoi pentru un pachet anterior, ceea ce înseamnă că, dacă pierde indicatorul de pachet Ox7E, ar putea rula pentru o perioadă de timp. Având în vedere că sunt aproape de marginea exterioară a intervalului de măsurare, se poate întâmpla pentru o vreme. 600 și a încetat să-mi mai dea mesajul „eroare, dezactivarea serialEvent ()”. Codul lui Tom doar tipărește cea mai recentă setare, ceea ce nu este atât de util pentru mine. Linia mea de depanare permiteți-mi să urmăresc se schimbă pe măsură ce Minion # 1 se întreabă. Acum aveam o modalitate bună de a măsura, mai mult decât „hei tată, avem un pachet”, era timpul să încercăm câteva idei de antenă de preparare acasă! Folosind ideile de pe https://www.usbwifi.orconhosting.net.nz/ am constatat că Corner Cube a măsurat o scădere a dB, deși în practică nu pare să ajute la conectarea unei perechi deconectate. Steam Steamer-ul compatibil a fost, de fapt, cel mai bun la vizare și reconectare. Configurarea USB Wifi este mult diferită de alte persoane. Aburitoarele au o tijă în mijloc, ceea ce facilitează amplasarea XBee. Un bol pho cu folie de tablă este de asemenea promițător (deși tocmai am îndepărtat folia de tablă mai târziu și l-am ținut în poziție). Am încercat, de asemenea, să facem o parabolă cu o bucată de îndoire a roților fierbinți, dar nu pare să ajute. Una dintre probleme este că testam la marginea exterioară a gamei. Majoritatea radio-urilor de 2,5 Ghz, în special XBee, folosesc spread Spectrum, ceea ce înseamnă că pot să sincronizeze, dar software-ul XBee caută începutul unui pachet XBee înainte de declanșare. Acest lucru înseamnă că dacă obțineți un efect totul sau nimic. Fie aparatele de radio se blochează una pe cealaltă, fie nu. Câteodată pare noroc, dar de fapt sunteți o antenă la aceste intervale și puteți avea impact asupra rezultatelor. M-am dus să cumpăr două aburi, dar apoi am constatat că costul unui abur din supermarketul local era de 10 dolari, iar pentru prețul a două aburi, pot obține un XBee mai puternic. Așa că m-am uitat la alte câteva locuri și am găsit un filtru destul de adânc, care sa dovedit și mai bun. Era 7 dolari. Cred că profunzimea este importantă, întrucât sunt la sfârșitul transmiterii lucrurilor, reflectă mai mult semnalul (conform notelor din https://www.usbwifi.orconhosting.net.nz/number13.jpg). Rezultate finale, este că, cu un abur de legume pe un capăt (care trebuie înlocuit) și un filtru pe celălalt, am semnal de aproximativ 20-30m, de la un birou interior, prin 3-4 pereți, până la cada cu hidromasaj! pentru a aduce filtrul dacă doriți 1) Soția dvs. să rămână și / sau 2) Doriți legume aburite mai târziu. Personal îmi place aspectul de petală al aburului cu legume.

Pasul 7: Software

Software
Software

Începând cu aplicația Tweet-A-Wattsoftware, am început să sparg codul python. În cea mai mare parte, trebuia să îndepărtez conversia Watts, funcțiile de istoric și apoi trebuia să adaug un număr de împărțiri la 0 protecții (Tweet-A-Watt presupune că pachetele vor avea date). Am adăugat apoi formula din Excel în program. și testat. L-am setat să tipărească fiecare pachet și am o mulțime de depanare în cod pentru a prinde probleme. Am încercat să funcționez porțiunea grafică, dar am renunțat la ceea ce mă aduce la: Python Rant: Este a doua oară când am am încercat să fac un proiect major în Python. Nu am putut obține toate dependențele bibliotecilor și pachetele de bază pentru a funcționa în mai puțin de 20 de ore în Windows, Windows 64, Ubuntu și Fedora. În cele din urmă a trebuit să construiesc aproape totul de la zero și chiar și atunci unele funcții nu au funcționat. Am încercat versiunile 2.4, 2.5, 2.6 și diferite 3. X, apoi versiunile fiecărei biblioteci, care la rândul lor aveau dependențe de alte pachete. În timp ce alții ar putea avea neplăceri împotriva limbajului, am găsit că instalarea, chiar folosind multe dintre „instalările ușoare” este descurajantă în cel mai bun caz! După ce am calculat temperaturile, am făcut o ajustare de 1 grad, deoarece nu-mi venea să cred că cada a fost la 106F. Nici nu cred că este la 105. Am cerut apoi logica de raportare și twitter. Deoarece nu sunt sigur dacă voi primi pachete sau pachete bune, am ales să raportez temperatura o dată pe oră. Presupun că voi reduce asta într-un timp. În prezent, scriptul rulează ca un utilizator normal. Voi dori să îl mut într-un serviciu în cele din urmă.

Pasul 8: Pașii următori

Există câțiva pași evidenti:

1) Înlocuiți filtrul de legume a. Minionii au nevoie de legumele lor! b. Acela era oricum bătrân. 2) Așezați antena cu hidromasaj sub puntea a. Pachetul ar putea să o facă și mai "departe", dar va permite o configurare mai urâtă. b. Pot apoi rula termistorul spre partea inferioară și să găsesc un loc mai bun. 3) Adăugați mai mulți senzori a. Cel ușor este un senzor de temperatură exterior. b. Dar nu există niciun motiv pentru care nu am putea detecta starea panourilor de control, în special senzorul de căldură care se atinge magic când copiii au trecut. c. Alți senzori meteorologici (vânt, umiditate etc.) d. Ar fi frumos să controlez cada cu hidromasaj și aș putea opri încălzirea pentru o mare parte din noapte și zi. 4) Pot regla software-ul a. Minionii doresc deja mesaje mai bune pe temperatură. b. Ar trebui să putem răspunde la răspunsuri și DM. c. Ar trebui să trimit un tweet mai inteligent (mai puțin de o dată pe oră). d. Am planificate alte lucruri distractive.

Recomandat: