1-wire for dummies

A

apophis

Vieras
Vs: 1-wire for dummies

Tuli laitettua 1-wire verkkoon valmis dual counter kortti laskemaan kwh mittarin impulsseja. Tälle kortille tuli 30 metrin veto ja nyt huomasin, että välillä osa lämpötila-antureista häipyy näkyvistä. Ilmeisesti samanlaista ongelmaa on muillakin, mutta onko ratkaisua?

- Adapterina DS9490R
- Lämpötila-anturit 9kpl parasite powerilla, johdot n. 2 metriä
- Kosteusanturi (1-w A/D muunnin) +5V syöttö, johdot n. 6 metriä
- Dual-counter +5V syöttö, johdot n. 30 metriä
- Tähtitopologia ja kaikki yhdistetty 'sokeripala' rimassa

Minulla on linux skriptissä retry logaukselle ja se ainakin toistaiseksi korjaa ongelmat. Vaan olishan se kiva, jos tuo verkko olisi edes vähän luotettavampi...
 

mc

Aktiivinen jäsen
Vs: 1-wire for dummies

apophis sanoi:
Ilmeisesti samanlaista ongelmaa on muillakin, mutta onko ratkaisua?
Täällä tuli porleemia verkon kasvaessa.. ???
Pistin vanhan nokialaisen powerin ylösvetämään laskureita, ja muokkasin sokeripalatähden mahdollisimman väylämäiseksi. :p
Näillä helpotti toistaiseksi.. ;)
 

timop

Aktiivinen jäsen
Vs: 1-wire for dummies

minulla on hyvinkin vastaava systeemi ilman kosteusanturia, kaikki lämpötila-anturit on kuitenkin myös +5V syötöllä myös eikä ongelmia ole, vedot on kahta anturia lukuunottamatta yli 10metriä ja kaikki liitokset juotettu. dual counterissa on ilpin oma kwh mittarin luku sekä talon kwh mittarin luku.
Ja topologia on vähän mitä sattuu, osa tähtenä ja pitkissä vedoissa sarjassa.
kaapelina MHS.

aluksi mittaus oli digitempillä toimi silläkin, mitä nyt joskus jotain satunnaisia pätkyjä joltain anturilta jäi lukemat tulematta tai oli joku hullu lukema >80astetta.
vaihdoin owfs:lle niin ei ongelmia enää ole (mittaukset minuutin välein molemmissa), josta tallennus mysql kantaan.


apophis sanoi:
Tuli laitettua 1-wire verkkoon valmis dual counter kortti laskemaan kwh mittarin impulsseja. Tälle kortille tuli 30 metrin veto ja nyt huomasin, että välillä osa lämpötila-antureista häipyy näkyvistä. Ilmeisesti samanlaista ongelmaa on muillakin, mutta onko ratkaisua?

- Adapterina DS9490R
- Lämpötila-anturit 9kpl parasite powerilla, johdot n. 2 metriä
- Kosteusanturi (1-w A/D muunnin) +5V syöttö, johdot n. 6 metriä
- Dual-counter +5V syöttö, johdot n. 30 metriä
- Tähtitopologia ja kaikki yhdistetty 'sokeripala' rimassa

Minulla on linux skriptissä retry logaukselle ja se ainakin toistaiseksi korjaa ongelmat. Vaan olishan se kiva, jos tuo verkko olisi edes vähän luotettavampi...
 
L

lorvi

Vieras
Vs: 1-wire for dummies

Kyllä se virta pitää syöttää erikseen, minulla suoraan USBista, muutoin kyllä ongelmia piisaa yli 10 anturin verkoissa. Jos sattuu nurkista löytymään FT232r perustainen killuke, niin kokeilla kannattaa lukea sillä suoraan, vain diodi tai 1,5k vastus rx-tx välille ja tx>ow suoraan ja asetukset samat kuin sillä kivikautisella sarjaportti härpäkkeellä, hitaampi mutta paras testaamani. 100 ohmin vastukset kuhunkin linjaan on myös kova sana, joissakin tapauksissa välttämätön.
Pelkillä DS18B20 antureilla tuntuu toimivan millainen verkko tahansa mutta DS18S20 toi minulla ensimmäiset ongelmat, kosteusanturit ja counterit teettivät jo töitäkin.
kuvia
 
A

apophis

Vieras
Vs: 1-wire for dummies

Jep, kyllä ne parasiittipoweroidut lämpötila-anturit lienee se ongelman ydin. Anturit joilla on +5V syöttö tuntuvat toimivan ja näkyvän aina. Tuo uusi 30 metrin veto ehkä häiritsee 1-wire datalinjaa sen verran, että lämpötila-antureilla on vaikeuksia saada parasiittipoweria.
 
A

apophis

Vieras
Vs: 1-wire for dummies

lorvi sanoi:
100 ohmin vastukset kuhunkin linjaan on myös kova sana, joissakin tapauksissa välttämätön.

Siis anturille menevään 1-wire data linjaan 100 ohminen? Voisi kokeilla ainakin siihen 30m johtoon, jos se vähentäisi linjan soimista ja toimisi paremmin.
 
L

lorvi

Vieras
Vs: 1-wire for dummies

apophis sanoi:
Siis anturille menevään 1-wire data linjaan 100 ohminen? Voisi kokeilla ainakin siihen 30m johtoon, jos se vähentäisi linjan soimista ja toimisi paremmin.
http://www.maxim-ic.com/app-notes/index.mvp/id/148
kyllä, ja kunkin anturin ja adapterin välillä saa olla vain yksi vastus
rakentelin vanhasta hubista "1-wire hubin" kun siihen oli niin helppo tinata vastukset ja liittimet valmiina paikoillaan.
 
L

lorvi

Vieras
Vs: 1-wire for dummies

lorvi sanoi:
Yhä vaivaa tuo DS2438+HIH-4000+Solar /Logtemp ei lue kosteutta eikä solaria kosteuden ollessa ~100%. Antaa virheilmoituksen ettei voi lukea kosteusanturia. Kun muutan asetuksista että lukee lämpötilan ja solar, niin silloin antaa lukemat. Lukee myös OneWireViewerillä kosteuden ko. anturista ja ilmoittaa 100%. Heti kun kosteus laskee alkaa kaikki taas toimimaan Logtempillä. Onko mahdollista että Logtempissä on jokin solu/lokero liian pieni, ettei siihen mahdu 3 numeroinen kokonaisluku. En kyllä ymmärrä koodaamisesta mutta tuntuisi loogiselta.
Taasen 99.71% saakka toimi ja sitten 3kertaa error, 99.40% alkoi lukea kun kosteus laski ?????
Sain vastausta ongelmaan.
Nettiä selaillessa huomasin paljon kirjoituksia kun oli luovuttu kosteudenmittauksista kun anturi antaa virhettä ja syyksi anturi ja ohjelmana Logtemp. Tämä johtuukin ohjelmasta. Tässä oleelisimmat.
"Kun LogTemp lukee kosteusanturiin liittyvät arvot, pitää arvojen olla piirien datalehdissä mainittujen arvojen välissä. Mikäli arvot eivät siellä ole, annetaan se virheilmoitus."
"Moni muu 1-wire ohjelma on toteutettu virhetilanteiden osalta siten, että näytetään vain 100%."
Korjauskin ehkä tulossa.
"Voin tutkia mahdollisuutta, jolla käyttäjä voisi ohjelmassa määritellä virhetilanteiden ”hallinnan”. Se ehkä ratkaisisi ongelmasi."
Ohjelma on sinänsä käyttööni sopiva kun ei tarvitse mitään koodaamista ja toimii Win ympäristössä ilman fooliota, propelia ja antennia.
Kiitokset ohjelman tekijälle kuuluu myös nopeista vastauksista.
Nyt alkaa kyllä vähän nyppimään tuo Logtempin kosteusmittaus kun näin kosteilla ilmoilla antaa virhettä yhtenään ja samalla halvaannuttaa koko mittaukset.
 
A

apophis

Vieras
Vs: 1-wire for dummies

Tuosta 1-wire verkon häviämisestä vielä. Eli ratkaisuna liitosten juottaminen ja 150 ohm vastukset DATA linjoihin, niin nyt on pelannut ilman virheitä. Vastuksia en laittanut kuin pisimpiin vetoihin, lyhyet on edelleen ilman.
 
L

lorvi

Vieras
Vs: 1-wire for dummies

Otin vanhasta puhelinlinjan suojarasiasta tuollaisen komponentin joka lisää vikasietoisuutta huomattavasti minun verkossani, lisäksi on 100 ohmiset vastukset pitemmissä linjoissa, aivan lyhyissä ei mitään tuon kuvassaolevan lisäksi mikä sijaitsee välittömästi 2480 lähdossä(OW).
 

Liitteet

  • IMG_1286.JPG
    IMG_1286.JPG
    50,4 KB · Katsottu: 441

VesA

Moderaattori
Ylläpidon jäsen
Vs: 1-wire for dummies

En ihan ole kyennyt ymmärtämään mihin kaikkialle noita vastuksia näissä neuvoissa laitetaan, mutta linjan päässä karvojen välissä pitäisi olla paras paikka. Signaalit ovat niin hitaita, ettei vastusarvon tarvitse kovin hyvin sopia kaapelin impedanssiin.. 100ohmia on CAT5:n arvo. Liian pienen vastuksen tuntee kyllä siitä ettei onewire pysty pitämään +5V jännitettä, liian suuren siitä että häiriöt sotkevat toimintaa.

Itse katselin joskus tilannetta oskilloskoopilla, onewire näyttää sietävän aika hurjia häiriöitä ainakin digitempin kanssa.
 
P

P3trik

Vieras
Vs: 1-wire for dummies


Yritin löytää DS2324 (1-wire counterin) ebaystä ja aliexpressistä. Ei tosiaankaan löytynyt. Mistäs olette viime aikana näitä laskureita ostelleet ? Olisi tarvetta 2-4kpl:lle.
 
D

Deleted member 1344

Vieras
Vs: 1-wire for dummies

www.hobbyboards.com

Yksi Dual Counter kotiintoimitettuna (kestää noin viikon) $33.59 postikuluineen. Jos tilaa enemmän kuin yhden kerralla, pääsee harjoittelemaan uutta nettitullausta ja saa maksaa 22% arvonlisäveroa Tullille.
 
P

P3trik

Vieras
Vs: 1-wire for dummies


Kiitos - näytti olevan myös piirejä jäljellä SMD:nä ja piirilevyjäkin. Tilasin sitten sekä smd piirin+piirilevyn että valmiiksi kasatun piirilevyn ensi kevään projektiin.
 
M

MiLe

Vieras
Vs: 1-wire for dummies

Toni sanoi:
www.hobbyboards.com

Yksi Dual Counter kotiintoimitettuna (kestää noin viikon) $33.59 postikuluineen. Jos tilaa enemmän kuin yhden kerralla, pääsee harjoittelemaan uutta nettitullausta ja saa maksaa 22% arvonlisäveroa Tullille.

Tuo oli hyvä pointti! ALV on siis 23%. Jos ostos on suurimmillaan 43,45 eur tulee tästä ALV:ksi 9,9935 eur, joka pyöristyy 9,99 euroksi. Alle 10,00 euron ALV:ia kun ei tarvitse maksaa, niin 43,45 eur on siis yläraja ALV:ittomalle ostolle.

Ostos hinnaltaan 43,46 eur toisi jo 9,9958 eur ALV:ia, joka pyöristyy 10,00 euroksi => siis verot maksuun.
 
L

lorvi

Vieras
Vs: 1-wire for dummies

P3trik sanoi:
Yritin löytää DS2324 (1-wire counterin) ebaystä ja aliexpressistä. Ei tosiaankaan löytynyt. Mistäs olette viime aikana näitä laskureita ostelleet ? Olisi tarvetta 2-4kpl:lle.

Suosi suomalaista, se on kaikki kotiinpäin
http://www.tietopetri.fi/
nopeat toimituksetkin eikä pahat toimituskulut.
 
A

apophis

Vieras
Vs: 1-wire for dummies

Tämä saksalainen kauppa on oikein hyvä ja halpa http://www.fuchs-shop.com/en/

Ei tarvi tulleista miettiä ja kohtuu postit suomeen.
 

Kari

Aktiivinen jäsen
Vs: 1-wire for dummies

lorvi sanoi:
Suosi suomalaista, se on kaikki kotiinpäin
http://www.tietopetri.fi/
nopeat toimituksetkin eikä pahat toimituskulut.

http://www.hobby-boards.com/catalog/index.php?cPath=26

Pelkkä piiri 6$ totaalisen mälsä juottaa kun on pintaliitos palikka mutta ei ole paha hinta postikulut muistaakseni samaa 6$ luokkaa.
28£ valmis palikka mutta tosi korkealla siäänmeno impedansilla eli pitää melkein pikkusen modata jos jotain muutakin meinaa mitata kun verkkovirran häitiöitä.
USB / 1-Wire palikka 28$ ostin hätäpäissäni kun halpa oli ja samalla kaapelin RJ11/RJ45 millä ei muuten tee mitään tai ainakaan mun käytössä.
On meinaan piuhattu ainoastaan parasiitti käyttöön. Ainoastaan yksi pari tulee RJ45:toselle ja nimenomaan se +5V puuttu kaapelista minkä takia ostin kapula muuten soiva peli.
Täysin johdatettua RJ11/RJ45 eli kaikki 6 johdinta RJ11 on käytössä ei muuten ihan helpolla löydy.Eli autotallia pitää penkoa pitkään varsinkin kun puristus pihdit on hukassa :D
 
D

Deleted member 1344

Vieras
Vs: 1-wire for dummies

Kari sanoi:
Täysin johdatettua RJ11/RJ45 eli kaikki 6 johdinta RJ11 on käytössä ei muuten ihan helpolla löydy.Eli autotallia pitää penkoa pitkään varsinkin kun puristus pihdit on hukassa :D

Mä tein tuollaisen RJ45-liittimestä. Hiomakoneella kummaltakin puolelta sen verran pois että se sopii tuohon RJ11-liittimen paikkaan. Ja avot, kaikki 6 linjaa ovat käytössä.

Mulla on Bilteman pihdit, sieltä saa myös RJ45-liittimiä edukkaasti. RJ11-liittimiä ei enää löydy, niitä ja RJ11-jatkoja pitää hakea Clas Ohlssonilta. RJ45-jatkopalikat ovat ihan törkeän hintaisia. Mulla on itse asiassa hyvä varasto RJ11-jatkoja ja haaroja, kun nuo maksoivat jenkeissä vain dollarin kappale paikallisessa isossa kodinkoneliikkeessä.
 
L

lorvi

Vieras
Vs: 1-wire for dummies

Nuo piirin pinnit voi pienillä pinseteillä kääntää piiristä ulospäin jolloin se on helpompi juottaa, olen juottanut noita vanhoille romppuasemista ym. leikkaamiini piirilevyihin mihin sitten onkin jo helpompi juotella johtoja ym. (ikääkin jo kuudetkympit, vain näkö hieman haittaa mutta lasit auttaa)
 
D

Deleted member 1344

Vieras
Vs: 1-wire for dummies

Totta. Fyysisesti ne ovat toki samanlevyiset. Eli tarkoitin siis sitä että hioin RJ45-liittimestä niin paljon pois että se sopii RJ12-liittimen tilalle, kaikki kuusi pinniä mukana.
 

Kari

Aktiivinen jäsen
Vs: 1-wire for dummies

systeemi sanoi:
Totas noin tuo 6-napainen on rj-12 liitin. Löytyy elektroniikka liikkeistä. rj-11 on vastaavasti 4-napainen.
Anteeksi epäselvä selitys mutta liitäntöjen epäselvyys voi tuottaa päänvaivaa Onko4/6 jne stanut on stanuja jne
RJ12 /RJ11RJ/45 ei ole mikään ihme juttu mutta käytetään aika sekavasti.Kyllä minä tiedän ja osaan veivata pinnit miten huvitrtaa,

Me tiedetään miksi ja miten kytketään mutta kaikille liitäntä RJ11/RJ45 ei ole selvä.
Siksi sanoin varoituksen sanan ;)
 
P

P3trik

Vieras
Vs: 1-wire for dummies

Kiitokset vinkeistä. Sain sitten oman 1-wire verkon ylös ja toimimaan. Hyvä homma niin pääsee seuraamaan toimintaa eri sääoloissa. Vielä kun saisi vedettyä katkenneen johdon AAG:n sääasemaan katolle...

Muille vinkiksi että tuo kiinalainen USB9097 on kyllä aika susi, ei lähtenyt pelaamaan vista x64 eikä w2k koneissa. Sen sijaan vanha AAG:n sarjaporttiadapteri pelitti heti - tai jos joku on saanut tuon kiinan ihmeen toimimaan niin vinkkejä vastaanotetaan.

LogTemp vaikuttaa hyvältä softalta, mutta siihen ei paljoa näyttäisi saavan laskukaavoja. Mitäs softaa olette windows ympäristössä käyttäneet ?

Vaaleansininen on dT (edit-maksimipuhalluksella jakaja 5,1, normaalipuhalluksella 6,4). Punainen Tout, Vihreä Tin, musta ulkolämpö, harmaa on serverin lämpö. Käppyrät kertovat heti sen että näillä koticop vedoilla ei ole paljoa tekemistä todellisuuden kanssa. Tuottoa ja COPpia mitatessa nähtävästi pidemmän ajan dT on tärkein mittari ja myös sulatuslämpö tulee huomioida koska se selvästikin siirtää lämpöä kennon sulatukseen. Pienemmillä pakkasilla tuo dT ei manuaaliseurannan perusreella juurikaan ehdi tippumaan kun kenno ei vedä niin huuruun.

day.jpg
 
P

P3trik

Vieras
Vs: 1-wire for dummies



Mitä softia olette käyttäneet windows ympäristössä silloin kun käytössä on myös dual counter mittaamaan KWh pulsseja ???

Logtemp ei taida sisätlää mahdollisuutta näyttää kwh lukemaa tai laskea virtuaalisensoria Dt/KWh lukeamasta.
 

systeemi

Jäsen
Vs: 1-wire for dummies

P3trik sanoi:
Mitä softia olette käyttäneet windows ympäristössä silloin kun käytössä on myös dual counter mittaamaan KWh pulsseja ???

Logtemp ei taida sisätlää mahdollisuutta näyttää kwh lukemaa tai laskea virtuaalisensoria Dt/KWh lukeamasta.

Kyllä sen logtempistäkin löytyy. Setup valikosta sensors, counter päälle. Lisäksi energy counter päälle.
 
P

P3trik

Vieras
Vs: 1-wire for dummies


Kiitos, nyt näkyy käppyrä - mutta miten saadaan määriteltyä virtuaalisensori (T_out-T_in)/Kwh *5,1.

Jatkossa haluaisin että saisin aikaan vielä COP virtual counterin joka huomoi RPM:n jolloin lopullinen kaava on (T_out-T_in)/Kwh / RPM/250 * 1000
 

systeemi

Jäsen
Vs: 1-wire for dummies

P3trik sanoi:
Kiitos, nyt näkyy käppyrä - mutta miten saadaan määriteltyä virtuaalisensori (T_out-T_in)/Kwh *5,1.

Jatkossa haluaisin että saisin aikaan vielä COP virtual counterin joka huomoi RPM:n jolloin lopullinen kaava on (T_out-T_in)/Kwh / RPM/250 * 1000

Logtempissä tuo ei onnistu. Itse olen rakentanut PHP-skriptin joka pyörii palvelimella. Kyllä se kotikoneellekkin jotenkin onnistuu, mutta en nyt tähän hätään osaa sanoa.
 
P

P3trik

Vieras
Vs: 1-wire for dummies


Vanhalla W2K palvelimellahan tuo ja PHP on asennettuna, tosin PHP ei ole meikäläisen osaamisalueella.

Mistäs löytyisi tietoa siitä miten 1-wire kirjastoa käsitellään vaikkapa VB:n kautta ? Voisihan tuollaisen softan itsekin äkkiä tehdä.
 

mc

Aktiivinen jäsen
Vs: 1-wire for dummies

P3trik sanoi:
Mistäs löytyisi tietoa siitä miten 1-wire kirjastoa käsitellään vaikkapa VB:n kautta ? Voisihan tuollaisen softan itsekin äkkiä tehdä.

Samoja mietin aiemmin..
Sitten tulikin MySQL ja Gnuplot Logtempin kaveriksi.
 
P

P3trik

Vieras
Vs: 1-wire for dummies

OK - nyt toimii MySQL ja dataa kertyy.

Vielä sellainen kysymys että löytyykö mistään kuvia että mihin olette tuon puhallusilman lämpötila-anturin asentaneet jotta saadaan vertailua datan kesken. Esim. kun mittaan IR mittarilla saan lämmöksi pyörijästä noin 45C mutta kun mittaan ilmanohjaiten kohdalla ja lähes toisessa laidassa olevalla 1-wire anturilla tulee lämmöksi noin 38C. Tällä alkaa olemaan jo melkoinen merkitys KWH ja COP laskelmissa.
 

systeemi

Jäsen
Vs: 1-wire for dummies

P3trik sanoi:
OK - nyt toimii MySQL ja dataa kertyy.

Vielä sellainen kysymys että löytyykö mistään kuvia että mihin olette tuon puhallusilman lämpötila-anturin asentaneet jotta saadaan vertailua datan kesken. Esim. kun mittaan IR mittarilla saan lämmöksi pyörijästä noin 45C mutta kun mittaan ilmanohjaiten kohdalla ja lähes toisessa laidassa olevalla 1-wire anturilla tulee lämmöksi noin 38C. Tällä alkaa olemaan jo melkoinen merkitys KWH ja COP laskelmissa.

Minun mielestä ilmavirta on se ainut oikea paikka.
 
P

P3trik

Vieras
Vs: 1-wire for dummies


Kyllä, ilmavirrassahan ne ovat - mutta kun siirtää 5cm keskemmälle nousee lämpö 0,5C. Kun laittaa pidemmälle koneen sisään nousee dT 1,1C. Testasin juuri thermocoupler parilla.

Eli mihin olette omat 1-wire sensori asentaneet jotts saadaan aikaan vertailukelpoisia lukemia ?
 
P

P3trik

Vieras
Vs: 1-wire for dummies


Niille jotka käyttävät LOGtemp ohjelmaa niin täältä löytyy esimerkkiscripti jolla LOGtemp anturien arvot jotka talletetaan .xml tiedostoon saadaan konvertoitua kierrosnopeuden tms. mukaisesti KWH ja COP luvuiksi: http://www.macmadigan.com/ilp/table.htm. Kun ensin on avannut linkin taulukon niin internet explorerissa painamalla hiiren oikeanpuoleista nappia ja valitsemalla view source pääsee näkemään koodin. Copy ja paste johonkin tiedostoon jonka voi sitten tallettaa samaan hakemistoon kuin last.xml ja pienellä muuttamisella näkee oman pumppunsa KWH_out ja COP_out luvut on line.

Alla esimerkki miltä näyttää kun koodiin on lisätty myös vähän logiikkaa jolla päätellään mm. ILP:n käyttötila: Heating, Cooling, Defrosting jne...


www.macmadigan.com/ilp


ilpscript.jpg
 
L

lorvi

Vieras
Vs: 1-wire for dummies

Oliskohan jollain valmista sapluunaa, kun ikä painaa ja piuhat alkaa olla pitkät ongelmaan: .xml tiedostosta pitäisi poimia "<AVERAGE>34.88</AVERAGE>" ja kertoa se "<AVERAGE>11.05</AVERAGE>" ja kertoa se 1,16
Ongemana on se kun Office tuotteet eivät osaa käsitellä tiedostoa kun siinä on ääkkösiä, niillähän se muuten hoituisi minunkin taidoilla ja Logtemp ohjelmaan en viitsisi noita nimiä muuttaa ääkkösettömiksi. Tarkoitus olisi laskea vuorokauden keskiarvoilla energiankulutus ja liittää se last.htm tiedoston jatkeeksi. Jos joku vaivautuu niin se rautalanka saisi olla aika paksua. Palikatkin löytyvät http://personal.inet.fi/yritys/vks/
<SENSOR ROMID="170000000FE64C1D-B">
<NAME>Patterivesi l/h x 10</NAME>
<VALUE>38.00</VALUE>
<DATE>
<YEAR>2012</YEAR>
<MONTH>2</MONTH>
<DAY>14</DAY>
</DATE>
<TIME>
<HOUR>6</HOUR>
<MIN>54</MIN>
<SEC>53</SEC>
</TIME>
<AVERAGE>34.88</AVERAGE>
</SENSOR>
<SENSOR ROMID="CF0000030842C4283100000371956D28">
<NAME>Patteri ero</NAME>
<VALUE>11.31</VALUE>
<DATE>
<YEAR>2012</YEAR>
<MONTH>2</MONTH>
<DAY>14</DAY>
</DATE>
<TIME>
<HOUR>6</HOUR>
<MIN>54</MIN>
<SEC>35</SEC>
</TIME>
<AVERAGE>11.05</AVERAGE>
</SENSOR>
 
P

P3trik

Vieras
Vs: 1-wire for dummies

Oisko jotain tällaista, en tarkastanut syntaxia mutta idea varmaan selviää tästä, lukee tiedostosta logtemp:n generoimasta tiedostosta last.xml ja sitten kirjoitaa näytölle elementti kerraallaan. Elementin arvo otetaan muuttujaan talteen tuolla if lauseella. En ole ennen tätä omaa monitorinäytön tekemistä ikinä kirjoittanut javascriptiä joten varmasti voi tehdä fiksumminkin. Edit - eli siis talletetaan tämä samaan hakemistoon kuin last.xml.


<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Jonkun oma laskurikaava</title>
</head>

<body>

<script type="text/javascript">
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp= new ActiveXObject('MSXML2.XMLHTTP.3.0');
}
xmlhttp.open("GET","last.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.write("<table border='1'>");
var x=xmlDoc.getElementsByTagName("SENSOR");
var num = new Number();
var x1 = new Number();
var x2 = new Number();
var x3 = new Number();

/* Looppi jolla luetaan ja kirjoitetaan kaikki SENSOR elementtien arvot AVERAGE siitä last.xml taulukosta */
for (i=0;i<x.length;i++)
{
document.write("<tr><td>");
/* Read the AVERAGES:s to variable num */
document.write(x.getElementsByTagName("NAME")[0].childNodes[0].nodeValue);
document.write("</td><td>");
num = x.getElementsByTagName("AVERAGE")[0].childNodes[0].nodeValue;
document.write(x.getElementsByTagName("AVERAGE")[0].childNodes[0].nodeValue);
document.write("</td></tr>");

/* move the num to x1,x2 variables based on which element in the table it is */
if (i==0) /* store first value to x1*/
{
x1 = num;
}
if (i==1) /* store second value to x2 */
{
x2 = num;
}
}

/* Now calculate what ever and then write out as new rows to the end of the table */
x3 = ((x1 + x2)/2) * 1,16;
num=x3;

document.write("<tr><td>");
document.write("calculated average");
document.write("</td><td>");
document.write(num.toFixed(2));
document.write("</td></tr>");


</script>
</body>
</html>



Ja jos haluaa samaan tauluun niin sitten joku sopiva HTML komento sinne logtempin määirtelyihin jolla tämä listätään html tiedoston loppuun. Mulla muuten on HTML tiedoston alussa tällaine rivi ettei tarvitse painaa refreshiä kun näyttö on auki, eli ruksattuna se että suorita HTML koodi ennen last.htm sivua.

<META HTTP-EQUIV="refresh" CONTENT="60">
 
L

lorvi

Vieras
Vs: 1-wire for dummies

Kiitos koodista, toimii. En vaan päässyt eroon vieläkään ääkkös ongelmasta mikä on ehkä minulla kotikutoinen. Alkuvaikeudet johtui ensin selaimista chrome ja IE ei ymmärtäneet ja kun sitten huomasin että firefox avasi niin sitten taas ihmettelyn jälkeen havaitsin että homma lähti pelaamaan kun poisti xml tiedostosta ääkköset.
Sitten vielä tuo laskeminen takkusi pilkusta johtuen, piti ollakin piste desimaalierottimena.
Nyt sitten havaitsin uuden ongelman, tuo logtempin sekoilu kosteusmittauksissa, jolloin se jättää antureita lukematta niin rivimäärä muuttuu ja silloin laskut menee sekaisin. Lisäksi pidän esim. kylmäsävustimen anturia päällä vain tarvittaessa mikä sekin sotkee rivimääriä.
Nälkä kasvaa syödessä joten olisikohan tuosta mahdollista tehdä evoluutiomallia joka poimisi vaikkapa sensorin numerotunnisteen perusteella nuo kaksi tarvittavaa lukua. Noihin ääkkös ongelmiin löytyy helpoin ratkaisu nimeämällä "ne" anturit uudelleen.
Mutta tämäkin on jo nyt hyvä kun ei tuolle mittauskoneelle tarvitse officen tuotteita ajaa makrojen takia.
 
P

P3trik

Vieras
Vs: 1-wire for dummies


Hyvä homma jos tuosta oli apua - tuosta rivimärän muuutoksesta, mitä jos muuttaisi noihin if lauseisiin vertailun anturin nimeen if (x.getElementsByTagName("NAME")[0].childNodes[0].nodeValue == "anturinnimi" ) niin anturien määrällä ei olisi väliä.
 
L

lorvi

Vieras
Vs: 1-wire for dummies

Näinkö? menee minulle liian lujaa ja korkealta.

if (x.getElementsByTagName("NAME")[0].childNodes[0].nodeValue == "Patteri ero" ) /* store first value to x1*/
{
x1 = num;
}
 
P

P3trik

Vieras
Vs: 1-wire for dummies


Varmaan noin toimii mitä kirjoitit, en ole ihan varma että saako anturin nimessä olla välilyöntejä vai olisiko parempi käyttää esim alaviivaa.

Alla miten omassa vastaavassa scriptissä tuo on toteutettu:

var s = new String();

for (i=0;i<x.length;i++)
{
document.write("<tr><td>");
s = x.getElementsByTagName("NAME")[0].childNodes[0].nodeValue;

...


if (s == "ILP_T_in") /* store ILP din number*/
{
din = num;
}
if (s == "ILP_T_out") /* store ILP dout number*/
{
dout = num;
}


ps. Toivottavasti ei mene off topic kun pitää kai olla tarkkana että mihin mitäkin kirjoittaa. No liittyyhän tämä tuohon logtemp ohjelmaan jota yleisesti käytetään 1-wire lukemiseen ja modet siirtää sitten muualle jos haluavat.
 
Back
Ylös Bottom