Tweet-a-watt - hoe maak je een gekwetter Energiemeter... (12 / 19 stap)

Stap 12: Software


Introduction

Nu dat de hardware voltooid is, komen we bij het leukste deel: uitvoeren van de software die de gegevens worden opgehaald uit onze ontvanger XBee en opgeslagen in onze computer of upload het naar een database of updates van onze twitter-feed of... wat je zou willen!

Hier is hoe het werkt, de XBee binnen de Kill-per-Watt maximaal twee analoge signalen wordt vastgehaakt. Een is het signaal van de spanning waarmee wordt aangegeven de AC spanning lezen. In het algemeen is dit een sinusgolf thats 120VAC. Een lastig ding om te onthouden is dat 120V de spanning 'RMS is' en de 'echte spanning' +-170VDC is. (u kunt meer lezen over de RMS spanning op wikipedia fundamenteel is het een manier om aan te geven hoeveel 'gemiddelde' spanning er.) De tweede lezing is de AC huidige lezen. Dit is hoeveel stroom wordt getrokken door de Kill-per-Watt. Als u de huidige met de spanning vermenigvuldigen, krijg je het vermogen (in watt) gebruikt!

Van de XBee analoog/digitaal converter is ingesteld op een ' momentopname ' van een sinus-cyclus op een moment. Elk dubbel-monster (spanning en stroom) 1ms is gedemonteerd en duurt 17 van hen. Dat betekent een lange trein van de 17ms van de monsters. Een cyclus van stroomverbruik is 1 / 60Hz lange oftewel 16.6ms. Dus werkt het vrij goed!

Laten we enkele voorbeelden van spanning en huidige golfvormen zoals de XBee ze ziet.

Deze eerste grafiek is een voorbeeld van een laptop aangesloten. U ziet dat het een switch levering, en alleen macht tijdens de piek van de curve van de spanning trekt.

Laat nu proberen aan te sluiten in een 40W gloeilamp. U zult merken dat in tegenstelling tot de switch levering, de huidige de spanning bijna perfect volgt. Dat is omdat een gloeilamp is alleen een weerstand!

Tot slot laat proberen de meter op een dimbare switch steken. U zult zien dat de spanning '', niet langer sinusvormige gehakt is. En hoewel de huidige de spanning volgt, zijn nog steeds vrij goed bijpassende.

De XBee stuurt de onbewerkte gegevens naar de computer die in een python-script, cijfers uit wat de (geijkte) spanning en stroomsterkte is bij elk monster en vermenigvuldigt elk punt samen om te krijgen de watt gebruikt in die cyclus. Aangezien er bijna geen apparaat dat de macht-usages van cyclus tot cyclus verandert, de momentopname is een goede indicator van de totale stroomverbruik dat tweede. Dan wordt eens om de 2 seconden, een enkele momentopname verzonden naar de ontvanger XBee

Installeer python & vrienden

De software die tegen de XBee praat is geschreven in python. Ik gebruikte python omdat haar snel te ontwikkelen, heeft engineeringgroep ondersteunen en is vrij populair met software en hardware hackers. De XBees praten via de seriële poort zo letterlijk dat elke programmeertaal kan/kan hier worden gebruikt. Als je een geek software en wilt gebruiken perl, C, C#, tcl/tk, verwerking, java, etc. go for it! Je moet de seriële gegevens lezen en parseren van het pakket, maar zijn niet bijzonder moeilijk.

Echter wil de meeste mensen voortmaken , en dus voor u gaan we door het proces van het installeren van de python en de bibliotheken die we nodig hebben.

1. download en installeer python 2.5 van http://www.python.org/download/ stel ik 2,5 omdat dat lijkt te zijn stabiel en goed ondersteund op dit moment. Als u een andere versie gebruikt kunnen er problemen
2. download en installeer pyserial uit het pakket repository (dit zal laten praten met de XBee via de seriële poort)
3. Als u werkt met windows downloaden en installeren win32file voor python 2.5 (dit zal toevoegen bestandsondersteuning)
4. download en installeer de simplejson python bibliotheek (dit is hoe de twitter api graag worden gesproken)

Nu kunt u eindelijk De Wattcher script downloaden die zullen we hier laten zien! We gaan om het te downloaden naar de C:\wattcher directory, voor andere OS's kunt u natuurlijk deze map wijzigen

Basic configureren

We zullen moeten doen een beetje van setup te starten, open te stellen het wattcher.py script met een teksteditor en zoek de regel

SERIALPORT = "COM4" # de com/seriële poort de XBee is aangesloten op

omzetten in COM4 wat de seriële poort die u worden, de XBee met verbonden zal heet. Onder windows poort zijn sommige COMx , onder linux en mac zijn iets zoals /dev/cu.usbserial-xxxx de/dev / directory en/of de dmesg controleren

Sla het script met de nieuwe naam van de seriële poort

Test het uit

Zodra u hebt geïnstalleerd van de python en de scripts hebt uitgepakt naar uw werkmap, start een Terminal (onder linux is dit gewoon rxvt of xterm, onder mac de Terminal, onder windows, het is een cmd -venster)

Ik ga ervan uit u windows van nu af aan, het moet niet moeilijk om de instructies aan linux/mac aan te passen zodra het terminal-venster geopend is.

Voer de opdracht cd C:\wattcher om naar de plaats waar u de bestanden ongecomprimeerd. Door het uitvoeren van de opdracht dir kunt u zien dat u de bestanden in de map hebt

Zorg ervoor dat uw zender (Kill-per-Watt + Xbee) is aangesloten, en om de 2 seconden knipperen. Vergeet niet dat het duurt een tijdje voor de zender opladen macht te beginnen met verzenden. De LCD display moet duidelijk, geen fuzzy. Zorg ervoor dat er niets aangesloten op de Kill-per-Watt, ook. De RSSI (rood) LED op de ontvanger aangesloten op de computer moet worden aangestoken met vermelding van gegevens wordt ontvangen. Niet totdat dat is allemaal goed te gaan.

Python nu worden uitgevoerd door het uitvoeren van de opdracht C:\python25\python.exe wattcher.py

Moet je een constante print uit gegevens. Het eerste getal is de XBee adres waarvan het gegevens ontvangen, hier volgt de geschatte huidige loting, vermogen gebruikt en de watturen geconsumeerd sinds de laatste gegevens. Hooray! Wij hebben draadloze data!

Kalibreren

Nu dat we goede gegevens worden ontvangen hebben, zijn tijd om te tweaken het. Bijvoorbeeld, zijn zeer waarschijnlijk dat zelfs zonder een toestel- of licht aangesloten op de Kill-per-Watt, de script-denkt dat er stroom wordt gebruikt. We moet kalibreren de sensor zodat we weten waar 'nul' is. In de Kill-per-Watt is er een zelfdiagnose systeem maar helaas de XBee is niet slim genoeg om het te doen op zijn eigen. Dus, we doen het in de python-script. Stoppen met het script door te typen in CTRL-C en voer het ook dit keer, zoals C:\python25\python.exe wattcher.py -d nota de -d die het script te printen foutopsporingsinformatie vertelt

Nu kunt u het script afdrukken uit een hele puinhoop van gegevens. Het eerste stuk met veel -1 erin is het ruwe pakket. Terwijl zijn interessant willen we kijken naar de regel die met ampdata begint:

ampdata: [498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 497, 498, 498, 498]

Nu zult u merken dat de nummers vrijwel allemaal hetzelfde zijn. Dat is omdat er dat niets aangesloten op de tweetawatt en dus elke cyclus 1/60 Hz heeft een platte lijn op 'nul'. De A/D in de XBee is 10 bits, en waarden tussen 0 en 1023 zal terugkeren. Dus, in theorie, als het systeem perfect is de waarde op 'nul' moet 512. Echter, er zijn een heleboel kleine dingen die maken het systeem onvolmaakt en dus nul is alleen sluiten aan 512. In dit geval is het 'nul' kalibratiepunt echt 498. Wanneer zijn weg er is een 'DC-offset' de Amp lezingen, zoals uit deze grafiek blijkt:

Zie hoe de Amp-lijn (groen) is stabiel maar zijn niet op nul, zijn bij 0,4 ampère? Er is een 'DC-offset' van 0,4 ampère

OK, het wattcher.py script in een teksteditor openen.

vrefcalibration = [492, # kalibratie voor sensor #0]
492, # kalibratie voor sensor #1
489, # kalibratie voor sensor #2
492, # kalibratie voor sensor #3
501, # kalibratie voor sensor #4
493] # enz... approx ((2.4v * (10Ko/14.7Ko)) / 3

Zie de lijn die zegt van kalibratie voor sensor #1 #? Verandering die tot 498

vrefcalibration = [492, # kalibratie voor sensor #0]
498, # kalibratie voor sensor #1
489, # kalibratie voor sensor #2
492, # kalibratie voor sensor #3
501, # kalibratie voor sensor #4
493] # enz... approx ((2.4v * (10Ko/14.7Ko)) / 3

Sla het bestand op en start het script opnieuw, dit tijd zonder de -d

Nu u zien zult dat de loting Watt 2W of minder, in plaats van 40W (die was weg!) De reden zijn niet 0W is dat, eerst, er is een beetje ruis die we reading in de A/D-lijnen, ten tweede er stroomverbruik door de Kill-per-Watt zelf en ten slotte de XBee hoeft niet een heleboel monsters om mee te werken. Echter < 2W is vrij goed overweegt dat het volledige sensing bereik 0-1500W is

Opmerking de grafiek met de geijkte sensor:

Zie hoe de versterkers-lijn is nu 0 gestage, is er geen DC-offset

Logboekgegevens

Zijn leuk om te hebben deze gegevens, maar het zou nog mooier zijn als wij kon opslaan voor gebruik. Nou, dat automatisch voor u wordt gedaan! In het wattcher.py-script, kunt u de naam van het logboekbestand instellen. Standaard is dit powerdatalog.csv. Het script verzamelt gegevens en elke 5 minuten schrijft één regel in de notatie jaar-maand-dag tijd, Sensor #, watt voor elke sensor. Zoals u zien kunt, is dit een voorbeeld van een 40W gloeilamp gloeilamp aangesloten voor een paar uur. Vanwege de lage samplefrequentie ziet u dat enkele kleine variaties in de watt opgenomen. Deze gegevens kan gemakkelijk worden ingevoerd rechtstreeks naar een spreadsheetprogramma

Tweeting

Ten slotte komen we bij het tweeting deel van de tweet-a-watt. Eerst het wattcher.py script openstellen en stellen

# Twitter gebruikersnaam & wachtwoord
twitterusername = "gebruikersnaam"
twitterpassword = "wachtwoord"

om uw gebruikersnaam en wachtwoord op twitter. Als u geen één hebt, kunt u een account op twitter.com maken.

Vervolgens het script uitvoeren zoals gebruikelijk. Elke 8 uur (middernacht, 8 uur en 4 uur) het script verstuurd een twitter met behulp van de Twitter API

Dan check it out op uw account:

Gerelateerde Artikelen

Hoe maak je een wenskaart van klassieke auto Pop Up kaart (Kirigami 3D)

Hoe maak je een wenskaart van klassieke auto Pop Up kaart (Kirigami 3D)

Hoe maak je een wenskaart Pop Up kaart (Kirigami 3D) klassieke auto - TCGames [HD]Share op FACEBOOK: http://on.fb.me/15TrVYfTWEET: http://bit.ly/15Ts5P6 REDDIT: http://bit.ly/16qHt5L TUMBLR: http://bit.ly/10K8fhzDownload hier het gratis patroon: http
Hoe maak je een trui Lamp

Hoe maak je een trui Lamp

Hey u alle mooie burgers,Ik miste instructables en alle de awesome die jullie hebben. Dus ik ben terug na een goede onderbreking en ik ben terug met een andere opwindende instructable u:).Trui lamp...??? Ja... geen grapje. In dit instructable ga ik o
Hoe maak je een mooie Origami Rose (boeket) voor Valentijnsdag!

Hoe maak je een mooie Origami Rose (boeket) voor Valentijnsdag!

In deze tutorial, ik zal u tonen hoe maak je een origami mooi Rose. Geniet van: D!Share op FACEBOOK: http://on.fb.me/15TrVYfTWEET: http://bit.ly/15Ts5P6REDDIT: http://bit.ly/16qHt5LTUMBLR: http://bit.ly/10K8fhzTips: zorg voor uw plooien aan het begin
Hoe maak je een Origami-gevechtsvliegtuig (papieren vliegtuigje)!

Hoe maak je een Origami-gevechtsvliegtuig (papieren vliegtuigje)!

In deze tutorial, ik zal u tonen hoe maak je een origami gevechtsvliegtuig (papieren vliegtuigje). Geniet van: D!Model: Gevechtsvliegtuig (papieren vliegtuigje)Door: traditioneleShare op FACEBOOK: http://on.fb.me/15TrVYfTWEET: http://bit.ly/15Ts5P6RE
Hoe maak je een Origami papier Jet Plane!

Hoe maak je een Origami papier Jet Plane!

In deze tutorial, ik zal u tonen hoe maak je een origami JET papieren vliegtuigje. Geniet van: D!Model: JET papieren vliegtuigjeDoor: traditioneleShare op FACEBOOK: http://on.fb.me/15TrVYfTWEET: http://bit.ly/15Ts5P6REDDIT: http://bit.ly/16qHt5LTUMBL
Hoe maak je een Origami papier Squid vliegtuig!

Hoe maak je een Origami papier Squid vliegtuig!

In deze tutorial, ik zal u tonen hoe maak je een origami Squid papieren vliegtuigje. Geniet van: D!Model: Squid papieren vliegtuigjeDoor: traditioneleShare op FACEBOOK: http://on.fb.me/15TrVYfTWEET: http://bit.ly/15Ts5P6REDDIT: http://bit.ly/16qHt5LT
Hoe maak je een LED Fairy-Light String met behulp van de MR16

Hoe maak je een LED Fairy-Light String met behulp van de MR16

dit instructable is een super eenvoudige, gemakkelijke en leuke manier om een string van de LED Fairy-licht met behulp van MR16 LED downlighters.Het is ook mijn eerste instructable!, eindelijk na jaren van verschillende DIY en knutselen leuk. ^_^Dus,
Hoe maak je een DIY Tiki fakkel van de sneeuw Ski's

Hoe maak je een DIY Tiki fakkel van de sneeuw Ski's

Een paar ski's van oude van Habitat voor herstel van de mensheid nu een vet gele tiki fakkel, klaar voor onze volgende achtertuin feest is.Mark en ik waren door onze vrienden bij Krylon uitgedaagd om een fakkel tiki van iets out-of-the-gewone.Stap 1:
Hoe maak je een citroen-accu

Hoe maak je een citroen-accu

In dit instructable leert u hoe maak je een citroen-batterij. De citroenen maken ongeveer 4 en een halve volt, genoeg te lopen van iets dat maakt gebruik van lage spanning. De citroenen produceren deze spanning door het proces van elektrolyse is de c
Hoe maak je een Lamp Nuka Cola Quantum

Hoe maak je een Lamp Nuka Cola Quantum

Ik maakte deze lamp als een cadeau voor een zeer goede vriend. Ik maak rekwisieten als een hobbie en besloot: "Ik wil mijn vriend iets!" Ik dacht en dacht over wat te maken van hem, toen drong het tot me dat hij hield van Fallout. Deze prop werd
Hoe maak je een spuit Pen

Hoe maak je een spuit Pen

https://www.YouTube.com/watch?v=qutcj6xwLjo&feature=Youtu.beStap 1: Om te doen een spuit Pen moet je!In deze Instructables ga ik om u te tonen hoe maak je een pen met de spuit!Een handgemaakte pen met de spuit die we moeten maken:-Insuline spuit,-Bal
Hoe maak je een periscoop! / Tutorial / DIY

Hoe maak je een periscoop! / Tutorial / DIY

https://www.YouTube.com/watch?v=Pb24i2mru7c&feature=Youtu.beStap 1: Om te doen een periscoop moet je! In hedendaagse instructables 'm I gonna Toon u het idee van hoe maak je een periscoop.Stap 2: Periscoop is een van de eenvoudigste optische toestell
Hoe maak je een boot van de stoom met een kaars

Hoe maak je een boot van de stoom met een kaars

https://www.YouTube.com/watch?v=sWJqCubW1ic&feature=Youtu.beStap 1: Om te doen een boot van de stoom met een kaars u nodig!In deze instructables ik zal je laten zien een geweldig idee van hoe maak je een boot van de stoom met de kaars.Stap 2: Kindere
Hoe maak je een kleine uil!

Hoe maak je een kleine uil!

Dit instructable leert u hoe maak je een kleine uil! Het was bedoeld als een toegang tot de First-Time Auteur wedstrijd in instructables, maar ik hoop dat velen van u grote vreugde van het vinden! Zodra u klaar bent met uw uil, wat gaat u doen? Zal u