68 käyttäjää paikalla
Muista katsoa myös paikallaolijat!
Etusivu | Haku | Käyttäjälista | Rekisteröidy | Ohjeet
Etusivu -> Yleinen keskustelu -> Sähkömittarin pulssien lukeminen
PenaItse Liittynyt: 11.5.2012 18:55 ![]() |
Sähkömittarin pulssien lukeminen
Lähetetty: 19.4.2022 20:41 Muokattu viimeeksi: 30.4.2022 07:01 Olen innostunut jo pitkään aiheesta lukea suoraan sähkömittarin vilkkuvasta LEDistä reaaliaikainen energian kulutus. Nyt viimein olen saannut jotain konkreettista aikaan. Sähkömittarin lediin on teipattu ldr vastus, joka katkoo transistoria josta menee 30 metrin verkkokaapeli autotalliin RasperryPIn GPIO sisääntuloon. Täällä mittauskeskus on kaukana talosta, tontin reunalla tien vieressä. Ensimmäinen kötöstys mittasi 2 pulssin välistä aikaa ja laski siitä reaaliaikaisen kulutuksen, joka siis päivittyi aina seuraavalla pulssilla. Siitä laskettiin tehonkulutus. Aloin vain pohtimaan, kun sitä arvoa mm. päivitetään keskusmuistilla sijaitsevaan fileeseen jotta miten paljon koneen hidastelut vaikuttavat lopulta siihen tulokseen. Tein myös erikseen säikeen, jossa perustin palvelimen kuuntelemaan ja kun clientti yhdistää, lähetetään kuuntelijalle dataa kahden pulssin välinen aika. Myöhemmin lähestyin asiaa toisesta suunnasta ja päätinkin lukea X pulssia ja laskea niihin yhteensä kulutetun ajan, jonka jatkojalostan rinnakkaisessa säikeessä. Ainakin teoriassa ehkä parempi ratkaisu. En oikein tykkää tuosta pyythonista tai ainakin tuntuu hankalalta päästä siihen kunnolla sisään. Alla koodi, joka laskee 10 sekunnin pulssien ajan ja rinnakkainen säie jatkojalostaa sen komentoriville. Mikähän oisi järkevin vaihtoehto striimata sitä lähiverkkoon? import RPi.GPIO as GPIO import time, sys import http.server import socketserver import _thread import threading import socket lock = threading.Lock() GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP) def laskuri(): print("Syncing threads 10 sec ..." ![]() global pulssien_otanta pulssien_maara = pulssien_otanta kumulatiivinen_kulutus = 0 time.sleep(10) aloitus_aika = time.time() global aika while True: lock.acquire() teho = (((1000/(pulssia_per_kwh/pulssien_otanta))*3600)/aika)/1000 hinta = teho*0.13 kumulatiivinen_kulutus = pulssien_maara * 0.0001 kumulatiivinen_hinta = kumulatiivinen_kulutus * 0.13 kello = "{:.3f}".format(time.time() - aloitus_aika) print("TEHO: ", "{:.2f}".format(teho), "kWh", "{:.2f}".format(hinta), "euroa tunnissa", "Kumulatiivinen: kulutus:", "{:.3f}".format(kumulatiivinen_kulutus), "hinta: " "{:.3f}".format(kumulatiivinen_hinta), " Pulsseja: ", pulssien_maara, "aika ![]() pulssien_maara += pulssien_otanta time.sleep(1/1000) _thread.start_new_thread(laskuri, tuple()) pulssia_per_kwh = 10000 pulssien_otanta = 10 try: while True: i = 0 lock.acquire(blocking=False) start = time.time() while i < pulssien_otanta: GPIO.wait_for_edge(17, GPIO.FALLING) time.sleep(1/1000000) i += 1 aika = time.time() - start lock.release() time.sleep(1/1000000) except KeyboardInterrupt: print("\nTidying up" ![]() Mikähän oli kooditagit tänne ... ---------------------------------------- olen pena ja lisäksi vitun homo seniili mulkkuperse joka tuunaa 106 vetoakselia perslävellään soinia soimaten pusikon piinaavassa uutteruudessaan ![]() |
PenaItse Liittynyt: 11.5.2012 18:55 ![]() |
Vs: Sähkömittarin pulssien lukeminen
Lähetetty: 19.4.2022 20:50 Muokattu viimeeksi: 30.4.2022 07:01 Tuossa ensimmäinen versio kokonaisuudessaan kaikkine sotkuineen: import RPi.GPIO as GPIO import time, sys import http.server import socketserver import _thread import threading import socket def create_server(): port = 8000 handler = http.server.SimpleHTTPRequestHandler httpd = socketserver.TCPServer(("", port), handler) print("serving at port:" + str(port)) httpd.serve_forever() def palvelija ![]() global aika global lock print("palvelija" ![]() i = 0 while True: lock.acquire() lahetys = str(aika)+" pulsseja: "+str(i)+"\r\n" c.send(lahetys.encode()) i += 1 def laske_pulsseja(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print ("Socket successfully created" ![]() port = 121 s.bind(('', port)) print ("socket binded to %s" %(port)) s.listen(5) print ("socket is listening" ![]() while True: c, addr = s.accept() print ('Got connection from', addr ) _thread.start_new_thread(palvelija, (c,)) lock = threading.Lock() #_thread.start_new_thread(create_server, tuple()) _thread.start_new_thread(laske_pulsseja, tuple()) print("Server has started. Continuing.." ![]() print("Hello, World!" ![]() GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP) aloitus_aika = time.time() pulssien_maara = 1 kumulatiivinen_kulutus = 0 f = open("/run/lukemat", "w" ![]() try: while True: start = time.time() lock.acquire(blocking=False) GPIO.wait_for_edge(17, GPIO.FALLING) lock.release() #time.sleep(0.01) aika = time.time() - start time.sleep(1/1000000) teho = (((1000/10000)*3600)/aika)/1000 hinta = teho*0.13 kumulatiivinen_kulutus = pulssien_maara * 0.0001 kumulatiivinen_hinta = kumulatiivinen_kulutus * 0.13 kello = "{:.2f}".format(time.time() - aloitus_aika) print("TEHO: ", "{:.2f}".format(teho), "kWh", "{:.2f}".format(hinta), "euroa tunnissa", "Kumulatiivinen: kulutus:", "{:.3f}".format(kumulatiivinen_kulutus), "hinta: " "{:.3f}".format(kumulatiivinen_hinta), " Pulsseja: ", pulssien_maara, "aika ![]() pulssien_maara += 1 # print("TEHO: ", round((3600 / aika), 1), "kWh", sep=' ', end='', flush=True) # print(" Silmukka pyorahti ", i) # print(aika) f.seek(0) f.truncate() print(aika, file=f) f.flush() except KeyboardInterrupt: print("\nTidying up" ![]() f.close() ---------------------------------------- olen pena ja lisäksi vitun homo seniili mulkkuperse joka tuunaa 106 vetoakselia perslävellään soinia soimaten pusikon piinaavassa uutteruudessaan ![]() |
PenaItse Liittynyt: 11.5.2012 18:55 ![]() |
Vs: Sähkömittarin pulssien lukeminen
Lähetetty: 19.4.2022 20:52 Huomatkaa, kun tarjoillaan rivin lopetusmerkiksi alkuun kelaus: end="\r" niin ainakin PuTTyn kautta komentorivi päivittää vain yhtä riviä tekstiä, ei siis ulosteta jatkuvasti lisää ja lisää rivejä.
---------------------------------------- olen pena ja lisäksi vitun homo seniili mulkkuperse joka tuunaa 106 vetoakselia perslävellään soinia soimaten pusikon piinaavassa uutteruudessaan ![]() |
PenaItse Liittynyt: 11.5.2012 18:55 ![]() |
Vs: Sähkömittarin pulssien lukeminen
Lähetetty: 30.4.2022 07:00 http://pena.dy.fi/jako/palvelija.py Nyt saa livekuvaa kulutuksesta suoraan selaimeen. Mutta tuo vitun pythoni ei tunnu menevän millään kaaliin ei sitten MILLÄÄN! Vaikka tuo on ehkä hieman monimutkahko systeemi, en silti jotenkaan kieleen päässy sisälle. No ne vitun oliot tietenkin ![]() Tilasin myös muutaman pulssittavan vesimittarin. Tuohon voisi tehdä ehkä ascii tai png graafia hieman historiasta, ja kun vesi saadaan mukaan, saa oikein mukavan kotinäytön seinälle. ---------------------------------------- olen pena ja lisäksi vitun homo seniili mulkkuperse joka tuunaa 106 vetoakselia perslävellään soinia soimaten pusikon piinaavassa uutteruudessaan ![]() |
PenaItse Liittynyt: 11.5.2012 18:55 ![]() |
Vs: Sähkömittarin pulssien lukeminen
Lähetetty: 30.4.2022 07:04 *** POISTIN AIEMMISTA KOODEISTA PRETAGIT, KOSKA SIVU MENI IHAN VITUIKSI *** Tuossa myös, en tiedä voisiko ajatella sen olevan tuhlausta käynnistää jokaista GET-pyyntöä varten oma säie? ![]() ![]() Oiskohan nyt vanhempana viisaampi ... ---------------------------------------- olen pena ja lisäksi vitun homo seniili mulkkuperse joka tuunaa 106 vetoakselia perslävellään soinia soimaten pusikon piinaavassa uutteruudessaan ![]() |
PenaItse Liittynyt: 11.5.2012 18:55 ![]() |
Vs: Sähkömittarin pulssien lukeminen
Lähetetty: 30.4.2022 07:11 Myös semmoinen on toki mahdollista avata jokaista asiakasta varten oma säie, joka pysyy olemassa niin kauan, kuin asiakkaalla on sivu auki. Se voisi ehkä olla hyvä kultainen keskitie noiden kahden väliltä. Varmasti vie resursseja enemmän nyt perustaa aina uusi ... Kotinäytöllä tietysti olisi vain 1 clientti paikalla aina, eihän multithreadingia tarvisi edes tuossa, kun riittäisi yhden asiakkaan palveleminen. Mutta sitten ajatuksena sellainen rajoitus herättää inhoa ![]() ---------------------------------------- olen pena ja lisäksi vitun homo seniili mulkkuperse joka tuunaa 106 vetoakselia perslävellään soinia soimaten pusikon piinaavassa uutteruudessaan ![]() |
PenaItse Liittynyt: 11.5.2012 18:55 ![]() |
Vs: Sähkömittarin pulssien lukeminen
Lähetetty: 30.4.2022 22:42 http://pena.dy.fi/jako/elspot.py Siinä on suht nopeasti vääntämäni skripti noutamaan seuraavan päivän sähkön tuntihinnat. Nyt kun tätä näpyttelyintoa on viime aikoina ollut, voisin ehkä taas herätellä ajatuksen ohjata vesivaraajaa noiden tuntien mukaisesti. Nyt on tosin todella edullinen, toistaiseksi voimassa oleva kiinteähintainen, niin akuuttia tarvetta ei ole. Mutta mielenkiintoinen lisähän se olisi kotinäytössä rullaavat tunnit kalliit punaisella ja halvat vihreällä. Automaattista lämpötilan laskua ei näin pienessä mökissä tarvitse edes miettiä. Lisäksi tilasin ilmalämpöpumpun joka odottaa asennustaan, onneksi tilasin sen jo talvella, nyt sotien aikaan ei enään saa tai jos saa niin paljon kalliimmalla. Tilasin myös tyhjiöpumpun ja huoltomittarisarjan. Satasen taisi olla Vevorilla. Pumppukauppiaalle heitin päästäni jonkun asentajan nimen tukesin rekisteristä, he eivät saa myydä niitä pumppuja ellei ole "vakuutta että sen asentaa kylmäluvat omaava henkilö". No tommosille direktiiveille haistatan tottakia pitkät ![]() Ja lisäksi vielä! Se on R32 kone! EIhän se ole enään F-kaasua ??? ![]() Oikeastihan kyllä me kaikki tiedämme tässä koitetaan vain suojella erästä ammattikuntaa ja nostaa jalustalle jumalasta seuraavaan kahden viikon nuokkumiskoulutuksella. Myönnän kyllä että minua hieman kuumottaa niiden kartioliittimien kiristys, mitään aiempaa tuntumaa ei ole ja sen on onnistuttava käytännössä kerrasta. Toki sitä kylmäainetta saa tilattua ulkomailta jos jääkin krooninen pieni vuoto, mutta tuskimpa kuitenkaan. Niin vituttaa nuo PK yrittäjät ja muut hiihtäjät joiden palveluksia joskus tarvitisi niin se on yrittäjä joka asiakkaansa valitsee. Ja kuten porakaivossa, niin pumpussakin kun en konetta tahtonut kylmäluvat omaavalta kaupparatsulta ostaa niin en ole kovin kiinnostava asiakas jos pyytäisin vain pelkkää pumpun asennusta itse hankkimalleni koneelle. Kauna pienyrittäjiä kohtaan alkoi jo vuonna 2017 kun nuohoojaa mökille hankkiessani sanoi melkein suoraan ettei sitä kiinnosta nuo paskahommat, kun on ilmastointihommiakin tehtävänä. Tuli selväksi ja tilasin savenmaalta puolen kiven rassin ja pallon ja sille tielle olen jäännyt. Sama pätee myös sähkötöihin! Se porukka joka amiksesta valmistui samaan aikaan kanssani, ei saisi antaa edes paristoa vaihdettavaksi!! ---------------------------------------- olen pena ja lisäksi vitun homo seniili mulkkuperse joka tuunaa 106 vetoakselia perslävellään soinia soimaten pusikon piinaavassa uutteruudessaan ![]() |
PenaItse Liittynyt: 11.5.2012 18:55 ![]() |
Vs: Sähkömittarin pulssien lukeminen
Lähetetty: 15.5.2022 03:16 Vittu että suututti alkuun tommoset: output += tee_canvas([float(i) for i in hinta_tanaan[0:24]]) ei niinkun mitään järkeä tuntunu olevan, vähän kuin voi vain hutaisten huitaista siivoten sairaalan pihaa, MUTTA nyt kun olen tätä ruutua tuijottanut melkein 2 vuorokautta, alkaa tuo jo käydä järkeen - tarkemmin ajateltuna tuohan onkin kaikessa yksinkertaisuudessaan aika helvetin näppärä ja kätevästi toimiva systeemi! ![]() ![]() Tai sitten ei ![]() ---------------------------------------- olen pena ja lisäksi vitun homo seniili mulkkuperse joka tuunaa 106 vetoakselia perslävellään soinia soimaten pusikon piinaavassa uutteruudessaan ![]() |
PenaItse Liittynyt: 11.5.2012 18:55 ![]() |
Vs: Sähkömittarin pulssien lukeminen
Lähetetty: 8.7.2022 22:00 - Lisätty summaus yö/päiväsähkön käytölle. -> summataan kellonajan mukaan hinta aikasähkön siirtohinnaston mukaisesti. Lopulta nähdään tuleeko tällä kulutusprofiililla halvemmaksi 1 vai 2 aikasähkö. Päivähinta on sama molemmissa - perusmaksu on 2-aika mittauksella kympin suurempi. Varsinkin varaajain ajastamalla tuo varmasti menisi edullisemmalle puolelle 2-aika mittauksella. ---------------------------------------- olen pena ja lisäksi vitun homo seniili mulkkuperse joka tuunaa 106 vetoakselia perslävellään soinia soimaten pusikon piinaavassa uutteruudessaan ![]() |
PenaItse Liittynyt: 11.5.2012 18:55 ![]() |
Vs: Sähkömittarin pulssien lukeminen
Lähetetty: 9.7.2022 05:32 Muokattu viimeeksi: 9.7.2022 05:49 Tässä on muutaman kuukauden sähkönkäytön tulos datahubista, Tuon PenaSäätiöiden uuden laskurin läpi ajettuna: Tulokset: 1-aika kulutus: 3045.69 kWh, Hinta 1 aika mittauksella on: 124.26 EUR 2-aika kulutusjakauma: Päivä: 2001.32 kWh, Yö: 1044.37 kWh. Hinta yhteensä: 109.5 EUR Perusmaksujen erotus = 7.870 EUR **** Näissä laskelmissa ei ole sähköveroa mukana **** Laskuriin pääsette TÄSTÄ Tuosta voidaan jo heti huomata, että 2-aika mittauksella saisi säästöjä jo ilman edes yrittämistä. Ja vieläkin enemmän, mikäli aletaan kuormanohjausta tehdä vesivaraajalla yötunneille. Haaveilen hankkivani 5 kuution umpisäiliön pihalle, josta tekisin vesivaraajan. Sen avulla voisin ostaa muutamassa tunnissa koko päivän lämmön. Näin pienessä talossa on suht pienet kulut, joten säästökin on suhteellisen pieni. Ainut järkevä tapa pelata "säästöillä" on lämminvesivaraajan ajoittaminen. Automatiikka mahdollistaisi myös varaajan käynnistämisen mikäli ohjelma huomaa veden käytön olevan niin suurta, ettei se riittäisi iltaan asti. Resistiivinen kuorma vie täällä kuitenkin leijonasosan kokonaisenergiasta. Jopa kesäaikana, WC patteri ja varaaja. WC patterille soisi olla älykkäämpi termostaatti, on minulla kyllä se RasperryPI:n I2C väylällä jutteleva hattu, jossa on optoerotetut tyristorit seinäsähkön ohjausta varten. Loppupeleissä voi kyllä sanoa ainakin näiden NÖBÖ-pattereiden kapillaarinen termostaatti on AIVAN PERSEESTÄ! Vaikka kuinka kuuma olisi, hohkaa ne silti. Säätö heittää parhaimmillaan 10 astetta, kun hystereesi on melkein 10 astetta. Älykäs lämmityksen ohjaus ennustaisi lämmön tarpeen ulkoilmaa ja säätiedotusta seuraamalla ollen aina askeleen edempänä rakennuksen viivellä muuttuvaa energian tarvetta. NÖBÖ vaan paahtaa täysillä vaikka kireä pakkanen laskisi suojakeleille. On liian kylmä tai kuuma. Mielenkiintoista myös saanko tuota ilmanlämpöpumppua mitenkään juttelemaan omien ohjelmistojeni kanssa. Vaikka kuinka väittävät - en usko niidenkään GREEnillä tehneen täydellistä sulatuksen ohjausta. Jotta laitteet ja ohjelmistot toimivat halutulla tavalla ja palvelevat niitä tarpeita, joita itse eniten arvostaa, on useimmiten ne valmistettava tai kirjoitettava itse. ---------------------------------------- olen pena ja lisäksi vitun homo seniili mulkkuperse joka tuunaa 106 vetoakselia perslävellään soinia soimaten pusikon piinaavassa uutteruudessaan ![]() |
Sinun pitää kirjautua sisään tai rekisteröityä osallistuaksesi keskusteluun!
Copyright © PenaNetworks säätiöt 2006 - 2023