Raspberry pi ja 1-wire

  • Viestiketjun aloittaja Viestiketjun aloittaja ilpena
  • Aloituspäivämäärä Aloituspäivämäärä
Vs: Raspberry pi ja 1-wire

Tein Sheepwalkin ohjeiden mukaan http://www.sheepwalkelectronics.co.uk/RPI2-software.shtml
ja nyt on feikkiantureiden tilalla kaksi oikeaa anturia ja lämpötilat löytyy /home/talo/owfs/10.D2FC8F020800/temperature ja /home/talo/owfs/10.EC8380020800/temperature tiedostoista. RP12 toimii hyvin.

Mutta en saa em. ohjeilla websaittia toimimaan kotiverkon toisesta koneesta. Sieltä tulee aina vaan samat feikkianturakäppyrät.
 
Vs: Raspberry pi ja 1-wire

Olikohan siellä konffin alkupäässä vielä joku dummy rivi joka piti kans kommentoida.
 
Vs: Raspberry pi ja 1-wire

ilpena sanoi:
Olikohan siellä konffin alkupäässä vielä joku dummy rivi joka piti kans kommentoida.

Muisti ei pelaa...
TaloLoggerGraphing konfiguraatiotiedosto:

/home/talo/public_html/taloLoggerGraph.conf
Tuolta piti kommentoida dummy pois ja konffailla muutenkin :)
 
Vs: Raspberry pi ja 1-wire

Katsoin tuota taloLoggerGraph.conf fileetä. Vaikuttaa, että käppyrädatat haetaan databasesta. Mitähän filettä pitäisi konfiguroida, jotta saisi antureista mittausdatat tietyn aikavälein ko. databaseen. Tämä minulta ilmeisesti puuttuu.
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Katsoin tuota taloLoggerGraph.conf fileetä. Vaikuttaa, että käppyrädatat haetaan databasesta. Mitähän filettä pitäisi konfiguroida, jotta saisi antureista mittausdatat tietyn aikavälein ko. databaseen. Tämä minulta ilmeisesti puuttuu.
Tuota kun konffaat
TaloLoggerin konfiguraatiotiedosto:

/home/talo/etc/taloLogger.conf
 
Vs: Raspberry pi ja 1-wire

Ismo67 sanoi:
Jokos Raspi loggailee tuulimittaria?
Millä käyttiksellä ja loggausohjelmistolla tuo USB -tietokone pyörii sinulla?
Eipä ole vielä pakettia kiinasta tullut.
Tuulimittarikin tarvii rakentaa uusiks alusta saakka kun viimekesäinen tuhoutui kun harukset petti ;D

Aattelin mittailla kiintolevyn pyöritysmoottorin tuottamaa jännitettä jollain 1-wire vehkeellä. Oliskohan DS2438 siihen sopiva? Edellinen toimi pulssi periaatteella mutten viitsis haaskata hommaan kallista counteria.
 
Vs: Raspberry pi ja 1-wire

ilpena sanoi:
Eipä ole vielä pakettia kiinasta tullut.
Tuulimittarikin tarvii rakentaa uusiks alusta saakka kun viimekesäinen tuhoutui kun harukset petti ;D

Aattelin mittailla kiintolevyn pyöritysmoottorin tuottamaa jännitettä jollain 1-wire vehkeellä. Oliskohan DS2438 siihen sopiva? Edellinen toimi pulssi periaatteella mutten viitsis haaskata hommaan kallista counteria.

DS2438 käy mainiosti, tai DS2450, noilla mittaan VAD sekä 4-20mA >5v paineanturit. Kiintolevyjen laakerointia ajattelin käyttää tuulimittarissa, mikä on vielä ajatuksena korvienvälissä. Kiintiksen moottori on kyllä senverran tahmea että mitenköhän onnistuu? Pitääkin hieman tutkiskella. Kahvimitoilla meinasin saada pyörimisen aikaan.
 
Vs: Raspberry pi ja 1-wire

Mulla oli tuossa versio1 mittarissa jostain samsungin 80GT kiintolevystä moottori. Mielestäni ei kylla ollut tahmainen.
Siinä oli jotkut 50mm pallonpuolikkaat pojan pallomerestä ;D
Värkki lähti pyöriin jossain 2m/s tuulessa.
Siellähän on lisääkin laakerointeja sen lukupään akselilla, ovat vaan vaikeampia kiinnittää mihinkään.
 
Vs: Raspberry pi ja 1-wire

lorvi sanoi:
DS2438 käy mainiosti, tai DS2450, noilla mittaan VAD sekä 4-20mA >5v paineanturit. Kiintolevyjen laakerointia ajattelin käyttää tuulimittarissa, mikä on vielä ajatuksena korvienvälissä. Kiintiksen moottori on kyllä senverran tahmea että mitenköhän onnistuu? Pitääkin hieman tutkiskella. Kahvimitoilla meinasin saada pyörimisen aikaan.
Eipä taitais toi mun keksintö kahvimitoilla mihinkään pyöriä ;D
Toi on seiskavitosen paskaviemärin tulpasta tehty, näkee vähän mittasuhteita.
Epäilin tuon laakeroinnin säänkestoa näköjään turhaan, kun vieläkin pyörii herkästi vaikka on tuolla lumihangessa talvehtinut.
 

Liitetiedostot

  • tuuli1.JPG
    tuuli1.JPG
    100,7 KB · Lukukerrat: 526
  • tuuli2.JPG
    tuuli2.JPG
    110,8 KB · Lukukerrat: 510
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Tein Sheepwalkin ohjeiden mukaan http://www.sheepwalkelectronics.co.uk/RPI2-software.shtml
ja nyt on feikkiantureiden tilalla kaksi oikeaa anturia ja lämpötilat löytyy /home/talo/owfs/10.D2FC8F020800/temperature ja /home/talo/owfs/10.EC8380020800/temperature tiedostoista. RP12 toimii hyvin.

Mutta en saa em. ohjeilla websaittia toimimaan kotiverkon toisesta koneesta. Sieltä tulee aina vaan samat feikkianturakäppyrät.

Luovutin talologgeri-projektista vähäksi aikaa. Vaikuttaa sille, että pitää ensin opiskella Linuxin ja owfs:n perusteita lisää. Lähdin liikenteeseen normaali Raspi installaatiosta. Taas on hieman edetty. owfs softa on asennettu ja se toimii hyvin verkon yli. Pääsee ulkomaailmasta kun laittaa koti-ADSL-modeemin IP numeron selaimeen. Modeemi puolestaan on konffattu niin, että http-protokollalla mennään kotiverkossa Raspin IP numeroon. Toimii tietysti myös sisäverkossa.
Minulla on Raspissa nyt kaksi anturia Sheepwalkin RP12 modulissa. Toimivat ihan ok ja niiden lämpötilat näkyy oheisissa näytöissä
Selvisi myös. että Maximin OneWireViewer ei toimi RP12 moduleiden kanssa.
Kun noissa liitekuvien näytöissä nyt näkyy lämpötilatieto, niin eikö todellakaan ole valmista softaa, joka piirtäisi näistä datoista käppyrää ja tallentaisi jpg-kuvana samalla tavalla kuin suomalainen LogTemp-softa tekee? Saisi pyöriä Raspissa.

Onko kellään kokemuksia tuosta OneWireVieweristä? Toimii vissiin adapterin DS9490R:n kanssa Windowsissa.
 

Liitetiedostot

  • owfs_kuva_1.jpg
    owfs_kuva_1.jpg
    73,3 KB · Lukukerrat: 505
  • owfs_kuva_2.jpg
    owfs_kuva_2.jpg
    78,6 KB · Lukukerrat: 513
Vs: Raspberry pi ja 1-wire

Valmis softa ei yksinkertaisesti kuulu kulttuuriin.. eihän sellaista kukaan voi haluta, jokaisella on omat vaatimuksensa, lisäksi valmiit softat haukkaavat tarpeettomasti resursseja. Nämä softat on tehty tyypillisesti verkonvalvontaan tms.. jossa ei haluta että valvonta on koneiden pääkuorma. Sensijaan tarjotaan täsmätyökaluja eri vaiheisiin, jotka sitten voi suoritella samaan aikaan tai eri aikaan samassa tai toisessa koneessa. Näissä ympyröissä koneita piisaa. Yksi yleisimmistä kaluista datan puskurointiin on rrd ja sen piirto-ohjelma rrdgraph joka tekee puskurista png-fileitä pyydettäessä. Niiden ympärille on sitten rakennettu wrappereita, kuten vaikka cacti, joita voisi tässä mielessä kutsua valmiiksi ohjelmiksi. cactilla esmes voi pitää haluamansa pituista historiaa aivan ziljoonasta asiasta ja zoomata kuvia. Itselläni oli aikoinaan digitemp ( äärisimppeli linux onewiresofta ) joka teki anturidatasta tekstifilettä ja lyhyt, muistaakseni perl-skripti joka rakensi tästä datasta valmiin perl-rrd-kirjastonsa voimin rrd-puskureita ja niistä sitten vielä kuvia erilliselle webiserverikoneelle ( onewirekoneessa oli 32megaa muistia ja vääntöäkin paljon vähemmän kuin raspissa). Ei kaikkien softan osien tarvitse eikä edes ole järkevää pyöriä raspissa, riittää kun se tuottaa riittävän jalostettua dataa, kuvia voidaan tehdä ja näyttää aina kun joku haluaa sellaista katsoa.. esmes cactissa rrd-puskurit kerääntyvät taustalla ja uteliaisuuden herätessä valitaan miltä ajanjaksolta piirretään ja mitä. Eli yksi mahdollisuus voisi olla kaksi raspia.. toinen palvelee mittausta ja toinen ihmistä.
 
Vs: Raspberry pi ja 1-wire

Löytyi tämmöinen:

https://sites.google.com/site/raspberry1wire/

Sivulla selitetään miten rasbilla saa lämpötilan saadaan nettipalveluun.

Kannattaa ohittaa tuo Hobbyboards asia ja unohtaa digitemp jos käyttää OWFS-systeemejä.

Kun owfs ohjelma on pyörimässä niin lämpötilat löytyvät /mnt/1wire hakemistosta (määritellään /etc/owfs.conf).
Muuten tuo ohje taitaisi olla pätevä, pitää vaan käyttää hakemistosta löytyvää lämpötilaa.

Itse tekemällä riemu on suunnaton kun saa jonkun toimimaan, aikaahan se tosin vaatii.
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Luovutin talologgeri-projektista vähäksi aikaa. Vaikuttaa sille, että pitää ensin opiskella Linuxin ja owfs:n perusteita lisää.

Ollaan ilmeisen samoja polkuja etenemässä. Vuosi sitten olin jo vuosia Logtempiä käyttäneenä siirtymässä linuxiin ja nimim. apophiksen valmiiden sapluunoiden saattelemana innostuin ja sitten raspin kanssa samoilla kuvioilla ensimmäiset tietokannat ja jopa graafin. Minut oli myyty, tarjontaa on linux puolella joka lähtöön, kun vain tajuaisi niistä. Mutta sitä valmista ohjelmaa kuten Logtemp, ei ole.
Pisimmälle viety, mitä olen kokeillut, on tuo taloLogger. Valmis image 1-wire käyttöön muutamalla risuaidan purkamisella ja anturit copypastella conffiin, niin se on siinä. Viime päivityksen jälkeen loggauspuoli on "kotikuvioihin" ok.
Minullakin nyt vaiheessa tuo graafien , päivä, viikko, kuukausi kuvien siirto kotisivulle, kun niihin on tottunut ja toiseksi se suurin syy kun tuo raspi on niin hidas lennossa niitä vääntämään. Raspi voisi mittauksen jälkeen äheltää ne kuvat omia aikojaan voimiensa mukaan kotisivulle, sieltä sitten nopesti valmis tuote.
Ilmeisesti se on tuo rrd, hitaasti vaan uppoaan vanhaan päähän, mutta eiköhän se siitä.
 
Vs: Raspberry pi ja 1-wire

HeTi sanoi:
Löytyi tämmöinen:

https://sites.google.com/site/raspberry1wire/

Sivulla selitetään miten rasbilla saa lämpötilan saadaan nettipalveluun.
Kannattaa ohittaa tuo Hobbyboards asia ja unohtaa digitemp jos käyttää OWFS-systeemejä.
Kun owfs ohjelma on pyörimässä niin lämpötilat löytyvät /mnt/1wire hakemistosta (määritellään /etc/owfs.conf).
Muuten tuo ohje taitaisi olla pätevä, pitää vaan käyttää hakemistosta löytyvää lämpötilaa.

Itse tekemällä riemu on suunnaton kun saa jonkun toimimaan, aikaahan se tosin vaatii.
Sain vakiolämpötilan tuonne websaitille, mutta millä formaatilla pitää lämpötila-anturit kirjoittaa?
Tällä sivulla https://sites.google.com/site/raspberry1wire/ on kuvaus digitempin formaatista esim.
temp=$(digitemp_DS9097U -q -t 0 -c /home/pi/digitemp.conf)
Nyt kun on RP12 ja OWFS, niin miten kirjoitetaan?
Saako suoraan anturista vai meneekö fileen kautta?
En saanut /mnt/1wire hakemistoa syntymään, vaikka konffasin /etc/owfs.conf fileetä.
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Sain vakiolämpötilan tuonne websaitille, mutta millä formaatilla pitää lämpötila-anturit kirjoittaa?
Tällä sivulla https://sites.google.com/site/raspberry1wire/ on kuvaus digitempin formaatista esim.
temp=$(digitemp_DS9097U -q -t 0 -c /home/pi/digitemp.conf)
Nyt kun on RP12 ja OWFS, niin miten kirjoitetaan?
Saako suoraan anturista vai meneekö fileen kautta?
En saanut /mnt/1wire hakemistoa syntymään, vaikka konffasin /etc/owfs.conf fileetä.

Muistaakseni hakemisto pitää tehdä ensin:
sudo mkdir /mnt/1wire

Kannattaa tarkistaa että owfs todella pyörii antamalla komento:
owfs

Webbisaitin esimerkki muutettuna:
-------------------
#!/bin/bash
temp=$(cat /mnt/1wire/28.F1F60D040000/temperature |tr -d ' ')
url="http://api.thingspeak.com/update?key=AFJ8KPD0FOA7&field1=$temp"
wget $url -q -O /dev/null
---------

Itse olen tehnyt antureista symboolisen linkin kotihakemistoon eli:

ln -s /mnt/1wire/28.F1F60D040000/temperature Ulko

Nyt voi sitten komentaa:
cat Ulko

Ja edellinen esimerkki helpommin luettavana:
--------------
#!/bin/bash
temp=$(cat Ulko |tr -d ' ')
url="http://api.thingspeak.com/update?key=AFJ8KPD0FOA7&field1=$temp"
wget $url -q -O /dev/null
--------------

tr -d ' ' poistaa ylimääräiset välilyönnit.

Jos kokeilette huomannette korvata key=AFJ.... osan omalla avaimella jonka saa siis thingspeak.comista.

Edit:
Tämä on mullekin ensimmäinen kokeilu thinkspeak.com kanssa. Asiaa pitää tutkia lisää.
Olen samaa meiltä lorvin kanssa, linux on ehtymätön runsaudensarvi ja ilman sitä tietokone kokemus olisi jäänyt
aika olemattomaksi.

Tuo edellinen esimerkki hyvin edustaa linuxin olemusta, muutamaa komentoa ja valitsinta käyttämällä kolmen rivin
"koodi" päräyttää lämpötilan pilveen ties minnepäin maapalloa.

Loputonta tuunaustahan tämäkin on...
Linuxin kanssa oppimiskäyrä voi olla jyrkkä ja sen kanssa ei ole koskaan yksin.
Aina jollain muullakin on ollut sama ongelma ;)
 
Vs: Raspberry pi ja 1-wire


Muutoin tuntuu nyt olevan ok, mutta /mnt/1wire hakemistoon ei pääse. Tulee herja "Permission denied". Skripti ei myöskään toimi. Ei ilmeisesti saa myöskään lupaa hakea anturin dataa.
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Muutoin tuntuu nyt olevan ok, mutta /mnt/1wire hakemistoon ei pääse. Tulee herja "Permission denied". Skripti ei myöskään toimi. Ei ilmeisesti saa myöskään lupaa hakea anturin dataa.

Mielenkiintoista.
kannattaa tarkistaa 1wire hakemiston oikeudet, ne pitäisi olla kuitenkin "oikein".
Komento "ls -la" hakemistossa /mnt

Komento "sudo chmod 777 /mnt/1wire" antaa 1wire hakemistoon kaikki oikeudet kaikille käyttäjille.
 
Vs: Raspberry pi ja 1-wire

Tässä helppotekoinen ja halpa(transistorit sivuleikkurilla vahasta näytöstä) i2c tasomuunnin raspiin. Toimii hyvin DS2482s ien kanssa ja voi ajaa niitä 5 voltilla paistamatta raspia.
 

Liitetiedostot

  • i2c-level-shifter.png
    i2c-level-shifter.png
    8,1 KB · Lukukerrat: 833
Vs: Raspberry pi ja 1-wire

HeTi sanoi:
Mielenkiintoista.
kannattaa tarkistaa 1wire hakemiston oikeudet, ne pitäisi olla kuitenkin "oikein".
Komento "ls -la" hakemistossa /mnt

Komento "sudo chmod 777 /mnt/1wire" antaa 1wire hakemistoon kaikki oikeudet kaikille käyttäjille.

Ei ole näemmä oikeuksissa ongelma.
Tällainen on minun skripti.

#!/bin/bash
temp=$(cat anturi_1 |tr -d '')
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
wget $url -q -O /dev/null

Komennolla cat anturi_1 tulee arvo 33, eli toimii.

OWFS pyörii koko ajan ja mnt/1wire/ hakemistossa on molemmat anturit ja niiden sisältä löytyy lämpötila-arvo. Nämä näkyy myös netin läpi.

Skripti juuttuu jumiin, kun sen käynnistää. Jos vaihdan $temp:in paikalle lukuarvon vaikkapa 6, niin skripti siirtää numeron 6 tyylikkäästi thigspeakin käppyrälle nettiin.

Pitääkö owfs.confissa olla mahdollisesti jotain lisäyksiä. Tai kun käynnistää owfs:n näytöllä, niin pitääkö siinä olla jotain optioita lisää?
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Ei ole näemmä oikeuksissa ongelma.
Tällainen on minun skripti.

#!/bin/bash
temp=$(cat anturi_1 |tr -d '')
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
wget $url -q -O /dev/null

Komennolla cat anturi_1 tulee arvo 33, eli toimii.

OWFS pyörii koko ajan ja mnt/1wire/ hakemistossa on molemmat anturit ja niiden sisältä löytyy lämpötila-arvo. Nämä näkyy myös netin läpi.

Skripti juuttuu jumiin, kun sen käynnistää. Jos vaihdan $temp:in paikalle lukuarvon vaikkapa 6, niin skripti siirtää numeron 6 tyylikkäästi thigspeakin käppyrälle nettiin.

Pitääkö owfs.confissa olla mahdollisesti jotain lisäyksiä. Tai kun käynnistää owfs:n näytöllä, niin pitääkö siinä olla jotain optioita lisää?

Kokeillaas näin, tuossa puuttuu ilmeisesti välilyönti (tr komennossa):

Koodi:
#!/bin/bash
temp=$(cat anturi_1 | tr -d ' ')
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
wget $url -q -O /dev/null

Kannatta kokeilla myös testimielessä seuraavaa, kommentoidaa wget rivi pois ja tulostetaan muuttujat ruudulle.

Koodi:
#!/bin/bash
temp=$(cat anturi_1 | tr -d ' ')
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
#wget $url -q -O /dev/null
echo $temp
echo $url
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Ei ole näemmä oikeuksissa ongelma.
Tällainen on minun skripti.

#!/bin/bash
temp=$(cat anturi_1 |tr -d '')
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
wget $url -q -O /dev/null

Komennolla cat anturi_1 tulee arvo 33, eli toimii.

OWFS pyörii koko ajan ja mnt/1wire/ hakemistossa on molemmat anturit ja niiden sisältä löytyy lämpötila-arvo. Nämä näkyy myös netin läpi.

Skripti juuttuu jumiin, kun sen käynnistää. Jos vaihdan $temp:in paikalle lukuarvon vaikkapa 6, niin skripti siirtää numeron 6 tyylikkäästi thigspeakin käppyrälle nettiin.

Pitääkö owfs.confissa olla mahdollisesti jotain lisäyksiä. Tai kun käynnistää owfs:n näytöllä, niin pitääkö siinä olla jotain optioita lisää?

Mantaneeko skripti olla pyöriessään siinä hakemistossa jossa anturi_1 on, tuossahan ei ole koko hakemistopolkua.
Eli jos ei ole, niin joko skriptin tiedostonnimeen pitkä polku tai skriptin alkuu cd /hakemist/o

No tätä voinee vähän tutkia. Eli jos ajat tuon sh -x skripti niin pitäisi nähdä mitä se tekee.

Tai pura tuo vaikka tyyliin

pwd
antura=`cat anturi_1`
echo $antura
temp=´echo $antura | tr -d " "`
 
Vs: Raspberry pi ja 1-wire

HeTi sanoi:
Kokeillaas näin, tuossa puuttuu ilmeisesti välilyönti (tr komennossa):

Koodi:
#!/bin/bash
temp=$(cat anturi_1 | tr -d ' ')
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
wget $url -q -O /dev/null

Kannatta kokeilla myös testimielessä seuraavaa, kommentoidaa wget rivi pois ja tulostetaan muuttujat ruudulle.

Koodi:
#!/bin/bash
temp=$(cat anturi_1 | tr -d ' ')
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
#wget $url -q -O /dev/null
echo $temp
echo $url

Tuossa koodissa hommaa ajetaan digitempin käskyillä, eipä ne taida OWFS:n kanssa toimia :)

Asenna digitemp ja koita sillä kun ootte ohjeen löytäneet. Homma on sillä tuota owfssää helpompi.
 
Vs: Raspberry pi ja 1-wire

ilpena sanoi:
Tuossa koodissa hommaa ajetaan digitempin käskyillä, eipä ne taida OWFS:n kanssa toimia :)

Asenna digitemp ja koita sillä kun ootte ohjeen löytäneet. Homma on sillä tuota owfssää helpompi.

Kyllä tuo toimii ihan hyvin OWFS:n kanssa samalla kolmen rivin ohjelmalla:

https://www.thingspeak.com/channels/5249

Digitemp on vanhempi ja kannattaa mielestäni unohtaa, en ole varma toimiiko se edes I2C
pohjaisen 1-wiren kanssa.
 
Vs: Raspberry pi ja 1-wire

Olen kokeillut ristiin rastiin kaikkia edellä ehdotettuja asioita. Kaikki toimii erillisinä komentoina. Nyt on seuraavanlainen skripti

#!/bin/bash
temp=$(cat anturi_1 | tr -d "")
echo $temp
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
echo $temp
wget $url -q -O /dev/null

Kumpikin echo komento tuottaa ruudulle oikean arvon 27,0625
Skripti jämähtää wget-lauseeseen, eikä lopu. Pitää lopettaa CTRL^C yhdistelmällä.

Jos taas kommentoin 2. rivin cat-lauseen ja laitan riville temp=100, niin tuo 100 menee hienosti webbisaitille.
#!/bin/bash
temp=100
#temp=$(cat anturi_1 | tr -d "")
echo $temp
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
echo $temp
wget $url -q -O /dev/null

Poistin myös digitemp-softan koneesta, mutta ei vaikuttanut mihinkään.
Ihan niin kun ongelma liittyisi tuohon temp-muuttujaan?
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Olen kokeillut ristiin rastiin kaikkia edellä ehdotettuja asioita. Kaikki toimii erillisinä komentoina. Nyt on seuraavanlainen skripti

#!/bin/bash
temp=$(cat anturi_1 | tr -d "")
echo $temp
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
echo $temp
wget $url -q -O /dev/null

Kumpikin echo komento tuottaa ruudulle oikean arvon 27,0625
Skripti jämähtää wget-lauseeseen, eikä lopu. Pitää lopettaa CTRL^C yhdistelmällä.

Jos taas kommentoin 2. rivin cat-lauseen ja laitan riville temp=100, niin tuo 100 menee hienosti webbisaitille.
#!/bin/bash
temp=100
#temp=$(cat anturi_1 | tr -d "")
echo $temp
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp"
echo $temp
wget $url -q -O /dev/null

Poistin myös digitemp-softan koneesta, mutta ei vaikuttanut mihinkään.
Ihan niin kun ongelma liittyisi tuohon temp-muuttujaan?

Temp muuttujassa ei saa olla yhtään välilyöntiä, tuo rivin lopussa oleva tr postaa ne.

Oikea muoto pitäisi olla:

Koodi:
temp=$(cat anturi_1 | tr -d ' ')

Eli cat käsky tulostaa anturi_1 arvon ja tr poistaa (-d) siitä kaikki välilyönnit. Hipsukoiden välissä on
siis yksi välilyönti.

Jos laitat scriptiin
echo $url
Niin rivillä ei saa olla yhtään välilyöntiä, etenkään ennen lämpötilalukemaa.
 
Vs: Raspberry pi ja 1-wire

Justiinsa! nyt toimii. Melkoinen määrä tunteja ja vaan siksi, että hipsujen välissä ei ollut tyhjää.
Suuret kiitokset porukalle. Samalla kun selvittää yhtä probleemaa, selviää yhtä ja toista muuta asiaa.
Nyt täytyy paneutua proseduurin automaattiseen ajastukseen.
 
Vs: Raspberry pi ja 1-wire

Nyt on kaksi anturia saatu toimimaan seuraavalla skriptillä

#!/bin/bash
temp1=$(cat anturi_1 | tr -d ' ')
temp2=$(cat anturi_2 | tr -d ' ')
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp1&field2=$temp2"
wget $url -q -O /dev/null

Tulostuvat kumpikin omaan kuvaan. Pitäisi saada muutama anturi käppyräksi ja mielellään samaan kuvaan. Mahtaakohan onnistua?
 
Vs: Raspberry pi ja 1-wire

Tässä väliraporttia
Nyt toimii myös automaattinen datan vienti websaitille. Piti lisätä polut
/home/pi/anturi_1 ja _2

Ja /etc/crontab fileeseen yksi rivi alkuun
* * * * * root /home/pi/lampotilat
Nyt menee minuutin välein. Pitää harventaa, jahka testaukset on ok.

#!/bin/bash
temp1=$(cat /home/pi/anturi_1 | tr -d ' ')
temp2=$(cat /home/pi/anturi_2 | tr -d ' ')
url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp1&field2=$temp2"
wget $url -q -O /dev/null
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Tulostuvat kumpikin omaan kuvaan. Pitäisi saada muutama anturi käppyräksi ja mielellään samaan kuvaan. Mahtaakohan onnistua?

Tuntuu olevan toivotuimpien ominaisuuksien joukossa tuolla thinkspeak foorumilla. Näköjään luvattu tulevan seuraavaan versioon. Onhan näitä nettikäyriä muitakin esim. cosm.com (entinen Pachube) jne.

Pitkässä juoksussa kannattaa varmaan nuo lämpötilatkin tallentaa rasbissa pyörivään tietokantaan, ei sekään montaa riviä vaadi. Grafiikan tulostaminen tietokannasta on sitten
hiukan monimutkaisempi juttu.

Itsellä anturien lukemat menee mysql tietokantaan, jos asentaa phpmyadminin niin sillä saa tiedot kyllä ladattua vaikka Excelin ymmärtämässä muodossa.

Niillä jotka ei halua/jaksa värkätä meillä on töissä käytössä Netbiter niminen laite. Simmikortti
sisään ja virrat päälle. Loput sitten määritellään netissä ns. pilvipalveluna. Hintaa tulee kuitenkin
helposti kun kanavat lisääntyy. Peruslaite (2ana-2digi+rele) tais olla reilut 400 ja kahdeksan lisäkanavaa 200-300.
 
Vs: Raspberry pi ja 1-wire

Ajattelen, että annan Windows PC + Logtemp pyöriä autotallissa toistaiseksi. Logtemp jättää jpg-kuvan jokaisesta päivästä levylle. Minulle nuo kuvat ovat riittävät. Niitä selaamalla saa hyvän käsityksen menneestä ajasta. Nämä nettikäyräpalvelut ovat ilmeisesti tulevaisuutta. Ainakin tuo yksinkertaisuus ja käytettävyys mistä tahansa milloin tahansa ilman mitään installaatioita on hyvä juttu. Voisi laittaa anturiviritelmiä kesämökille ja muihin paikkoihin ja kaikki datat kertyisi helposti samaan paikkaan. Tällaiset Raspin energiakulutuksella olevat laitteet toimisivat mökillä läpi vuoden nettitikku + akku + aurinkokennosysteemillä. Täytyy jossain vaiheessa ottaa esille tuo tietokantatallennusjuttu.
 
Vs: Raspberry pi ja 1-wire

HeTi sanoi:
Pitkässä juoksussa kannattaa varmaan nuo lämpötilatkin tallentaa rasbissa pyörivään tietokantaan, ei sekään montaa riviä vaadi. Grafiikan tulostaminen tietokannasta on sitten
hiukan monimutkaisempi juttu.

Itsellä anturien lukemat menee mysql tietokantaan, jos asentaa phpmyadminin niin sillä saa tiedot kyllä ladattua vaikka Excelin ymmärtämässä muodossa.
Huomasin, että ThingSpeakin sivulta saa datat suoraan exel-taulukkona hakea. Löytyy kohta Developer info. Sieltä löytyy.
 
Vs: Raspberry pi ja 1-wire

Asensin 7 anturia lisää Ulti 5000 EEV systeemiin ja ovat nyt nähtävissä ThingSpeak sivustolla osoitteeessa
https://www.thingspeak.com/channels/5247#

Rinnalla on koko ajan PC + Logtemp softa yhden minuutin päivitysvälillä + 10 lämpötila-anturia.

Päivitys tapahtuu nyt kahden minuutin välein. Sivusto on ilmainen ja oli helppo asentaa kaikki tarvittavat asiat. Mutta on hieman kömpelö. Ehkä kuitenkin kehittyy. Etuna on, että voi netin kautta missä päin tahansa maailmaa tsekata miten kotona pelit toimii ilma mitään softa-asennuksia.

Niin ja datat löytyy saman sivuston "Developer info" välilehdeltä.
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Asensin 7 anturia lisää Ulti 5000 EEV systeemiin ja ovat nyt nähtävissä ThingSpeak sivustolla osoitteeessa
https://www.thingspeak.com/channels/5247#

Kätevästi käyrät tuntuu päivittyvän reaaliajassa ilman sivun uudelleen latailua.
 
Vs: Raspberry pi ja 1-wire

Tervehdys kaikille.

En tiedä onko joku jo ennättänyt, mutta yksi vaihtoehto toteuttaa loggaus on google docsien ja google site:n avulla.

https://sites.google.com/site/raspberrypitemperaturelogger/

Eli vattupiirakka ja RPI2 loggaavat pilpin lämpötiloja(DS18B20). Pythonilla on toteutettu puolen minuutin välein tapahtuva lämpötilojen tallennus sekä paikallisesti, että upaten google spreadsheed:iin.
Googlen site:lle on sitten luotu kuvaaja.
Paikallisesti data tallentuu päiväkohtaisiin lokitiedostoihin, mutta googlen spreadsheed:iin data menee yhteen "pötköön" ja tämän vuoksi googlen dokuissa dataa tarttee manuaalisesti x-ajan välein muokata(olikohan 400000 solua maksimi).

Sekä saitti että itse lokkaus on isosti värkkäyksen alla, mutta päivittelen sitä aina ajan niin salliessa. Visiona on myös saada virtaustiedot(jännitetasot virtauslähettimistä) logattua...miten, sitä en vielä tiedä...vaatii kuiten lisää rautaa.
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Asensin 7 anturia lisää Ulti 5000 EEV systeemiin ja ovat nyt nähtävissä ThingSpeak sivustolla osoitteeessa
https://www.thingspeak.com/channels/5247#

Rinnalla on koko ajan PC + Logtemp softa yhden minuutin päivitysvälillä + 10 lämpötila-anturia.

Päivitys tapahtuu nyt kahden minuutin välein. Sivusto on ilmainen ja oli helppo asentaa kaikki tarvittavat asiat. Mutta on hieman kömpelö. Ehkä kuitenkin kehittyy. Etuna on, että voi netin kautta missä päin tahansa maailmaa tsekata miten kotona pelit toimii ilma mitään softa-asennuksia.

Niin ja datat löytyy saman sivuston "Developer info" välilehdeltä.

Laittaisn seuraavaan scriptiin vähennyslasku n temp6-temp5, eli olisi dT, veden l-tilan nousu sisäyksikössä. Mutta miten pitää koodata oheiseen scriptiin?
#!/bin/bash
#temp1=$(cat /home/pi/anturi_1 | tr -d ' ')
#temp2=$(cat /home/pi/anturi_2 | tr -d ' ')
temp1=$(cat /mnt/1wire/10.019C80020800/temperature | tr -d ' ')
temp2=$(cat /mnt/1wire/10.419980020800/temperature | tr -d ' ')
temp3=$(cat /mnt/1wire/10.7C6080020800/temperature | tr -d ' ')
temp4=$(cat /mnt/1wire/10.988F80020800/temperature | tr -d ' ')
temp5=$(cat /mnt/1wire/10.D2FC8F020800/temperature | tr -d ' ')
temp6=$(cat /mnt/1wire/10.EB8780020800/temperature | tr -d ' ')
temp7=$(cat /mnt/1wire/10.EC8380020800/temperature | tr -d ' ')

Tähän vähennyslasku temp8=temp6-temp5
Miten tehdään?
Laittaisin dT-luvun myös käppyräksi

url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp1&field2=$temp2&field3=$temp3&field4=$temp4&field5=$temp5&field6=$temp6&field7=$temp7"
wget $url -q -O /dev/null
 
Vs: Raspberry pi ja 1-wire

kaihakki sanoi:
Laittaisn seuraavaan scriptiin vähennyslasku n temp6-temp5, eli olisi dT, veden l-tilan nousu sisäyksikössä. Mutta miten pitää koodata oheiseen scriptiin?
#!/bin/bash
#temp1=$(cat /home/pi/anturi_1 | tr -d ' ')
#temp2=$(cat /home/pi/anturi_2 | tr -d ' ')
temp1=$(cat /mnt/1wire/10.019C80020800/temperature | tr -d ' ')
temp2=$(cat /mnt/1wire/10.419980020800/temperature | tr -d ' ')
temp3=$(cat /mnt/1wire/10.7C6080020800/temperature | tr -d ' ')
temp4=$(cat /mnt/1wire/10.988F80020800/temperature | tr -d ' ')
temp5=$(cat /mnt/1wire/10.D2FC8F020800/temperature | tr -d ' ')
temp6=$(cat /mnt/1wire/10.EB8780020800/temperature | tr -d ' ')
temp7=$(cat /mnt/1wire/10.EC8380020800/temperature | tr -d ' ')

Tähän vähennyslasku temp8=temp6-temp5
Miten tehdään?
Laittaisin dT-luvun myös käppyräksi

url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp1&field2=$temp2&field3=$temp3&field4=$temp4&field5=$temp5&field6=$temp6&field7=$temp7"
wget $url -q -O /dev/null
Bash ei valitettavasti osaa yhteen ja vähennyslaskua kuin kokonaisluvuilla. Itse käyttäisin awk'ia. Eli esim.

temp6_minus_temp5=$( awk 'BEGIN { print '$temp6' - '$temp5' }')

jne.

Tuollainen tyyli on muuten siinä mielessä vaarallinen, että luottaa parametrien olemassaoloon ja muotoon (eli ei poimi, jos muuttajalla on jokin odottamaton arvo, sitä ei ole jne.), mutta puheena olevan kaltaisessa tapauksessa en pitäisi puutetta ratkaisevana.
 
Vs: Raspberry pi ja 1-wire

Kiitokset taas. Hyvin toimii. Tässä päivitetty skripti:
#!/bin/bash

temp1=$(cat /mnt/1wire/10.019C80020800/temperature | tr -d ' ')
temp2=$(cat /mnt/1wire/10.419980020800/temperature | tr -d ' ')
temp3=$(cat /mnt/1wire/10.7C6080020800/temperature | tr -d ' ')
temp4=$(cat /mnt/1wire/10.988F80020800/temperature | tr -d ' ')
temp5=$(cat /mnt/1wire/10.D2FC8F020800/temperature | tr -d ' ')
temp6=$(cat /mnt/1wire/10.EB8780020800/temperature | tr -d ' ')
temp7=$(cat /mnt/1wire/10.EC8380020800/temperature | tr -d ' ')

temp8=$( awk 'BEGIN { print '$temp6' - '$temp5' }')

url="http://api.thingspeak.com/update?key=8IPFXHOIJD90VHSD&field1=$temp1&field2=$temp2&field3=$temp3&field4=$temp4&field5=$temp5&field6=$temp6&field7=$temp7&field8=$temp8"
wget $url -q -O /dev/null

Ja täällä näkyy käppyrät https://www.thingspeak.com/channels/5247#
 
Vs: Raspberry pi ja 1-wire

kelekka sanoi:
Tervehdys kaikille.

En tiedä onko joku jo ennättänyt, mutta yksi vaihtoehto toteuttaa loggaus on google docsien ja google site:n avulla.

https://sites.google.com/site/raspberrypitemperaturelogger/

Eli vattupiirakka ja RPI2 loggaavat pilpin lämpötiloja(DS18B20). Pythonilla on toteutettu puolen minuutin välein tapahtuva lämpötilojen tallennus sekä paikallisesti, että upaten google spreadsheed:iin.
Googlen site:lle on sitten luotu kuvaaja.
Paikallisesti data tallentuu päiväkohtaisiin lokitiedostoihin, mutta googlen spreadsheed:iin data menee yhteen "pötköön" ja tämän vuoksi googlen dokuissa dataa tarttee manuaalisesti x-ajan välein muokata(olikohan 400000 solua maksimi).

Sekä saitti että itse lokkaus on isosti värkkäyksen alla, mutta päivittelen sitä aina ajan niin salliessa. Visiona on myös saada virtaustiedot(jännitetasot virtauslähettimistä) logattua...miten, sitä en vielä tiedä...vaatii kuiten lisää rautaa.

Hieno ratkaisu tämäkin, kun joskus olisi vain aikaa perehtyä paremmin. Käyrät menee samaan ikkunaan mikä on hyvä.

Itse löysin romiksesta Produalin virtausauntureita 0-10m/s -> 0-10Vout -> vastusjaolla muutetaan 0-5V joka
sitten viedään DS2450 1-Wire 4kan. A/D muuntimelle. Tuki löytyy owfs:stä suoraan, tarkkuus 16-bit.
Toimii ainakin pöydälle kasattuna. Jos DS2450:een kytkee myös jännitteen (3-wire) kannattaa Power rekisteri asettaa niin
A/D muunnoksia tehdään jatkuvasti eikä se varaa 1-wire väylää.

Asiasta kolmanteen...
Netistä löytyi myös kotiautomaatioprojekti:

http://freedomotic.com

1-wire tuki näkyy olevan myös.
 
Vs: Raspberry pi ja 1-wire

HeTi sanoi:
Hieno ratkaisu tämäkin, kun joskus olisi vain aikaa perehtyä paremmin. Käyrät menee samaan ikkunaan mikä on hyvä.

Itse löysin romiksesta Produalin virtausauntureita 0-10m/s -> 0-10Vout -> vastusjaolla muutetaan 0-5V joka
sitten viedään DS2450 1-Wire 4kan. A/D muuntimelle. Tuki löytyy owfs:stä suoraan, tarkkuus 16-bit.
Toimii ainakin pöydälle kasattuna. Jos DS2450:een kytkee myös jännitteen (3-wire) kannattaa Power rekisteri asettaa niin
A/D muunnoksia tehdään jatkuvasti eikä se varaa 1-wire väylää.

Asiasta kolmanteen...
Netistä löytyi myös kotiautomaatioprojekti:

http://freedomotic.com

1-wire tuki näkyy olevan myös.

Tattista vuan.

Jonniin verran tuossa on tarvinnut tuumata ja säätämistä riittää edelleen.

Nuo sun Produallin anturit taitaskin oikeesti olla suht hintavia jos lähtis ostelee :-)

Mulla itellä on tulo- ja paluukanavassa tällä hetkellä HKInstrun perus kuumalankatunnelmat joista loggaan datan paikallisesti pc:llä.
Verkkoon liitettävällä jännitemittarin avulla vois olla optio napata data RPi:lle ja sitä kautta GDocseihin, kun tommonen tuli jossain vaiheessa hommattua. http://digital-measure.com/html/web_voltmeter.htm

Tässä kohtaa tulee se opettelun paikka, kun ei vielä ole juurikaan hajua miten vääntelis koodit kohilleen. Optioita olisi mm. telnet, snmp,...

Vinkkilöitä suapi nakella ;-)

btw. Toi kotiautomaatioprojekti näyttää mielenkiintoiselta, indeed.

edit:
Projektin tilasta johtuen kuvaaja vaihdettu varaajan kuvaajaksi.

Pilp on ns. prototyyppi(pyör. kenno samassa paketissa) ja kerättyä dataa ei ole vielä analysoitu.

Laitan pilpin käppyrät takaisin näkyviin, kun se on sallittua...
 
Takaisin
Ylös Bottom