Uutiset:

Kirjoittaja Aihe: dialEye v1.0a julkaistu  (Luettu 18018 kertaa)

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
dialEye v1.0a julkaistu
« : 21.12.14 - klo:17:25 »
Muutaman vuoden omatarvesäätämisen jälkeen sain dialEye-projektin julkaisukuntoon. Julkaisin ensimmäisen julkisen version v1.0a. http://olammi.iki.fi/sw/dialEye/

Ohjelman tarkoituksena on lukea kamerakuvan avulla vesimittarin, kaasumittarin tms. pyöriviä viisareita sisältävän mittarin naamakuvasta viisareiden osoittama lukema. Tätä lukemaa voidaan hyödyntää kulutuslaskennassa (esim.
vesimittarista saa desilitratarkkuuksisen reaaliaikaisen kulutusmittauksen). Täysin poikkeuksellisesti itselleni  ::) kirjoitin myös jäätävän tarkat käyttö- ja konfigurointiohjeet: http://olammi.iki.fi/sw/dialEye/howto.php. Paljon kuvia ja esimerkki mm. taloLoggerin kanssa käyttämisestä.

Donationwarea. Vapaasti käytettävissä henkilökohtaisiin tarkoituksiin.

Palaute ja kysymykset dokumentaation lukemisen jälkeen allekirjoittaneelle.

Poissa Pali

  • Täysjäsen
  • ***
  • Viestejä: 47
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #1 : 27.12.14 - klo:12:16 »
Hieno systeemi!

Mitä halpaa kameraa olet tuossa testannut? Ebay:stä löytyy tälläisia http://www.ebay.com/itm/5M-7mm-6LED-Waterproof-Borescope-USB-Endoscope-Inspection-Snake-Tube-Camera-Cam-/351161925251?pt=UK_BOI_Medical_Lab_Equipment_Medical_Equipment_Instruments_ET&hash=item51c2e1be83 jossa on myös integroitu ledi valot ja pitäisi toimia linuxissa. Riittäsköhän tuossa tarkkuus ja noiden integroitujen ledien valoteho? Youtubessa näyttäs olevan testi videoita noista kameroista ja yllättävän hyvää kuvaa tarjoaa.

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #2 : 27.12.14 - klo:18:10 »
Käytin jotain vastaavaa kuin http://www.ebay.co.uk/itm/TRIXES-USB-Webcam-Microphone-with-LEDs-for-PC-Laptop-Windows-Mac-Skype-/360585052171?pt=UK_Computing_ComputerComponents_Webcams&hash=item53f48b400b. Parikin mallia tilasin, jostain Hong Kongista tuli. Toista en saanut Linuxissa toimimaan millään (joku ajuri/hw-ongelma). Toinen toimi, kunnes yhden pidemmän saunaillan jälkeen oli tuolta iv-koneen kondenssipoistosta (vesimittarin päällä) lirittänyt kameran päälle vettä ja se oli entinen. Alunperin oli tarkoitus Raspberryllä hoitaa tuota kameraa, mutta en saanut taas sitä Linux-serverissä toimivaa webcamia toimimaan Raspberryn alkupään kerneleiden kanssa (silloin kun sen kanssa taistelin).

Siirryin verkkomalliseen, koska se ei ole hardis/ajuririippuvainen ja Raspberrykin saa kuvan haettua verkon yli sellaisesta. Näissä on myös pieni webserveri, josta snapshot-kuvan saa HTTP:lla URL:ista (ainakin kaikissa malleissa, joihin olen törmännyt).

Nyt on käytössä tuollainen: http://www.verkkokauppa.com/fi/product/8906/dddnh/D-Link-DCS-930L-IP-kamera ja se on suojattu valuvilta vesiltä itsetehdyllä pellikatteella... Tuossa mallissa ei ole tarkoituksella omaa valaistusta, koska se noissa olisi vain IR-valaistus (joka ei oikein ole OK tuon minun kuvantunnistuksen kanssa) ja kun oli jo olemassa ulkoinen kohdevalaistus mittarille.

Edit: Vielä vastaus viimeiseen kysymykseen: En näe mitään periaatteellista syytä, miksi tuollainen linkittämäsi kamera ei toimisi. Tosin en ole kokeillut enkä aina noista Kiinanihmeistä ole varma, että toimivatko ne Linuksin kanssa, vaikka sivulla lukisi mitä. Ei tosin ole kalliskaan kokeilla.

Poissa Kokko74

  • Nuorempi jäsen
  • **
  • Viestejä: 21
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #3 : 01.01.15 - klo:23:32 »
Hei, tuli asenneltua ja conffattua dialeye melkein valmiiksi. Törmäsin seuraavanlaiseen ongelmaan. Kamerana minulla on Foscam FI9810w. Kamerasta saa seuraavalla rivillä snapshotin selaimella  joka mielestäni pitäisi olla kuvana ok.
Koodia: [Valitse]
http://192.168.0.80:8085/snapshot.cgi?user=vesi&pwd=mittari
(kuva liitteenä)

Tässä käyttäjätunnus ja salasana tulee linkin perään, ja nyt tuo & merkki aiheuttaa ongelmia mielestäni.
Seuraavalla käskyllä olen yrittänyt terminaalissa ajaa laihoin tuloksin.


Koodia: [Valitse]
sudo python /home/talo/dialEye/dialEye.py -f /home/talo/dialEye/dialEye.conf -s -u meter http://192.168.0.80:8085/snapshot.cgi?user=vesi&pwd=mittari

Mitä terminaali antaa ulos jos kaikki menee ok?

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #4 : 01.01.15 - klo:23:37 »
Tässä käyttäjätunnus ja salasana tulee linkin perään, ja nyt tuo & merkki aiheuttaa ongelmia mielestäni.
Seuraavalla käskyllä olen yrittänyt terminaalissa ajaa laihoin tuloksin.

Koodia: [Valitse]
sudo python /home/talo/dialEye/dialEye.py -f /home/talo/dialEye/dialEye.conf -s -u meter http://192.168.0.80:8085/snapshot.cgi?user=vesi&pwd=mittari

Mitä terminaali antaa ulos jos kaikki menee ok?

-v -optiolla se kertoo, että mitä se on tekemässä. Laita tuo koko URL lainausmerkkeihin. Nuo ? ja & ovat unix shellin mielestä sille annettuja ohjausmerkkejä ja se kilahtaa niihin. Lainausmerkit parantavat.

Edit: Kuvasi on ainakin riittävän valoisa ja selkeä. Luulisin, että tuosta viisarit löytyvät varsin mallikkaasti.

Poissa Kokko74

  • Nuorempi jäsen
  • **
  • Viestejä: 21
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #5 : 02.01.15 - klo:22:43 »
Hei,

Seuraavalla rivillä lähti FOSCAM toimimaan.

Koodia: [Valitse]
DIALEYE1:PARAMETERS = /home/talo/dialEye/dialEye.py -f /home/talo/dialEye/dialEye.conf -s -u --username vesi --password mittari meter "http://192.168.0.80:8085/snapshot.cgi?user=vesi&pwd=mittari"
olammi, kotisivullasi on kait kielioppivirhe ohjeessa HOWTO, piti --username xxx --password yyy vaihtaa -u jälkeen, ei meter jälkeen.

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #6 : 03.01.15 - klo:00:07 »
olammi, kotisivullasi on kait kielioppivirhe ohjeessa HOWTO, piti --username xxx --password yyy vaihtaa -u jälkeen, ei meter jälkeen.

Fiksaan ohjetta.

Poissa Kokko74

  • Nuorempi jäsen
  • **
  • Viestejä: 21
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #7 : 03.01.15 - klo:18:32 »
Hei,

mikähän on mennyt pieleen sen jälkeen kun kamera siirtyi, olen tehnyt uuden kalibroinnin. Nyt lukemat jotka tallentuvat tietokantaan on mitä sattuu. Terminaalin käskyllä saan kyllä oikean arvon mutta talologger lukee puuta heinää. Tallennetaanko jonnekin tilapäisesti jotain sellaista johon tietokoneen uudelleen käynnistyskään ei auta?

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #8 : 03.01.15 - klo:19:37 »
mikähän on mennyt pieleen sen jälkeen kun kamera siirtyi, olen tehnyt uuden kalibroinnin. Nyt lukemat jotka tallentuvat tietokantaan on mitä sattuu. Terminaalin käskyllä saan kyllä oikean arvon mutta talologger lukee puuta heinää. Tallennetaanko jonnekin tilapäisesti jotain sellaista johon tietokoneen uudelleen käynnistyskään ei auta?

dialEye:n "tilaan" vaikuttavat seuraavat tiedostot:
  • Käytettävä kalibrointikuva (määritellään dialEye.conf:ssa, että mitä kuvaa käytetään, CALIBRATION_IMAGE)
  • diaEye.conf, joka määrittelee pääosin konffin.
  • Jos "shake" on päällä ja sen tulokset talletetaan, niin shake-konfiguraatiotiedosto. Tämä on määritelty myös dialEye.conf:issa mitä käytetään (SHAKE_FILE).

Jos komentoriviltä tulee ok-tavaraa ja taloLogger ajaa puutaheinää, niin voi olla, että sinulla on jostain syystä kaksi konfiguraatiota tai shake-konfiguraatiota ehkä eri hakemistoissa. Tähän auttaa ainakin, jos dialEye.conf:issa määrittelee koko polun kalibrointikuvalle ja shake-tiedostolle.

Jos kamera liikkuu, niin -s-vivulla (ja jos "shake" on konffattu dialEye.conf:ssa) dialEye:n pitäisi seurata kameraa. Default-konffissa kuva siirtyy max. 1 pikselin / ajokerta (SHAKE_RADIUS). Jos taas kamera heilahtaa isosti, niin tilannetta voi koittaa fiksata muuttavalla väliaikaisesti sen säteen isommaksi (vaikka 10) ja ajelemalla -s -option kanssa komentoriviltä. Tällöin ajo kestää kauemmin, koska oikeaa kohtaa etsitään kauempaa, mutta löytynyt kohta sitten tallettuu sinne shake-conffiin (oletuksena dialeye_shakes.conf). Kohdan löydyttyä säde takaisin ykköseksi ja homman pitäisi pysyä lokittaessa ok perässä. Kameran liikahtaessa ei siis välttämättä tarvita uutta kalibrointiprosessia kaikkine parametreineen, vaan vain sen oikean siirtymän (x-suunta, y-suunta ja kiertymä) löytymistä.

Jos kamera liikkuu sinulla paljon sen kameran asennuksesta johtuen, niin sädettä voi toki pitää isompana kuin 1. Itselläni oli ensin kamera pultattu seinään, niin joku lämpömuutos vettä käytettäessä luultavasti siirsi mittaria muutaman millin, jolloin tuollaista 5 pikselin liikehdintää oli koko ajan. Tuolloin säteen piti olla isompi. Myöhemmin kiinnitin kameran mittarin kiinnikkeeseen, jonka jälkeen tilanne on pysynyt hyvin hallinnassa.

Poissa Kokko74

  • Nuorempi jäsen
  • **
  • Viestejä: 21
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #9 : 03.01.15 - klo:22:30 »
Hei,

dialeye_shakes.conf tiedoston polku oli määrittelemättä, siitä johtui ongelmat.

Kiitos

Poissa noble

  • Vanha jäsen
  • ****
  • Viestejä: 299
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #10 : 28.12.15 - klo:12:37 »
Onnistuukohan dialEye:llä lukemien ottaminen mittarille, jossa pulssianturinpaikka vääristää neuloista otettua kuvaa...?
Nibe 1245-8 / 180m kaivo

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #11 : 28.12.15 - klo:13:40 »
Onnistuukohan dialEye:llä lukemien ottaminen mittarille, jossa pulssianturinpaikka vääristää neuloista otettua kuvaa...?

Ei tuohon osaa sanoa kuin, että yrittänyttä ei laiteta. Jos pakko olisi veikata jotain hevosta, niin sanoisin, että ei onnistu.

Poissa fraatti

  • Konkari
  • *****
  • Viestejä: 3 907
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #12 : 28.12.15 - klo:23:21 »
Onnistuukohan dialEye:llä lukemien ottaminen mittarille, jossa pulssianturinpaikka vääristää neuloista otettua kuvaa...?

Tilaa tuohon sopiva anturi? Eikö se olisi helpompaa?
Viessmann Vitocal 333-G, 180m kaivo
171m2/500m3 talo + 70m2/200m3 talousrakennus
Kokonaissähkö n 10000kWh(MLP n 5500kWh, IV-kone n 700kWh)

Poissa noble

  • Vanha jäsen
  • ****
  • Viestejä: 299
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #13 : 28.12.15 - klo:23:48 »
Vesilaitoksen kautta tilattuna perusmaksut nousee +15% ja en löytänyt mitä tuo tukkurilla erikseen kustantaisi, tuli vain kokonaisten mittareiden hintoja vastaan.
Nibe 1245-8 / 180m kaivo

Poissa fraatti

  • Konkari
  • *****
  • Viestejä: 3 907
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #14 : 29.12.15 - klo:00:45 »
Vesilaitoksen kautta tilattuna perusmaksut nousee +15% ja en löytänyt mitä tuo tukkurilla erikseen kustantaisi, tuli vain kokonaisten mittareiden hintoja vastaan.

Itse valikoin onnisen valikoimasta tuon mittarin itselle. Silloin  löysin tuolta kuvastosta mittarin ilman anturia ja anturilla sekä pelkästään paikalla. Muistelisin että myös pelkkä "karva" olisi löytynyt jostain. Eihän muuten ole mitään hyötyä tehdä mittari jos siihen ei saisi pelkkää johtoa paikoillee... kerropa mittarin malli niin mäkin voi koittaa etsiä...
Viessmann Vitocal 333-G, 180m kaivo
171m2/500m3 talo + 70m2/200m3 talousrakennus
Kokonaissähkö n 10000kWh(MLP n 5500kWh, IV-kone n 700kWh)

Poissa noble

  • Vanha jäsen
  • ****
  • Viestejä: 299
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #15 : 29.12.15 - klo:09:33 »
Mittari on Zenner MNK-N (tai-I) sama anturi niihin pitäisi mennä. Ja Q3=4.

Olen komponenttilaatikosta ottanut reed-kytkimen tuohon testiin, sillä saan pulssit, mutta haamuvedoista ei sitten ole tietoa. Joten mieluiten oma anturi, jos edullinen olisi.
Nibe 1245-8 / 180m kaivo

Poissa noble

  • Vanha jäsen
  • ****
  • Viestejä: 299
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #16 : 29.12.15 - klo:17:40 »
Oikea anturi olisi Zennerin tuotekoodin mukaan 111512 ...
Nibe 1245-8 / 180m kaivo

Poissa fraatti

  • Konkari
  • *****
  • Viestejä: 3 907
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #17 : 29.12.15 - klo:22:03 »
Oikea anturi olisi Zennerin tuotekoodin mukaan 111512 ...

Eikö tuon saisi tilattua jonkun puulaakin kautta tukusta? Usein rautakaupatkin suotuvat hoitamaan tilauksia esim onnisen kautta...
Itselle piti tulla mittari 1l/tarkkuudella mutta toimitusaika mittarissa olisi ollut monta kuukautta joten jouduin tyytymään 10l tarkkuudella olevaan. Meidän vesiosuuskunnassa on ollut tuo 1l tarkkuudella oleva ja tuo on näyttänyt kyntensä monessa asiassa vaikka kulutus saattaakin olla pitkälle toistasataa litraa minuutissa. Vuotojen yms paikantamiseen ollut loistava peli graafiseen etäluentaan yhdistettynä.
Viessmann Vitocal 333-G, 180m kaivo
171m2/500m3 talo + 70m2/200m3 talousrakennus
Kokonaissähkö n 10000kWh(MLP n 5500kWh, IV-kone n 700kWh)

Poissa Pali

  • Täysjäsen
  • ***
  • Viestejä: 47
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #18 : 22.04.16 - klo:21:32 »
Kaveri hommasi Leakomatic vuotovahdin ja siitä innostuneena vihdoin ja viimein sain itsellenikin kameran hommattua. Hienostihan tämä dialEye näyttäisi pelaavan, joten suuret kiitokset tästä.

Leokomatic tunnistaa myös tippavuodot hyvin nopeasti. Oletkos koskaan ajattellut, voisiko mustalle siipipyörälle tehdä jotain tunnistusta? Laitoin vesihanan tippumaan noin tippa sekunnissa.



Muutaman minuutin päästä siipipyörä oli hivenen liikahtanut



Tuosta jos saisi jonkun indikaation, niin tätä voisi käyttää myös hyvin pienien vesivuotojen tunnistamiseen  :)

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #19 : 22.04.16 - klo:22:45 »
Oletkos koskaan ajattellut, voisiko mustalle siipipyörälle tehdä jotain tunnistusta? Laitoin vesihanan tippumaan noin tippa sekunnissa.

Muutaman minuutin päästä siipipyörä oli hivenen liikahtanut

Tuosta jos saisi jonkun indikaation, niin tätä voisi käyttää myös hyvin pienien vesivuotojen tunnistamiseen  :)

Pienet vesivuodot toki sitten liikuttavat esim. yön aikana tuota vähiten merkitsevää viisaria (resoluutio 1 desilitra). Oma havainto on, että se siipipyörä liikkuu myös ilman tippavuotoja edestakaisin verkoston paineenvaihtelun mukana esim. Saattaisi tulla virheellisiä tippahavaintoja välillä.

No, yhtäkaikki toki on mahdollista samaan tapaan tehdä analyysiä esim. siitä, että onko käyttäjän maalaamalla alueella (ympyrä, neliö, muu) enemmän mustaa vai valkoista jollain ajanhetkellä. Kulutusta siitä on vaikea kameralla havaita ilman, että otettaisiin todella reaaliaikaista kuvaa, joka taas vaatisi paljon prosessoritehoa. Jos otetaan vaikka 1 sek välein kuva ja verrataan edelliseen, niin tuo siipipyörä on edennyt jo aika paljon, jos hana on auki eikä siitä ole mitenkään pääteltävissä paljonko se on edennyt.

Jos olisi luotettava siipipyörän anturointi ja pulssilaskenta, niin sillä voisi toki laskea kulutustakin ja arvioida vuotoa. Tämä mielestäni olisi jotain muuta kuitenkin kuin Raspberry ja web-kamera.

Poissa Pali

  • Täysjäsen
  • ***
  • Viestejä: 47
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #20 : 23.04.16 - klo:09:28 »
No, yhtäkaikki toki on mahdollista samaan tapaan tehdä analyysiä esim. siitä, että onko käyttäjän maalaamalla alueella (ympyrä, neliö, muu) enemmän mustaa vai valkoista jollain ajanhetkellä. Kulutusta siitä on vaikea kameralla havaita ilman, että otettaisiin todella reaaliaikaista kuvaa, joka taas vaatisi paljon prosessoritehoa. Jos otetaan vaikka 1 sek välein kuva ja verrataan edelliseen, niin tuo siipipyörä on edennyt jo aika paljon, jos hana on auki eikä siitä ole mitenkään pääteltävissä paljonko se on edennyt.

Tuolla mustan tai valkoisen määrällä varmaan saisi tunnistettua josko siipipyörä on liikahtanut. Esim 30 sekunnin välein ottaa kulutuksen ylös viisareista ja myös 30 sekunnin välein prosentuaalisen mustan tason siipipyörästä. Jos kulutus pysyy "paikallaan", niin ettei desilitra viisarikaan värähdä, mutta siipipyörä kuitenkin liikkuu jatkuvasti, niin mahdollinen tippavuoto voitaisiin saada kiinni. Kuten sanoit niin desilitran tai isommat vuodot saa kiinni yön aikana, mikäli muuta kulutusta ei ole ollut. Tämän muun kulutuksen tietäminen ohjelmallisesti onkin sitten kerta luokkaa haastavampaa. Tietysti jos mahdolliset paineenvaihtelut aiheuttaa myös siipipyörän muutoksia, niin sitten tämä ei toimi.

Poissa jussip

  • Täysjäsen
  • ***
  • Viestejä: 221
  • SH11, kaivo 235m
    • Valimo.info
Vs: dialEye v1.0a julkaistu
« Vastaus #21 : 24.04.16 - klo:21:17 »
Onnistuukohan tähän mittariin dialEye?
Juuri vaihdettu mittari ja siinä taitaa olla paikka anturille mutta mistähän sellasen saisi?
En löytänyt netistä mittarin merkillä yhtään anturia. Onko joku viritelly mitään vastaavaan mittariin tai onko tietoa miten se anturi toimii?

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #22 : 24.04.16 - klo:21:26 »
Saa siihen ainakin noiden 2 merkitsevimmän mittarin luvun (10 litran tarkkuus). Tuo litraviisari kun on peitossa, niin sitä ei taida saada luettua ja siitä syystä tuosta desiviisarista ei ole lukeman kannalta hyötyä.

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #23 : 05.03.17 - klo:22:00 »
Julkaistu 5.3.2017:

dialEye v1.0b:
  • Oletuksena dialEye määrittää etsittävän viisarin värin kunkin mittarin konfiguroidusta keskipisteestä pienen pläntin keskiarvona. Tuli kuitenkin tapaus, jossa juuri tuohon mittariviisarin keskelle osuu valoheijastuma, jota ei ollut mahdollista poistaa. Toisaalta, jos viisari olisi keskeltä eri värinen kuin "viiksi", niin ei välttämättä toimisi. Lisäsin mahdollisuuden määrittää viisarin mittausalueen värin konfiguraatiotiedostossa RGB-värinä, jolloin mittarin keskikohtaa ei käytetä tähän.
  • Lisätty konfiguraatioparametri DISABLE_ROUNDING, joka todeksi laitettuna saa dialEyen tulostamaan mittaustuloksen 2 desimaalin tarkkuudella. Oletuksena pyöristää lähimpään kokonaislukuun.

Poissa koowee

  • Nuorempi jäsen
  • **
  • Viestejä: 19
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #24 : 26.08.17 - klo:19:57 »
Aloin tekemään dialEye:lle uudelleen kohdistusta ja siinä törmäsin seuraavaan juttuun. Onko kyseessä bugi vai mittaako dialEye verbose moodissa tuloksen kahteen kertaan? DialEye:stä uusin versio ajossa.

Measured meter dial values pyöristysten jälkeen >   6719
Result antaa kuitenkin > 5719

Koodia: [Valitse]
pi@raspberrypi:/home/talo/dialEye $ python dialEye.py -v -f /home/talo/dialEye/dialEye.conf -s -u --username dial --password eye meter "http://192.168.1.219/image/jpeg.cgi"
Loading shake configuration from dialeye_shakes.conf

Preloaded shakes:
  dx = 0, dy = 0, rotation = 0.00 degrees

Shaking and metering...

Dial color (RGB): 240,240,240


Dial color (RGB): 234,234,234


Dial color (RGB): 232,232,232


Dial color (RGB): 234,234,234


Saved shake configuration to dialeye_shakes.conf

Times: shaking: 4.31 sec,  metering: 0.86 sec

Calculated shakes:
  dx = 0, dy = 0, rotation = 0.00 degrees

Measured meter dial values:
  6.19
  7.32
  1.64
  9.42

Result:
5719

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #25 : 26.08.17 - klo:20:11 »
Kyseessä voi olla bugi. Tutkin asiaa. Sinänsä siellä on kyllä logiikkaa, joka pyöristää mielestään oikeelliseksi tuota dataa, joten aina ei tule ihan täsmälleen sama kuin mitä raaka-arvot viisareille. Tuossa tapauksessa sellaista ei kuitenkaan varmaan pitäisi tapahtua.

Poissa koowee

  • Nuorempi jäsen
  • **
  • Viestejä: 19
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #26 : 26.08.17 - klo:21:54 »
Kyseessä voi olla bugi. Tutkin asiaa. Sinänsä siellä on kyllä logiikkaa, joka pyöristää mielestään oikeelliseksi tuota dataa, joten aina ei tule ihan täsmälleen sama kuin mitä raaka-arvot viisareille. Tuossa tapauksessa sellaista ei kuitenkaan varmaan pitäisi tapahtua.

Kiitoksia! Ilmoittele jos tarvitset jotain lisätietoja

Poissa Taikaviitta

  • Nuorempi jäsen
  • **
  • Viestejä: 8
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #27 : 06.02.18 - klo:12:37 »
Moi,

törmäsin DialEyehin sattumalta jonkun blogin kautta ja koska olin jo aiemminkin suunnitellut vesimittarin lukemista vanhan webkameran avulla niin käyttöönoton kanssa ei tarvinnut paljon jahkailla. Suuret kiitokset kehittäjälle! :)

Homma lähti toimimaan hyvinkin jouhevasti, toki kalibrointiin meni aikansa ja yksi mittareista osoittautua muita kinkkisemmäksi (mittarin sisällä näyttää olevan jotain roskaa), mutta mittarikohtainen RGB-asetus näyttää tuoneen siihenkin ratkaisun. Backendinä toimii Domoticz jonne lisäsin sekä virtaus- että kulutusmittarit. Tuon kulutusmittarin suhteen aloin miettimään, että miten olette ratkaisseet "nollaantumisen" eli sen että suurimmankin resoluution mittari lähtee aina nollasta mentyään ympäri? Lähinnä mietin että laitan päivityscriptiin niin että se ottaisi mukaan "yksi yli" arvon vaikka tekstifilestä ja kun mittarilta luettuun lukemaan tulee seuraavan kerran nolla alkuun niin kasvattaa tuota tekstifilen arvoa yhdellä. Mutta mietinkö tätä nyt liian monimutkaisesti, oletteko ottaneet muunlaisia ratkaisuja käyttöön tämän haasteen taklaamiseksi?

Poissa Taikaviitta

  • Nuorempi jäsen
  • **
  • Viestejä: 8
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #28 : 02.03.18 - klo:01:34 »
Nyt on kuukauden verran seurailtu vedenkulutusta. Hoidin tuon yllä kysytyn niin, että viritin bash-scriptin joka päivityksen yhteydessä tsekkaa ensin erillisestä filestä kuutiolukeman ja "kuutiostatuksen" ja mikäli mittarilukema alkaa nollalla ja statuskin on nollattu, lisää se kuutiolukemaan +1 ja muuttaa statuksen (status resetoituu vasta kun mittarilukema alkaa 4, 5 tai 6, tämä siksi että lukema hyppii joskus edes takaisin, eritoten 0->9 tai 1->0). Lisäksi siellä on ehto että negatiivista kulutusta ei päivitetä Domoticziin (vertaa nykyistä ja edellistä lukemaa) ja sama homma jos kulutus yli 100l/min.

Alkuun homma toimi erityisen hyvin, mutta viimeisen viikon aikana näyttää että lukemat elää aika paljon (luvut hyppii eri numeroiden välillä edes takaisin) ja välillä yhden mittarin asentoa ei tunnisteta lainkaan, vaikka lisäsin kaikkiin varoiksi RGB-arvonkin. En oikein ymmärrä mistä tämä johtuu kun kamera ei näytä lainkaan liikkuneen ja valaistusolotkin ovat pysyneet vakaina ja alkuun vastaavia ongelmia ei mielestäni ollut. Toki scriptin tsekkaukset pitää aika hyvin huolen siitä että Domoticzissa lukemat ei pompi mitenkään villisti. Joka tapauksessa, kaikki vinkit tilanteen stabiloimiseksi otetaan ilolla vastaan.

Kiitokset kehittäjälle vielä kertaalleen tästä, loistava softa! :)

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #29 : 02.03.18 - klo:10:46 »
Jos laitat näytille kameran nyt ottaman mittarikuvan sekä tämänhetkisen dialEye:n konfiguraatiotiedoston, niin voin koittaa katsoa olisiko konffiksessa jotain viilattavaa.

Poissa Taikaviitta

  • Nuorempi jäsen
  • **
  • Viestejä: 8
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #30 : 02.03.18 - klo:23:50 »
Hienoa, kiitokset jo etukäteen. Tässä näitä olisi. Laitan varoiksi esimerkin yhdestä aikaisemmasta kuvasta, jossa reunimmainen lukema ei tunnistu sekä tämän hetken kuvan ja miten sen "tilanne" (-r optio) näkyy.

Koodia: [Valitse]
CALIBRATION_IMAGE = /home/pi/scripts/dialEye/calibration_image.jpg

@DIAL = 923:341:78:27:2.0:77.0:0:0:158:77:82
@DIAL = 838:514:78:27:2.0:77.0:0:0:156:57:57
@DIAL = 653:583:78:27:2.0:77.0:0:0:153:68:73
@DIAL = 446:481:78:27:2.0:77.0:0:0:150:62:65

@POSAREA = 345:300:445:355
@POSAREA = 770:125:828:173
@POSAREA = 655:355:680:390

DISABLE_IMAGE_SHAKE = false

SHAKE_RADIUS = 1

TURN_ANGLE = 0.5
TURN_ANGLE_STEP = 0.5

SHAKE_FILE = /home/pi/scripts/dialEye/dialeye_shakes.conf

DETECTION_TRESHOLD = 10

IMAGE_FILTER = NONE

DISABLE_ROUNDING = false

Poissa olammi

  • Konkari
  • *****
  • Viestejä: 506
  • Aircooled
Vs: dialEye v1.0a julkaistu
« Vastaus #31 : 03.03.18 - klo:12:57 »
Koitapa seuraavia arvoja (vain muuttuneet rivit alla):
Koodia: [Valitse]
@DIAL = 919:337:77:27:2.0:77.0:0.0:0:150:72:85
@DIAL = 833:513:77:26:2.0:77.0:1.0:0:157:57:57
@DIAL = 649:581:78:27:2.0:77.0:0.0:0:177:68:73
@DIAL = 441:479:78:27:2.0:77.0:3.0:0:155:59:61

DETECTION_TRESHOLD = 40

Pientä hienosäätöä myös noissa mittareiden arvoissa, mutta varmasti isoin ongelma oli tuo liian pieni DETECTION_TRESHOLD. Uskoisin, että noilla tilanne paranee paljon värähtelyn suhteen.

Poissa Taikaviitta

  • Nuorempi jäsen
  • **
  • Viestejä: 8
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #32 : 03.03.18 - klo:14:56 »
Kiitos, laitan heti kokeiluun. Muistan testailleeni eri detection thresholdeja, olisiko ollut suurin piirtein välillä 5-50. Jostain syystä tuolloin jo 20 tuntui olevan liikaa, mutta tällä tiedolla uskoisin että syynä oli tuolloin jonkun muun settarin ”väärä” arvo mikä sotki kokonaisuutta.

Poissa Taikaviitta

  • Nuorempi jäsen
  • **
  • Viestejä: 8
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #33 : 05.03.18 - klo:00:43 »
Reilun vuorokauden jälkeen voin sanoa että hyvältä näyttää, lokissa ei näy enää yhtään virheitä muutoksen jälkeen... 8)

edit: 4pv lisää seurantaa ja vain yksi virhe eli homma rokkaa, kiitokset vaivannäöstä @olammi! :)
« Viimeksi muokattu: 07.03.18 - klo:23:12 kirjoittanut Taikaviitta »

Poissa Ruohonjuuri

  • Nuorempi jäsen
  • **
  • Viestejä: 18
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #34 : 24.10.18 - klo:20:16 »
Hoidin tuon yllä kysytyn niin, että viritin bash-scriptin joka päivityksen yhteydessä tsekkaa ensin erillisestä filestä kuutiolukeman ja "kuutiostatuksen" ja mikäli mittarilukema alkaa nollalla ja statuskin on nollattu, lisää se kuutiolukemaan +1 ja muuttaa statuksen

Et haluaisi tehdä yhteisöllistä tekoa ja jakaa tuota tekemääsi shell-skriptiä  :-\ :)
154m2 puutalo yhdessä tasossa | Rakennusvuosi 2017 | Espoo | Vesikiertoinen lattialämmitys
Nibe F1226-8 | Jäspi VLM-300S lisävaraaja | Nibe FLY 3 maaviileä | Kaivo 155m

Poissa Proxor

  • Nuorempi jäsen
  • **
  • Viestejä: 22
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #35 : 15.12.18 - klo:20:36 »
Olen nyt yrittänyt saada taloLoggerii laitettua tuota dialEye hommaa. Mutta olen saanut otettua kameralla kuvia raspbiin ja tehtyä niinsanotun kalibroinnin. Mutta seuraavia ongelmia en ole saanut ratkaistua:

  • Käytössä on USB web cam millä saan liipaistua tällä kuvan siten että saan sitä luettua dialEyella. eli porukka on käytänyt näillä wlan kameroilla ilmeisesti seuraavaa komentoa: DIALEYE1:PARAMETERS = /home/talo/dialEye/dialEye.py -f /home/talo/dialEye/dialEye.conf -s -u --username vesi --password mittari meter "http://192.168.0.80:8085/snapshot.cgi?
  • Toinen ongelma on että nykyisessä kamerassa ei ole IR. Saisko sen jotenki värkättyä siten että ottaisi rasp:n GPIO ohjauksen ledille mitä aina sytytettäisiin kun kuva otetaan vai onko se pakollista ostaa tuollainen IR kamera.
  • Webbi kamera ottaa kuvia 90 asetetta eli kuva pitää kääntää aina niin saako tämän myös tehtyä automatic

« Viimeksi muokattu: 16.12.18 - klo:14:01 kirjoittanut Proxor »
Viessmann Vitocal 333-G, 180m kaivo
150m2/400m3 talo + 35m2/185m3 talousrakennus

Poissa Proxor

  • Nuorempi jäsen
  • **
  • Viestejä: 22
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #36 : 29.12.18 - klo:21:01 »
Onpas hiljaista tässä ketjussa kun kukaan ei vastaa mitään  :'(

No sain joihinkin kysymyksiin jo ratkaisun eli miten kääntää kuva

Koodia: [Valitse]
" fswebcam --rotate 270 --set brightness=50 --set contrast=50 --set gamma=100 --set exposure=499 /home/pi/dialEye/docs/%y%m%d-%H%M%S "
Kyseisellä komennolla saan otettua hyvän kuvan ja luettua sitä.

Toiseen ongelman ratkaisin niinkin yksinkertaisesti että otin GPIO pinneistä suoraa syötön ledille. Mutta ledin syttyminen kuvaustilanteessa vielä kiinnostaa.

Itselläni on vielä edelleen auki miten saan tuon datan TaloLoggeriin kun ei ole langatonta web kameraa.
Viessmann Vitocal 333-G, 180m kaivo
150m2/400m3 talo + 35m2/185m3 talousrakennus

Poissa karis

  • Tulokas
  • *
  • Viestejä: 3
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #37 : 04.01.19 - klo:18:26 »
def on_message(self, client, userdata, msg):
Itselläni on vielä edelleen auki miten saan tuon datan TaloLoggeriin kun ei ole langatonta web kameraa.



Minä modasin dialeyey koodia  niin että se laittaa ledit päälle ennen kuvan ottoa ja sit sammuttaa. gpio ohjaukeen käytän pigpio mutta se onnistuu millä tahansa gpio kirjastolla. Tässä joku pätkä jonka löysin tähän hätään:

Koodia: [Valitse]
def CommandMeter(conf, meterfile):     
resimg = None
resdata = None
   
if conf.isTrue('ISURL'):
...
else:
#use fswebcam
#os.system('echo "w 12 1" > /dev/pigpio')
#os.system('fswebcam -r 640x480 --top-banner --save /var/tmp/dialEye.jpg -S 5 --jpeg 95') # uses Fswebcam to take picture
#os.system('echo "w 12 0" > /dev/pigpio')

#use rasb cam
os.system('echo "w 16 1" > /dev/pigpio')
camera = PiCamera()
camera.resolution = (1280, 720)
camera.start_preview()
# Camera warm-up time
sleep(2)
camera.capture('/var/tmp/dialEye.jpg')
camera.close()
os.system('echo "w 16 0" > /dev/pigpio')



Itselläni on vielä edelleen auki miten saan tuon datan TaloLoggeriin kun ei ole langatonta web kameraa.

Minä lähetän sähkömittarilta rasbilla mosquitto (http://www.steves-internet-guide.com/into-mqtt-python-client/) viestissä infon talologgerilla joka loggaa sen tietokantaan. Talologgerin tein uuden threadin jossa kuuntelen mqtt viestejä ja clientin on_message funkkarissa talletan viestin kantaan:
Koodia: [Valitse]
def on_message(self, client, userdata, msg):
    if len(self.storelist) > 0:
        for store in self.storelist:
            data = [['kwh_counter',unicode(msg.payload)]]
            store.insertData(time.time(), data)

Poissa Proxor

  • Nuorempi jäsen
  • **
  • Viestejä: 22
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #38 : 21.01.19 - klo:20:02 »
def on_message(self, client, userdata, msg):


Minä modasin dialeyey koodia  niin että se laittaa ledit päälle ennen kuvan ottoa ja sit sammuttaa. gpio ohjaukeen käytän pigpio mutta se onnistuu millä tahansa gpio kirjastolla. Tässä joku pätkä jonka löysin tähän hätään:

Koodia: [Valitse]
def CommandMeter(conf, meterfile):     
resimg = None
resdata = None
   
if conf.isTrue('ISURL'):
...
else:
#use fswebcam
#os.system('echo "w 12 1" > /dev/pigpio')
#os.system('fswebcam -r 640x480 --top-banner --save /var/tmp/dialEye.jpg -S 5 --jpeg 95') # uses Fswebcam to take picture
#os.system('echo "w 12 0" > /dev/pigpio')

#use rasb cam
os.system('echo "w 16 1" > /dev/pigpio')
camera = PiCamera()
camera.resolution = (1280, 720)
camera.start_preview()
# Camera warm-up time
sleep(2)
camera.capture('/var/tmp/dialEye.jpg')
camera.close()
os.system('echo "w 16 0" > /dev/pigpio')



Minä lähetän sähkömittarilta rasbilla mosquitto (http://www.steves-internet-guide.com/into-mqtt-python-client/) viestissä infon talologgerilla joka loggaa sen tietokantaan. Talologgerin tein uuden threadin jossa kuuntelen mqtt viestejä ja clientin on_message funkkarissa talletan viestin kantaan:
Koodia: [Valitse]
def on_message(self, client, userdata, msg):
    if len(self.storelist) > 0:
        for store in self.storelist:
            data = [['kwh_counter',unicode(msg.payload)]]
            store.insertData(time.time(), data)

Hei kiitos tällä pääsinki jo mukavasti eteenpäin. Toki en ajatellut käyttää moquittoa vaan tuolla valmiilla mitä taloLoggerissa.conf on jo valmiina.

Mutta tuosta taitaa olla apua kun rupean kesällä rakentamaan sähkömittarille pulssi lukua ja kaivon veden pinnan tarkkailua. Joudun varmaan kyselemään sitten lisää tuosta  :P
Viessmann Vitocal 333-G, 180m kaivo
150m2/400m3 talo + 35m2/185m3 talousrakennus

Poissa Taikaviitta

  • Nuorempi jäsen
  • **
  • Viestejä: 8
  • Maalämpöfoorumi
Vs: dialEye v1.0a julkaistu
« Vastaus #39 : 01.02.19 - klo:00:49 »
Et haluaisi tehdä yhteisöllistä tekoa ja jakaa tuota tekemääsi shell-skriptiä  :-\ :)

Toki, pahoittelut viivästyneestä vastauksesta, mutta tuli taas ajankohtaiseksi tämä asia kun vesimittari vaihdettiin ja homma ei enää ihan niin hyvin futaa kuin edellisessä. Ilmeisesti siksi, että mittari ns. "märkä" malli ja ilmakuplat lasin alla haittaa lukemista. Skripti on kaukana kauniista, mutta se on toiminut omassa käytössä. Nyt kun saisi lukemat vielä tarkaksi... :)

Koodia: [Valitse]
#!/bin/bash

#Take snapshot and read meter with Dialeye
/usr/bin/ffmpeg -rtsp_transport tcp -i 'rtsp://CAMURL' -f image2 -vframes 1 /home/pi/scripts/dialEye/meter_image.jpg
mittari=$(/usr/bin/python /home/pi/scripts/dialEye/dialEye.py -f /home/pi/scripts/dialEye/dialEye.conf meter /home/pi/scripts/dialEye/meter_image.jpg)

#check current m3 and meter status, FALSE = No leading zero(s), TRUE = leading zero so +1 to be added to m3
kuutiot=`cat /home/pi/scripts/dialEye/kuutiot.txt`
status=`cat /home/pi/scripts/dialEye/status.txt`
onmuuttunut=false

if [[ $mittari == 0* ]] && [[ $status == FALSE ]] ; then
   kuutiot=$((kuutiot+1))
   echo $kuutiot > /home/pi/scripts/dialEye/kuutiot.txt
   echo "TRUE" > /home/pi/scripts/dialEye/status.txt
   echo $(date +"%Y-%m-%d %H:%M:%S") $kuutiot " -> muutos +1" >> /home/pi/scripts/dialEye/dialeye_result.log
   sed -i -e 1,1d /home/pi/scripts/dialEye/dialeye_result.log
   onmuuttunut=true
elif [[ $mittari == 4* ]] && [[ $status == TRUE ]] ; then
   echo "FALSE" > /home/pi/scripts/dialEye/status.txt
elif [[ $mittari == 5* ]] && [[ $status == TRUE ]] ; then
   echo "FALSE" > /home/pi/scripts/dialEye/status.txt
elif [[ $mittari == 6* ]] && [[ $status == TRUE ]] ; then
   echo "FALSE" > /home/pi/scripts/dialEye/status.txt
fi

#Consumption
kulutus="${kuutiot}${mittari}"

#Count average water consumption l/min
edellinenkulutus=`cat /home/pi/scripts/dialEye/dialeye_result_previous.txt`
viimeisinkulutus=$((kulutus - edellinenkulutus))
viimeisinkulutus=$(echo "scale=2 ; $viimeisinkulutus / 10" | bc)

#Exit if speed is too high or less than zero
if (( $(echo "$viimeisinkulutus > 1000" | bc -l) )) || (( $(echo "$kulutus < $edellinenkulutus" | bc -l) )) ; then
    curl -s -m 10 --connect-timeout 10 "http://DOMOURL10"
    if [[ $onmuuttunut = true ]] ; then
        kuutiot=$((kuutiot-1))
        echo $kuutiot > /home/pi/scripts/dialEye/kuutiot.txt
        echo $(date +"%Y-%m-%d %H:%M:%S") $kuutiot " -> muutos -1" >> /home/pi/scripts/dialEye/dialeye_result.log
        sed -i -e 1,1d /home/pi/scripts/dialEye/dialeye_result.log
    fi
    echo $(date +"%Y-%m-%d %H:%M:%S") $kulutus "VIRHE" >> /home/pi/scripts/dialEye/dialeye_result.log
    sed -i -e 1,1d /home/pi/scripts/dialEye/dialeye_result.log
else

#Post speed
curl -s -m 10 --connect-timeout 10 "http://DOMOURL1$viimeisinkulutus"

#Post consumption
curl -s -m 10 --connect-timeout 10 "http://DOMOURL2$kulutus"
echo $kulutus > /home/pi/scripts/dialEye/dialeye_result_previous.txt

echo $(date +"%Y-%m-%d %H:%M:%S") $kulutus >> /home/pi/scripts/dialEye/dialeye_result.log
sed -i -e 1,1d /home/pi/scripts/dialEye/dialeye_result.log

fi