Taula de continguts:

Tweet-A-Temp: 8 passos
Tweet-A-Temp: 8 passos

Vídeo: Tweet-A-Temp: 8 passos

Vídeo: Tweet-A-Temp: 8 passos
Vídeo: My job is to observe the forest and something strange is happening here. 2024, De novembre
Anonim

Per Experiments Homebrew de Z0tZot Seguiu-ne més per l'autor:

Matriu de cervesa Magic 8 de 8 cares
Matriu de cervesa Magic 8 de 8 cares
Matriu de cervesa Magic 8 de 8 cares
Matriu de cervesa Magic 8 de 8 cares

El meu fill gran (Minion # 1) i jo vam començar a construir un Tweet-A-Watt i no vam poder seguir les instruccions correctament, és a dir, vam fer dos receptors com a receptors estàndard en lloc de només un i després vam omplir la meitat del segon receptor XBee. teníem dues opcions: tallar les parts addicionals o una altra cosa. Tenint en compte que encara no he trobat un Kill-A-Watt a nivell local i que tenia aquest termòmetre extern / intern que feia deu anys que volia informatitzar, sabia què havia de fer: havia de fer servir el termòmetre per mesurar la temperatura de la meva banyera d'hidromassatge i, a continuació, la vaig fer un tuit! Va mencionar que bé podríem fer-ho sense fils, però no, és una ximpleria … M’encanta que es faci realitat un pla de deu anys. Veure’l a Twitter

Pas 1: creeu els destinataris de Xbee

Construeix els Xbee Recievers
Construeix els Xbee Recievers

Construïu dos receptors XBEE. He utilitzat els receptors de Lady Ada, qualsevol receptor ho farà. Necessitareu accés al pin VREF i AD0 de XBee. El truc del Tweet-A-Watt és la configuració. De fet, configureu un dels dispositius per repetir els valors del Kill-A-Watt amb: ATMY = 1, SM = 4, ST = 3, SP = C8, D4 = 2, D0 = 2, IT = 13, IR = 1 Configura l'adreça (1), estableix el mode de repòs, el temporitzador i el punt i, a continuació, estableix els pins 4 i 2 en mode d'entrada analògica (2), que enviarà paquets 0x13 (19 decimals), 1 ms entre mostres El truc aquí és l’entrada analògica. Podeu llegir voltatges petits (0-5V) directament amb XBee. Al Tweet-A-Watt definiríeu els pins 4 i 0 per enviar els amplificadors i els volts mesurats pel Kill-A-Watt. En realitat, no envia això, envia el petit voltatge mesurat pels xips del Kill-A-Watt al receptor XBee que està connectat a un ordinador. El programari de l’ordinador llegeix constantment els paquets rebuts i recalcula el voltatge i l’amperatge reals i calcula la potència.

Pas 2: el termòmetre

El termòmetre
El termòmetre
El termòmetre
El termòmetre
El termòmetre
El termòmetre

Vaig comprar dos d’aquests termòmetres d’interior / exterior fa aproximadament deu anys al magatzem de casa. Sempre em va fascinar que el "termòmetre" exterior es connectés a la unitat base amb el que semblava un endoll d'àudio estàndard. Sempre em vaig preguntar si podia mesurar la temperatura connectant-la a una presa de micro d’un ordinador.

Resulta que probablement podria fer que funcioni, però seria complicat. El connector és en realitat un connector de 3/32 , en lloc d'un connector d'àudio 1/8. Aquest és el connector estàndard per a telèfons mòbils per a micròfons externs. Això presentava un problema ja que no trobava cap endoll de micro a les meves piles de brossa que no havien estat muntats a la superfície. Vaig haver de comprar un formulari fix de Radio Shack (2 dòlars), que va afegir un retard important al projecte (arribar a una barraca no era fàcil). Em vaig separar una unitat abans que de sobte em vaig adonar de com funcionava la cosa de qui, era un divisor de voltatge! Va ser obvi una vegada que hi vaig pensar. Va fer la vida molt fàcil.

Pas 3: Què és un divisor de tensió?

Què és un divisor de tensió?
Què és un divisor de tensió?

Un dels millors llocs per aprendre sobre electrònica és que els divisors en línia de Wisconsin s’expliquen a aquesta pàgina (a la part inferior dreta) o podeu visitar la pàgina de Voltage Wikipedia. En resum, si teniu dos resistors en sèrie, la caiguda de tensió de cada resistència és en proporció a la mida de la resistència. Si teniu tensió V a través d’un circuit de R (1) + R (2), llavors V = V (1) + V (2). Per tant, si V = 3V i V (2) = 2V, ja sabeu que V (1) = 1V. Ara, la base de la llei d’Ohm és que el corrent (I) és V / R. En un circuit en sèrie, el corrent és el mateix a tot arreu, de manera que el corrent per A i B és el mateix per a tot el circuit. Per tant, I = V1 / R1 = V2 / R2. Coneixem V2 = V - V1, connectant-lo, veiem V1 / R1 = (V-V1) / R2. Resolent obtenim R2 = R1 * (V-V1) / V1 Per tant, si sabem si coneixem V (1), V i R (2), podem resoldre R2. Si tenim R2, sabem el valor del Termistor!

Pas 4: què és un termistor?

Què és un termistor?
Què és un termistor?

Un termistor és una resistència que canvia la resistència amb la temperatura. Mitjançant les tècniques del divisor de tensió per determinar la resistència, podem saber quina temperatura és. El problema és que tinc un termistor barat en una carcassa d’un producte de 10 anys. Com suposo que hauria de crear una funció per passar d'una resistència a una temperatura? Bé, tinc un termòmetre que es connecta. Així que he mesurat molt. Vaig copiar la temperatura i després vaig mesurar la resistència del termistor. El vaig posar a la nevera i després el vaig posar en aigua tèbia. Més tard, agafaria la temperatura de l'habitació, ja que tenia temps. Suposava que podria haver llegit el Wikipedia plage pot provar d'endevinar els factors a i b, però vaig suposar que utilitzava un component no lineal i possible que falla i que ja no coincideix amb la seva fabricació. especificacions. Ah, i sóc mandrós, de manera que vaig bolcar tots els valors a Excel i després el vaig dibuixar. Vaig estar originalment preocupat per haver de recordar les matemàtiques fosques i profundes d’alguna cosa com “encaix mínim quadrat” quan vaig descobrir que Excell ho faria per És clar que em falten buits al gràfic, però tinc moltes dades bones sobre les temperatures de la banyera d'hidromassatge (100-105F). Mentrestant, comprovant els rangs de temperatura ambient, vaig notar alguna cosa, que gairebé no val la meva feina. El termòmetre "Precise Temp" va informar d'un error de 3-7 graus entre "interior" i "exterior" quan el termistor estava a centímetres de distància. Ara podria ser perquè vaig barrejar i combinar el termistor entre les unitats, però estic apostant que té més a causa de la qualitat d'un article de 10 anys d'edat, de 10 dòlars i, independentment de la "precisió" de la temperatura, necessitava precisió i diverses proves de la mateixa rang va mostrar resultats molt propers al llarg dels dies. A la llarga, probablement connectaré el termistor a una canonada que condueix a la banyera d'hidromassatge, de manera que necessitaré un desplaçament de totes maneres. Per tant, aconseguint que Excel mostri l'equació, el poso al codi i fins ara és " Tanca."

Pas 5: Circuit del transmissor

Circuit de transmissor
Circuit de transmissor

El circuit del transmissor és senzill. Vaig triar una resistència de 100 kOhm per a R2, ja que semblava que s’adaptava a l’interval del gràfic, i en tenia una de sobra per desoldar diverses coses amb els Minions. Ho connecto en sèrie amb el termistor mitjançant un connector. Després vaig afegir una bateria. Vaig córrer 3 V a VREF i la part superior del divisor de tensió i a l'entrada Xbee + 3V. Poso el GND (Battery Negative) a l'entrada GND i a la part inferior del divisor. Llavors vaig connectar AD0 (Volts in) al centre del circuit divisor de tensió.

AD0 llegirà una tensió relativa de VREF a V (1). Així, a mesura que disminueix la bateria, la tensió relativa hauria de disminuir igual. Finalment, alimentaré la unitat amb una font d’energia local. La unitat acabada funcionava bé, ho connectem tot amb clips de cocodril, cosa que la feia fràgil. Després d’aconseguir la connexió femella de 3/32 ", col·loqueu el transmissor en una tina de plàstic aleatòria que teníem (un envàs ex-hummus). Això hauria de protegir-lo de la intempèrie. Com que vaig comprar connectors" de muntatge en panell ", era tan senzill com perforar un forat al plàstic per afegir el connector a l'exterior amb una connexió força estanca a l'aigua. Un cop ho vam tenir, era el moment de provar.

Pas 6: casa, casa, no té cap rang

La llar, la llar, no té cap rang
La llar, la llar, no té cap rang
La llar, la llar, no té cap rang
La llar, la llar, no té cap rang
La llar, la llar, no té cap rang
La llar, la llar, no té cap rang

Una de les primeres coses que vam notar va ser que la gamma va morir d’una mort horrible tan bon punt vam sortir de l’oficina amb l’emissor. Vam provar des d’una altra sala i els resultats van ser terribles. 1 metre de distància va quedar fora. Vaig arribar el moment de buscar solucions. Em va semblar que allà on provàvem teníem 4 fonts de Wi-Fi a menys de 5 peus, totes en el rang de 2,5 Ghz com el Xbee. Tampoc "vam apuntar cap a Xbee. En cap moment, vaig determinar que podia comprar una ràdio Xbee més potent (uns 23 dòlars) o afegir antenes. Una de les coses que necessitava era una bona prova de rang. El programari X-CTU de Digi té una "Prova de rang" integrada, però no va fer res. Vaig passar un temps intentant esbrinar com fer que funcionés. En realitat, va ser tan fàcil de fer del que s'ha dit. Valor "Indicador de força del senyal RX" (RSSI). Vaig mirar els usos de xbee.pyTweet-A-Watt i allà mateix, la línia 39: [codi] self.rssi = p [3] [/codi] El que significa que és part del valor de retorn Xbee (xb.rssi a wattcher), així que he modificat una línia de depuració per al meu hack: print str (counter) + ": RSSI:" + str (xb.rssi) + "| "+ time.strftime ("% Y% m% d,% H:% M ") +", "+": Voltatge: "+ str (CalcualtedVolts) +" avgv "+ str (avgv) +" Termistor: " + str (x) + "Temperatura:" + str (Temperatura) que produeix una línia com aquesta: 373: RSSI: 82 | 2009 04 26, 11:18,: Voltatge: 1.80100585938 avgv 593 Termistor: 71.2276559865 Temperatura: 78.6813444881 Podeu vegeu també RSSI amb processament, des de la pàgina de Tom's Igoe. Tot i que voldreu modificar la longitud del paquet (a la part superior), ja que Processament es queixava d'escriure després del final de la mida de la memòria intermèdia de paquets. Crec que haureu de ser superior a 2 * esperats longitud del paquet. El codi de Tom busca un paquet anterior cap enrere, cosa que significa que si no troba l'indicador de paquets Ox7E, podria funcionar una estona. Tenint en compte que estic a prop de la vora exterior del rang de mesura, pot passar una estona. 600 i va deixar de donar-me el missatge "error, inhabilitant serialEvent ()". El codi de Tom només imprimeix la configuració més recent, cosa que no és tan útil per a mi. canvia a mesura que es pregunta Minion # 1. Ara teníem una bona manera de mesurar, més que "Ei, pare, tenim un paquet", era el moment de provar algunes idees d'antena de cervesa casolana. Utilitzant idees de https://www.usbwifi.orconhosting.net.nz/ he trobat que el Corner Cube mesurava una disminució de dB, tot i que a la pràctica no semblava ajudar a connectar un parell desconnectat. En realitat, el vaporitzador Vegatible va ser el millor en apuntar i tornar a connectar. La configuració d'USB Wifi és molt diferent a la d'altres usuaris. Els vapors tenen una tija al centre que facilita la col·locació de XBee. Un bol pho amb paper de llauna també és prometedor (tot i que acabem de treure el paper de llauna més tard i el vam mantenir al seu lloc). També hem provat de fer una paràbola amb una "pista" de rodes calentes que es doblega, però no sembla que ajudi. Un dels problemes és que estàvem provant a la vora exterior del rang. La majoria de ràdios de 2,5 Ghz, especialment XBee, utilitzen spread Spectrum, cosa que significa que poden "sincronitzar-se" i que el programari XBee busca l'inici d'un paquet XBee abans del disparador. Això significa que si obteniu un efecte tot o res. O bé les ràdios es fixen entre si o no. Alguna vegada sembla sort, però, de fet, sou una antena en aquests rangs i podeu afectar els resultats. Vaig anar a comprar dos vaixells de vapor, però després vaig comprovar que el cost d’un vapor del supermercat local era de 10 dòlars i, per un preu de 2 vaixells de vapor, puc aconseguir un XBee més potent. Així que vaig mirar alguns llocs més i vaig trobar un colador força profund que ha resultat encara millor. Va ser de 7 dòlars. Crec que la profunditat és important, ja que estic en la transmissió de les coses, reflecteix més del senyal (segons les notes de https://www.usbwifi.orconhosting.net.nz/number13.jpg). Resultats finals, és que amb un vapor de verdures a un extrem (que s’ha de substituir) i un colador a l’altre, tinc un senyal d’uns 20-30 m, des d’una oficina interior, a través de 3-4 parets, fins a la banyera d’hidromassatge. per portar el colador si voleu 1) La vostra parella es quedi i / o 2) Voleu verdures al vapor més tard. Personalment, m'agrada l'aparença de pètals del vapor vegetal.

Pas 7: programari

Programari
Programari

Començant amb el Tweet-A-Wattsoftware, vaig començar a piratejar el codi python. Sobretot necessitava eliminar la conversió de watts, les funcions de l’historial i, després, havia d’afegir un nombre de divisions per 0 proteccions (el Tweet-A-Watt suposa que els paquets tindran dades). Després vaig afegir la fórmula d’Excel al programa. i el vaig provar. El vaig configurar per imprimir tots els paquets i tinc molta depuració al codi per detectar problemes. Vaig intentar que la part gràfica funcionés, però vaig renunciar a la qual cosa em porta a: Python Rant: Aquesta és la segona vegada que tinc va intentar fer un projecte important a Python. No he pogut obtenir totes les dependències de les biblioteques i els paquets bàsics per treballar en menys de 20 hores al Windows, Windows 64, Ubuntu i Fedora. Finalment vaig haver de construir gairebé tot des de zero i, fins i tot, algunes funcions no funcionaven. Vaig provar versions 2.4, 2.5, 2.6 i diverses 3. X, i després versions de cada biblioteca, que al seu torn tenien dependències d'altres paquets. Tot i que altres poden tenir despeses en contra del llenguatge, he trobat que simplement instal·lar, fins i tot fer servir molts dels "instal·ladors fàcils" és descoratjador en el millor dels casos. Després de calcular les temperatures, vaig fer un ajust d'1 grau perquè no em podia creure la banyera d'hidromassatge. era a 106F. Realment tampoc crec que sigui a 105. Llavors vaig retreure la lògica d'informes i twitter. Com que no estic segur de si obtindré paquets o bons paquets, vaig decidir informar de la temperatura un cop per hora. Suposo que ho reduiré d'aquí a un temps. Actualment, l'script s'està executant com a usuari normal. Voldré traslladar-lo a un servei eventualment.

Pas 8: passos següents

Hi ha alguns passos evidents:

1) Substituïu el colador vegetal a. Els minyons necessiten les seves verdures! b. Aquell era vell de totes maneres. 2) Col·loqueu l'antena del jacuzzi sota la coberta a. La coberta pot fer-la encara "més", però permetrà una configuració més lletja. b. Llavors puc executar el termistor cap a la part inferior i trobar un lloc millor. 3) Afegiu més sensors a. El senzill és un sensor de temperatura exterior. b. Però no hi ha cap raó per la qual no poguem detectar l’estat dels panells de control, sobretot el sensor de calor que es toca màgicament quan acaben els nens. c. Altres sensors meteorològics (vent, humitat, etc.) d. Estaria bé controlar la banyera d'hidromassatge i podria apagar la calefacció durant gran part de la nit i el dia. 4) Puc ajustar el programari a. Els minyons ja volen millors missatges per temperatura. b. Hauríem de ser capaços de respondre a les respostes i als DM. c. Hauria de piular amb més intel·ligència (menys d’una vegada a l’hora). d. Tinc previstes altres coses divertides.

Recomanat: