Satura rādītājs:

Tweet-A-Temp: 8 soļi
Tweet-A-Temp: 8 soļi

Video: Tweet-A-Temp: 8 soļi

Video: Tweet-A-Temp: 8 soļi
Video: The Verve - Bitter Sweet Symphony 2024, Jūlijs
Anonim

Z0tZot's Homebrew ExperimentsSekot vairāk autora:

Burvju 8 alus 8 sānu mirst
Burvju 8 alus 8 sānu mirst
Burvju 8 alus 8 sānu mirst
Burvju 8 alus 8 sānu mirst

Mēs ar manu vecāko dēlu (minionu #1) sākām veidot Tweet-A-Watt un neizdevām pareizi ievērot norādījumus, proti, mēs abus uztvērējus padarījām par standarta uztvērējiem, nevis tikai vienu, un tad pusi aizpildījām otro XBee uztvērēju. mums bija divas izvēles, vai nu nogriezt papildu detaļas, vai arī kaut kas cits. Ņemot vērā, ka man vēl nav jāatrod Kill-A-Watt uz vietas un man bija šis ārējais/iekšējais termometrs, kuru es vēlējos datorizēt 10 gadus, es zināju, kas man jādara: man bija jāizmanto termometrs manas karstās vannas temperatūru un pēc tam tvītot! Es nesen biju devis Minionam #1 uzdevumu aprakstīt burbuļvannas kontrolieri bez robežām. Viņš minēja, ka mēs varētu padarīt to bezvadu, bet nē, tas ir muļķīgi … Man patīk, kad tiek īstenots 10 gadu plāns. Skatiet to Twitter

1. darbība: izveidojiet Xbee uztvērējus

Izveidojiet Xbee uztvērējus
Izveidojiet Xbee uztvērējus

Izveidojiet divus XBEE uztvērējus. Es izmantoju uztvērējus no Lady Ada, derēs jebkurš uztvērējs. Jums būs nepieciešama piekļuve XBee VREF un AD0 tapai. Tweet-A-Watt triks ir konfigurācija. Faktiski jūs iestatāt vienu no ierīcēm, lai atkārtotu Kill-A-Watt vērtības ar: ATMY = 1, SM = 4, ST = 3, SP = C8, D4 = 2, D0 = 2, IT = 13, IR = 1 Tādējādi tiek iestatīta adrese (1), miega režīms, taimeris un periods, un pēc tam 4. un 2. tapas tiek iestatītas uz analogās ievades režīmu (2), kas nosūtīs 0x13 (19 decimāldaļas) paketes, 1 ms starp paraugiem. Triks šeit ir analogā ievade. Jūs varat nolasīt nelielus spriegumus (0–5 V) tieši ar XBee. Tweet-A-Watt jūs iestatījāt 4 un 0 tapas, lai nosūtītu ampērus un voltus, ko mēra ar Kill-A-Watt. Patiesībā tas to nesūta, tas nosūta nelielu spriegumu, ko mēra mikroshēmas Kill-A-Watt, uz uztvērēju XBee, kas ir pievienots datoram. Datora programmatūra pastāvīgi nolasa saņemtās paketes un pārrēķina faktisko spriegumu un strāvas stiprumu, un pēc tam aprēķina jaudu.

2. solis: termometrs

Termometrs
Termometrs
Termometrs
Termometrs
Termometrs
Termometrs

Divus no šiem iekštelpu/āra termometriem es nopirku apmēram pirms 10 gadiem no mājas depo. Mani vienmēr fascinēja tas, ka ārējais "termometrs" tika pievienots pamatvienībai ar standarta audio spraudni. Es vienmēr domāju, vai es varu izmērīt temperatūru, pievienojot to datora mikrofona ligzdai.

Izrādās, ka es droši vien varētu panākt, lai tas darbotos, bet tas būtu sarežģīti. Kontaktspraudnis faktiski ir 3/32 collu ligzda, nevis 1/8 audio spraudnis. Šī ir standarta kontaktdakša mobilajiem tālruņiem ārējiem mikrofoniem. Tas radīja problēmu, jo es nevarēju atrast nevienu mikrofona kontaktdakšu savos atkritumu kaudzēs. man nebija virszemes stiprinājuma. Man bija jāiegādājas komplekts no Radio Shack (2 ASV dolāri), kas projektam radīja ievērojamu kavēšanos (nokļūšana būvē nebija viegla). Es nojaucu vienu vienību, pirms es pēkšņi sapratu, kas darbojas, tas bija sprieguma dalītājs! Tas bija acīmredzami, kad es par to domāju. Tas padarīja dzīvi ļoti vieglu.

3. darbība: kas ir sprieguma dalītājs?

Kas ir sprieguma dalītājs?
Kas ir sprieguma dalītājs?

Viena no labākajām vietām, kur uzzināt par elektroniku, ir Viskonsinas tiešsaistes sadalītāji, kas ir aprakstīti šajā lapā (apakšējā labajā stūrī), vai arī varat apmeklēt Voltage Wikipedia lapu. Īsi sakot, ja jums ir divi sērijas rezistori, sprieguma kritums katrā rezistorā ir proporcionāli rezistora izmēram. Ja jums ir spriegums V ķēdē R (1) + R (2), tad V = V (1) + V (2). Tātad, ja V = 3V un V (2) = 2V, jūs zināt, ka V (1) = 1V. Tagad Ohmas likuma pamatā ir tas, ka strāva (I) ir V/R Sērijveida ķēdē strāva ir vienāda visā, tāpēc strāva caur A un B ir vienāda visai ķēdei. Tāpēc I = V1/R1 = V2/R2. Mēs zinām, ka V2 = V - V1, pievienojot, mēs redzam V1/R1 = (V -V1)/R2. Risinot, mēs iegūstam R2 = R1*(V-V1)/V1 Tātad, ja mēs zinām, vai mēs zinām V (1), V un R (2), mēs varam atrisināt R2. Ja mums ir R2, mēs zinām, kāda ir vērtība Termistors!

4. solis: kas ir termistors?

Kas ir termistors?
Kas ir termistors?

Termistors ir rezistors, kas maina pretestību atkarībā no temperatūras. Izmantojot sprieguma dalītāja metodes, lai noteiktu pretestību, mēs varam pateikt, kāda ir temperatūra. Problēma ir tā, ka man ir kāds lēts termistors 10 gadus veca produkta korpusā. Kā es domāju izveidot funkciju, lai pārietu no pretestības uz temperatūru? Nu, man ir termometrs, kuram tas ir pievienojams! Tāpēc es daudz mērīju. Es nokopēju temperatūru uz leju un pēc tam izmērīju termistora pretestību. Es ievietoju ledusskapī, tad ievietoju siltā ūdenī. Vēlāk es uztvēru istabas temperatūru, jo man bija laiks. Es domāju, ka es būtu varējis izlasīt Wikipedia plage var mēģināt uzminēt a un b faktorus, bet es pieņēmu, ka es izmantoju nelineāru, iespējamu neveiksmīgu komponentu, kas vairs neatbilst tā ražošanai specifikācijas. Ak, un es esmu slinks. Tāpēc es visas vērtības izmetu programmā Excel un pēc tam to uzzīmēju. Sākotnēji biju noraizējies, ka man jāatceras dziļā tumšā matemātika, piemēram, "vismazāk kvadrātā", kad atklāju, ka Excel to darīs man! Skaidrs, ka man trūkst nepilnību grafikā, bet es ieguvu daudz labu datu par burbuļvannas temperatūru (100–105 F). Pārbaudot istabas temperatūras diapazonus, es pamanīju kaut ko tādu, kas gandrīz padara manu darbu bezvērtīgu. Termometrs "Precise Temp" ziņoja par 3-7 grādu kļūdu starp "iekštelpu" un "āra", kad termistors bija collu attālumā! Tagad tas varētu būt tāpēc, ka es sajaucu un saskaņoju termistoru starp vienībām, bet es varu derēt, ka tas ir vairāk saistīts ar 10 gadu vecu kvalitāti, 10 ASV dolāru vienību un neatkarīgi no temperatūras "precizitātes", man bija nepieciešama precizitāte un vairāki vienas un tās pašas pārbaudes diapazons parādīja ļoti tuvus rezultātus pa dienām. Ilgtermiņā es, iespējams, piestiprināšu termistoru pie caurules, kas ved uz burbuļvannu, tāpēc man tik un tā būs nepieciešama nobīde. Tātad, liekot programmai Excel parādīt vienādojumu, es to ievietoju kodā, un līdz šim tas ir " aizvērt."

5. solis: raidītāja ķēde

Raidītāja ķēde
Raidītāja ķēde

Raidītāja ķēde ir vienkārša. R2 es izvēlējos 100 kOhm rezistoru, jo izskatījās, ka tas atbilst grafika diapazonam, un man bija rezerves, lai atdalītu dažādas lietas ar Minions. Es to savienoju virknē ar termistoru, izmantojot savienotāju. Tad es pievienoju akumulatoru. Es skrēju 3 V uz VREF un Voltage dalītāja augšdaļu un Xbee +3V ieeju. Es ievietoju GND (Battery Negative) GND ievadē un sadalītāja apakšā. Pēc tam es pievienoju AD0 (volti) sprieguma dalītāja ķēdes vidū.

AD0 nolasīs relatīvo spriegumu no VREF līdz V (1). Tā kā akumulatoram samazinās, relatīvajam spriegumam vajadzētu samazināties vienādi. Galu galā es barošu ierīci ar vietējo barošanas avotu. Gatavā vienība strādāja labi, mēs visu savienojam ar aligatora skavām, kas padarīja to trauslu. Pēc tam, kad esmu ieguvis sieviešu 3/32 "savienojumu, es ievietoju raidītāju nejaušā plastmasas vannā, kas mums bija (bijušais humusa konteiners). Tam vajadzētu pasargāt to no laika apstākļiem. Tā kā es nopirku" paneļa stiprinājuma "savienotājus, tas bija tik vienkārši kā urbt caurumu plastmasā, lai pievienotu savienotāju ārpusei ar diezgan ūdensnecaurlaidīgu savienojumu.

6. darbība: mājas, mājas, nav diapazona

Mājas, mājas, nav diapazona
Mājas, mājas, nav diapazona
Mājas, mājas, nav diapazona
Mājas, mājas, nav diapazona
Mājas, mājas, nav diapazona
Mājas, mājas, nav diapazona

Viena no pirmajām lietām, ko pamanījām, bija tā, ka diapazons nomira briesmīgā nāvē, tiklīdz mēs ar raidītāju izgājām no biroja. Mēs mēģinājām no citas telpas, un rezultāti bija briesmīgi. 1 pēdu attālumā tas izplūda. Laiks apskatīt risinājumus. Man ienāca prātā, ka testēšanas laikā mums bija 4 Wi -Fi avoti 5 pēdu attālumā, visi 2,5 GHz diapazonā, piemēram, Xbee. Arī mēs nemaz "nevirzījām Xbee mērķi. Pēc izpētes es noskaidroju, ka varētu nopirkt jaudīgāku Xbee radio (apmēram $ 23) vai pievienot antenas. Viena no lietām, kas man bija nepieciešama, bija laba diapazona pārbaude. Digi X-CTU programmatūra ir iebūvēts "diapazona tests", taču tas neko nedarīja. Es kādu laiku mēģināju izdomāt, kā panākt, lai tas darbotos. Patiesībā tas bija tik vienkārši izdarāms, nekā teikts. Man tiešām nebija vajadzīgs X-CTU tests, tikai "RX signāla stipruma indikatora" (RSSI) vērtība. Es paskatījos xbee.pyTweet-A-Watt lietojumus un tieši tur, 39. rindā: [kods] self.rssi = p [3] [/kods] Tas nozīmē, ka tā ir daļa no Xbee atgriešanās vērtības! (xb.rssi in wattcher), tāpēc es modificēju atkļūdošanas rindu savam uzlaušanai: print str (counter) + ": RSSI:" + str (xb.rssi) + "| " + time.strftime (" %Y %m %d, %H: %M ") +", " +": Spriegums: " + str (CalcualtedVolts) +" avgv " + str (avgv) +" Termistors: " + str (x) + "Temperatūra:" + str (temperatūra) Kas rada šādu līniju: 373: RSSI: 82 | 2009 04 26, 11:18,: Spriegums: 1.80100585938 avgv 593 Termistors: 71.2276559865 Temperatūra: 78.6813444881 Jūs varat skatiet arī RSSI ar apstrādi no Toma Igoe lapas. Lai gan jūs vēlaties mainīt pakešu garumu (augšpusē), jo apstrāde sūdzējās par rakstīšanu, kas pārsniedz pakešu bufera lieluma beigas. Es uzskatu, ka jums ir jābūt lielākam par 2 * pakešu garums. Toma kods meklē atpakaļ uz iepriekšējo paketi, kas nozīmē, ka, ja tas nokavē Ox7E pakešu indikatoru, tas var darboties kādu laiku. Ņemot vērā, ka esmu netālu no mērīšanas diapazona ārējās malas, tas var notikt kādu laiku. Es iestatīju savu 600, un tas pārtrauca man parādīt ziņojumu "kļūda, atspējojot serialEvent ()". Tom kods tikai izdrukā jaunāko iestatījumu, kas man nav tik noderīgs. Mana atkļūdošanas līnija ļauj man izsekot mainās, jo Minions #1 brīnās apkārt. Tagad mums bija labs veids, kā izmērīt, vairāk nekā "hei tētis, mums ir paciņa", bija pienācis laiks izmēģināt dažas idejas par mājas brūvēšanas antenu! Izmantojot idejas no https://www.usbwifi.orconhosting.net.nz/, es atklāju, ka Stūra kubs mēra dB samazinājumu, lai gan praksē, šķiet, nepalīdzēja savienot atvienotu pāri. Vegatible Steamer patiesībā vislabāk spēja mērķēt un atjaunot savienojumu. USB Wifi iestatījumi ievērojami atšķiras no dažiem citiem. Tvaikoņu vidū ir kāts, kas ļauj ērti novietot XBee. Pho bļoda ar alvas foliju arī ir daudzsološa (lai gan mēs tikai vēlāk noņēmām alvas foliju un turējām to vietā). Mēs arī mēģinājām izveidot parabolu ar liektu karstu riteņu gabalu "sliežu ceļu", taču tas, šķiet, nepalīdzēja. Viena no problēmām ir tā, ka mēs testējām diapazona ārmalā. Lielākā daļa 2,5 Ghz radio, jo īpaši XBee, izmanto izplatīto spektru, kas nozīmē, ka viņi var veikt sinhronizāciju, bet pēc tam XBee programmatūra pirms sākšanas meklē XBee paketes sākumu. Tas nozīmē, ka jums ir viss vai nekas efekts. Vai nu radioaparāti saslēdzas viens pie otra, vai nē. Dažreiz šķiet veiksme, bet patiesībā jūs esat antena šajos diapazonos un varat ietekmēt rezultātus. Es devos nopirkt divus tvaikoņus, bet pēc tam konstatēju, ka tvaikoņa izmaksas no vietējā lielveikala bija 10 USD, un par 2 tvaikoņu cenu es varu iegūt jaudīgāku XBee. Tāpēc es apskatīju vēl dažas vietas un atradu diezgan dziļu sietiņu, kas izrādījās vēl labāks. Tas bija 7 USD. Es uzskatu, ka dziļums ir svarīgs, jo es esmu lietas pārraides galā, tas vairāk atspoguļo signālu (saskaņā ar piezīmēm vietnē https://www.usbwifi.orconhosting.net.nz/number13.jpg). Gala rezultāti, ir tas, ka ar dārzeņu tvaicētāju vienā galā (jānomaina) un sietiņu otrā, man ir signāls apmēram 20-30 m attālumā no interjera biroja, caur 3-4 sienām, līdz burbuļvannai! Pro padoms: atcerieties lai ievietotu sietiņu, ja vēlaties

7. solis: programmatūra

Programmatūra
Programmatūra

Sākot ar Tweet-A-Wattsoftware, es sāku uzlauzt pitona kodu. Lielākoties man vajadzēja noņemt vatu konversiju, vēstures funkcijas, un tad man vajadzēja pievienot vairākus dalījumus ar 0 aizsardzību (Tweet-A-Watt pieņem, ka paketēs būs dati). Pēc tam programmai pievienoju formulu no Excel un pārbaudīts. Es to iestatīju, lai izdrukātu katru paketi, un man ir daudz atkļūdošanas kodu, lai novērstu problēmas. Es mēģināju panākt, lai grafiskā daļa darbotos, bet es padevos, kas mani noved pie: Python Rant: Šī ir otrā reize, kad man ir mēģināja veikt lielu projektu Python. Es nevarēju panākt, lai visas bibliotēku atkarības un bāzes pakotnes darbotos mazāk nekā 20 stundu laikā operētājsistēmās Windows, Windows 64, Ubuntu un Fedora. Man beidzot bija jāveido gandrīz viss no nulles un pat tad dažas funkcijas nedarbojās. Es izmēģināju 2.4, 2.5, 2.6 un dažādas 3. X versijas, un pēc tam katras bibliotēkas versijas, kurām savukārt bija atkarība no citām pakotnēm. Lai gan citi, iespējams, ir pretrunā ar valodu, es atklāju, ka tikai instalēšana, pat izmantojot daudzus "vienkāršos uzstādītājus", labākajā gadījumā ir biedējoša! Pēc tam, kad es aprēķināju temperatūru, es pielāgoju 1 grādu, jo es nevarēju noticēt karstajai vannai bija 106F. Es tiešām neticu, ka tas ir arī 105. Tad es tweeked ziņošanas un twitter loģiku. Tā kā es neesmu pārliecināts, vai saņemšu paketes vai labas paketes, es izvēlējos ziņot par temperatūru reizi stundā. Es pieņemu, ka kādu laiku to samazināšu. Pašlaik skripts darbojas kā parasts lietotājs. Galu galā es vēlos to pārvietot uz pakalpojumu.

8. darbība. Nākamās darbības

Ir dažas acīmredzamas turpmākās darbības:

1) Nomainiet dārzeņu sietu a. Minioniem vajag viņu dārzeņus! b. Tas vienalga bija vecs. 2) Novietojiet karstās vannas antenu zem klāja a. Klājs var padarīt to vēl “tālāk”, taču tas ļaus izveidot neglītāku iestatījumu. b. Pēc tam es varu palaist termistoru uz apakšpusi un atrast labāku vietu. 3) Pievienojiet vairāk sensoru a. Vienkāršākais ir āra temperatūras sensors. b. Bet nav iemesla, kāpēc mēs nevarētu noteikt vadības paneļu stāvokli, jo īpaši siltuma sensoru, kas maģiski pieskaras, kad bērni ir beigušies. c. Citi laika sensori (vējš, mitrums utt.) D. Būtu jauki kontrolēt burbuļvannu, un es varētu izslēgt apkuri lielu daļu nakts un dienas. 4) Es varu pielāgot programmatūru a. Minioni jau vēlas labākus ziņojumus par temperatūru. b. Mums vajadzētu būt iespējai atbildēt uz atbildēm un DM. c. Man vajadzētu čivināt gudrāk (retāk kā reizi stundā). d. Man ir ieplānotas vēl dažas jautras lietas.

Ieteicams: