Raspberry pi ja 1-wire

mstr

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Onkohan joku jo tehnyt softan jolla RPIn voi liittää I/O-nastoista 1-wire väylään kuten Arduinon? Tai kai siihen on kuitenkin syytä laittaa jotain suojakomponentteja väliin. Toinen tapa on liittää RPi suoraan USB sovittimella 1-wire väylään mihin löytyy valmista softaa.

Mä olen kehitellyt softaa kokoonpanoon jossa on RPi ja 3 Arduinoa. RPi on ilman näyttöä ja näppäimistöä ja se lähettää tietokoneelle mittaustulokset näytettäviksi. Päädyin tällaiseen hajautettuun systeemiin koska mulla on paikallisesti useita mitattavia suureita jotka on kätevintä siirtää UDP viesteillä Ardu -> RPi -> tietokone. Esim. eniten kuormitettu Ardu on ILPin vieressä josta se mittaa kWh, fan rpm, T (5 x 18B20) ja säätää ILPin Ta-anturia parilla vastuksella hieman sekä välittää IR-komentoja. Ardun uudempi Ethernet moduli Wiznet5100 lähtee pelaamaan ihan suoraan valmiilla softalla. Vanhempi moduli EN28J60 tarvi ainakin aikaisemmin pientä korjausta ennenkuin kuso lähti kulkemaan.
 

kotte

Hyperaktiivi
Vs: Raspberry pi ja 1-wire

mstr sanoi:
Onkohan joku jo tehnyt softan jolla RPIn voi liittää I/O-nastoista 1-wire väylään kuten Arduinon? Tai kai siihen on kuitenkin syytä laittaa jotain suojakomponentteja väliin.
Noihin I/O-pinneiohin kannattaisi varmaan laittaa väliin jokin Raspberryn standardiliitäntäplatta, ovathan jännitetasot ja suojausvaateet (kuten ehdotitkin) vähän erikoiset. Jokuhan on kehitellyt myös Arduino-pohjaista laajennusplattaa, jolloin Arduino-osa voisi hoitaa 1-wire-liitännän.

Suoraan sanoen kylläkin epäilen, että USB-sovitin tulee huomattavasti halvemmaksi ja kaikki on sitten valmiina (mukaan lukien käyttöjärjestelmän kernel-tason tuki 1-wire-verkon lukemiseen ja hallintaan). Tilanne muuttunee vasta siinä vaiheessa, jos on tarvetta liittää hyvin monentyyppisiä väyliä ja toimilaitelähtöjä.
 

mstr

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire


Softan osalta selviää toki helpommalla jos käyttää RPi + n x USB-sovitin + USB-jako + 1-wire piirejä joita löytyy moneen tarpeeseen. Arvelen että Ardua käyttäen on kuitenkin paremmat mahdollisuudet tehdä monenlaisia, erilaisia kytkentöjä. Riippuu siis tarpeista, tulevistakin, joista ei aina edeltä tiedä.

1-wire sallii pitkät kaapelit mutta kaapelien tuominen rakennuksessa yhteen pisteeseen ei ole niin helppoa. Ardu / Ethernet yhdistäminen hoituu yhdellä kaapelilla ja Ethernet verkko on laajennettavissa rajatta. Itse lähdin aluksi ohjelmoimaan Ardua ja siltä perustalta oli luonnollista jatkaa.
 

repomies

Hyperaktiivi
Vs: Raspberry pi ja 1-wire

RPi ei ole oikein houkuttanut johtuen tuosta GPIO:n vaatimasta puskuroinnista ja jännitetason muunnoksesta. Ei niin ettenkö olisi arduinoonkin joutunut jotain vähän vastaavaa joskus tekemään, mutta kyllä se helpommalla 1-wiren kaveriksi taipuu.

On tietysti hieman eri juttu koodailla vekotinta jossa on 2k muistia verrattuna laitteeseen jossa on 256 megatavua sekä ethernetportti, joten ymmärrän kyllä jos joku preferoi ennemmin RPi:tä.

Oma ratkaisuni on wlanilla varustettu N810 isäntänä, ja Arduino siinä kiinni 1-wire ym. extenderinä. Tuommoinen pikku tabletti kun antaa samalla kertaa sekä verkkoyhteyden että mahdollisuuden tehdä kosketusnäyttökäyttöliittymän. Sitten kun aika jättää N810:stäni, pitää harkita muita vaihtoehtoja - kenties jopa tuota RPi:tä. Ei taida olla kyllä ihan heti huolena, kun on noita varalaitteita..

Jos joutuisin tekemään RPi:llä, laittaisin ehdottomasti usb:n kautta 1-wiren. Softan saisi toimimaan suoraan. Releohjauset onnistuu puolijohdereleellä todennäköisesti suoraan pinneistä, olettaen että sovellus on sellainen johon puolijohderele käy. Normaali rele tarvitsee sitten puskuroinnin, mutta halvallahan noita kortteja saa ebaysta.
 

Mikkok

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

10€ maksaa ebay:stä DC puolijohderele, ac samaa luokkaa. Ja nehän käy mihin vain :) Suoraan arduinon pinneistä ohjaus. Dealextremeen tullut aika läjä (www.dealextreme.com tai www.dx.com, mutta nuohan nyt kaikki tietääkin) arduinoon käypiä breakout boardeja ja taitaa olla useampia kymmeniä erilaisia relekortteja. Noista kannattaa vaan katsoa että ne releet ovat sen 10/16A ja myös ne liittimet.

Itse ostin joskus yksittäisiä arduinoon tarkoitettuja releitä ja releet olivat sen 10A, mutta liittimet olivat max 120V 7A, lojuvat vieläkin käyttämättömänä tuon valmistajan mokan takia..

Oma ratkaisuni menee niin että minulla on tosiaan kaksi arduinoa sarjassa joista toisessa kosketusnäyttö ja toisessa ethernet ja anturinmittaushärpäkkeet.

RPI on vielä haaveena, jos sille aikaa joskus jäisi :)
 

repomies

Hyperaktiivi
Vs: Raspberry pi ja 1-wire

Mikkok sanoi:
10€ maksaa ebay:stä DC puolijohderele, ac samaa luokkaa.

Itse ostin joskus yksittäisiä arduinoon tarkoitettuja releitä ja releet olivat sen 10A, mutta liittimet olivat max 120V 7A, lojuvat vieläkin käyttämättömänä tuon valmistajan mokan takia..
Kymppi on paljon puolijohdereleestä, olen itse hakenut viitosella bebekistä. DC-versioita en ole koskaan kokeillut.

Nuo relekorttisi varmaan käyvät kuitenkin hyvin DC-sovelluksiin. En tiedä onko näissä omissani sopivat liittimet, ei noissa lue mitään. Kuparia on vedoissa reilut kolme milliä, kyllähän se jo lämpenee jos siitä yrittää kymmentä amppeeria työntää.

http://www.ebay.com/itm/New-5V-8-Channel-Relay-Module-Board-for-Arduino-PIC-AVR-MCU-DSP-ARM-Electronic-/270984095956?pt=LH_DefaultDomain_0&hash=item3f17e928d4

Hinta tosiaan $9.22 per kappale ja näkyy ottavan vajaat 120mA kahden releen vetäessä. Vaihtokoskettimet.
 

Liitteet

Mikkok

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Noiden liittimien kyljessä pitäisi olla samalla värillä, "kohokuviona"

Tuossa on puolijohderele mitä olen itse suosinut (tai vastaava):

http://www.ebay.com/itm/New-Solid-State-Relay-SSR-25-DC-DC-25A-3-32VDC-5-220VDC-Switching-/271057108956?pt=LH_DefaultDomain_0&hash=item3f1c433fdc

Huomattavasti kätevämpi kuin nuo juotettavat.
 
L

lorvi

Vieras
Vs: Raspberry pi ja 1-wire

Ainakin helppo laite näin aloittelijalle, sain käynnistymään ongelmitta. Kun olisi tuo linuxi vielä hanskassa niin........ Ensi talven lumilla, jos intoa piisaa alan RP llä lukea 1-wire verkkoani jospa pääsisi tuosta vuosia vaivanneesta Logtempin kosteusmittauksen virheilmoituksesta.
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Heh, ite ennakkotilasin ajat sitten ja ei vieläkään ole näkynyt! Meinasin sen laittaa logituskoneeksi ja 1-wire USB sovittimella, niin ei tarvi mitään kikkailla. Saman owfs : n voi kääntää siihen kuin mikä on nykyisessä miniläppärissä ja ubuntussa.
 

kotte

Hyperaktiivi
Vs: Raspberry pi ja 1-wire

apophis sanoi:
Heh, ite ennakkotilasin ajat sitten ja ei vieläkään ole näkynyt!
Tätä olen kuullut muiltakin. Jonot pääsivät keväällä niin pitkiksi ja jonon purkamiseksi ei ole riittävästi resursseja, joten mitään ei tunnu tapahtuvan.

Tukkukaupasta kun on tilannut, niin on viime aikoina saanut päivän -- parin toimitusajalla (itselle omaan laskuun välittäjän kautta ja firmalle tukkukaupasta suoraan tilattuna).
 

Hema

Jäsen
Vs: Raspberry pi ja 1-wire

Taalla sama homma, pari kuukautta sitten tilaamani Pi on luvattu joskus ennen joulua.

Mutta jos tuollaisia pienia korttitietokoneita tarvitsee ja haluaa helposti sensoroida seka saataa, suosittelen kanadalaisia Phidgetseja (http://www.phidgets.com/products.php?category=21&product_id=1072_0 ) . Itsella on 3 noita SBC2-kortteja ja olen ollut varsin tyytyvainen. Siina on 8kpl digitaalista- ja analogista sisaantuloa seka 8kpl 5V digiulostuloa, joilla voi ohjata releiden avulla isompiakin virtoja. Se ajaa ihan perus Debiania, joten kaytettavyys on erinomainen. Toki maksaa 10x Pi:n verran, mutta ei tarvii niin paljon kolvailla.
Erilaisia valmiita analogisia sensoreita loytyy tusinoittain.

Esim saksan Ebaysta ostamieni kWh-mittareiden pulssiulostulot voi suoraan laskea digisisaantulolla, ilman erillista virransyottoa. Pollustakin pienen saadon kanssa sain pulssit ulos.

En siis myy noita tms, mutta jos joku tuetuista ohjelmointityokaluista pysyy kadessa, niin mittaus- ja saatomahdollisuudet ovat miltei rajattomat. Jopa vanha unix-admini sai pythonilla kirjoitettua skriptit, jotka noutaa Cactille oikeannakoiset lampo- ja kulutuslukemat.

Ohessa esimerkit.
Pollun karkea resoluutio pulssi/kWh aiheuttaa epatarkkuuden VILPin tuottoluvuissa. Kone on siis Pana 12kW.
 

Liitteet

VesA

Moderaattori
Ylläpidon jäsen
Vs: Raspberry pi ja 1-wire

Tuossa mainittiin Cacti. Se on kyllä tämmöisen datan visualisointiin aika lailla parasta ikinä, käyriin voi zoomailla rrd-puskureiden resuluution rajoissa ja käyriä voi ryhmitellä ruudulle kokonaiskuvan saamiseksi.
 

Moon

Jäsen
Vs: Raspberry pi ja 1-wire

Sama juttu täällä raspi tulee joskus, vaikka tilattu kesäkuussa... aina tuntuu siirtyvän :eek:
Mulle riittää 1 USB portti, siihen olisi sitten tarkoitus kytkeä kaikki laitteet aktiivisen hubin kautta, modeemi, relekortit ,anturit, i/o kortit, näyttö jne, koska eihän näissä jutuissa ole mitään aikakriittisiä pisteitä ... ei mulla ainakaan, eikä siksi myöskään tarvita mitään "Real-Time Linuxsia"
 

rassi

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Itsekkin odottelen. Ennakkotilattu silloin joskus kun ennakotilaus tuli mahdolliseksi, mutta eipä noissa niin hintaeroa ole, jos tilaa muualta.
esim. http://kpimport.fi/index.php?route=product/product&product_id=265 tai http://www.robomaa.com/index.php?main_page=product_info&cPath=1014_1034&products_id=1208

Kummastakin löytyy suoraan varastosta.
edit: ja tilattu. 44.75€ posteineen maksoi.
 

timop

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

mielenkiintoista tulossa:
http://www.cooking-hacks.com/index.php/documentation/tutorials/raspberry-pi-to-arduino-shields-connection-bridge
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

No nyt vihdoin tuli RS : ltä mailia, että Raspberry on laitettu postiin! Samalla se oli upgreidattu 512MB rev 2 malliksi, hyvä homma että tuo muisti tuplaantui. Nythän niiden piti saada 150 tuhatta raspberryä jakoon tässä kuussa!

Setuppi on kaavailtu jo valmiiksi:

- Raspbian “wheezy”
- apache 2 web serveriksi
- mysql tietokannaksi
- phpmyadmin kannan selailuun, jos joskus kiinnostaa
- owfs 1-wire verkon lukuun
- gnuplot graafien piirtoon

- omat bash/perl skriptit 1-wire lukuun
- omat perl cgi skriptit käppyröiden piirtoon

Jos kaikki sujuu ongelmitta, niin aika kivuton homma pitäisi olla siirtyminen miniläppäristä raspberryyn.
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Rasperry Pi saapui perille, joten tässä 'lyhyt' ohjeistus kuvattuun setuppiin. Raspberryssä on oltava verkkoyhteys, että tämän saa tehtyä. Lopputuloksena pitäisi olla arvot kannassa 5 min välein ja lämpötilakäppyrä päivämäärän mukaan, jota voi katsell selaimella.

Aivan aluksi

Tee vähintään 4 gigan nopealle muistikortille Raspbian “wheezy” image ohjeen mukaan:

http://www.raspberrypi.org/downloads

Kortti raspiin, hdmi kaapeli töllöön, verkkopiuha kiinni, näppis kiinni ja virrat päälle. Ensimmäisessä bootissa tulee automaattisesti konfigurointivalikko ja sieltä kannattaa ottaa

expand_rootfs

ja katsoa

ssh

kohdasta, että ssh serveri on enabloitu -> voit käyttää ja säätää pi : tä verkon yli vaikka putty : llä.

Konfiguroinnin jälkeen anna

$ sudo reboot

ja odottele että pääset loginiin (pi / raspberry).

1-wire (owfs)

$ sudo apt-get install owfs
$ mkdir 1wire
$ sudo owfs -u -m /home/pi/1wire --allow_other
$ ls 1wire

Näyttää 1wire hakemistossa 1wire sensorit. Lämpötilan tulostus yhdestä sensorista:

$ cat 1wire/28.AE8CCC020000/temperature

Web serveri (apache2)

Varmuuden vuoksi raspi ohjeen mukaan:

$ sudo addgroup www-data
$ sudo adduser www-data www-data
$ sudo mkdir /var/www
$ sudo chown -R www-data:www-data /var/www
$ sudo apt-get update
$ sudo apt-get install apache2

Tietokanta (mysql)

$ sudo apt-get install mysql-server

Installeri kysyy root käyttäjälle salasanaa, anna siihen root.

Kannan hallinta (phpmyadmin)

$ sudo apt-get install phpmyadmin

Installeri kysyy mille webbiserverille konffataan, valitse apache2. Samoin kysytään että konffataanko kantaan vakiojutut, vastaa ok ja salasanoihin root, root, root.

Kokeile kantaa selaimella vaikka toisesta koneesta. Osoite on http://koneen_ip/phpmyadmin, käyttäjä/salasana on root/root.

Mene Tietokannat välilehteen ja lisää uusi kanta, esim. talo. Valitse talo kanta ja luo sinne uusi taulu lampotilat, aseta number of columns 2. Rakenne ikkunaan laita ensimmäiseen kolumniin nimi aika, tyyppi TIMESTAMP, oletusarvo CURRENT_TIMESTAMP, indeksi INDEX. Toiseen kolumniin nimi sensorit, tyyppi TEXT. Valitse tallenna ja taulu tallentuu kantaan.

Nyt pitäisi olla kannassa taulu, johon voidaan tallentaa 1wire sensorien arvoja. Taulun aikaleima on automaattinen, joten kantaan laittaessa tarvitsee vain antaa sensorit kenttään arvot.

Lukuskripti ja crontab

Tehdään skripti, joka lukee sensorit

$ pico do1wire.sh

#!/bin/bash

NUM_SENSORS=`cat sensors.txt|wc -l`
SENSORS=0
TRY=10
FILES=`cat sensors.txt`

while [ $TRY -gt 0 ]
do
RESULTS=`cat $FILES`
RESULTS=`echo $RESULTS | tr -s " "`
SENSORS=`echo $RESULTS | wc -w`

if [ $SENSORS -ge $NUM_SENSORS ]
then
break
fi

if [ $TRY -eq 10 ]
then
echo "`date` failed ($SENSORS)" >> 1werr.log
echo " $RESULTS" >> 1werr.log
fi

TRY=`expr $TRY - 1`
sleep 2
done

if [ $SENSORS -ge $NUM_SENSORS ]
then
# Insert to database
/usr/bin/mysql -uroot -proot -e "INSERT INTO talo.lampotilat(sensorit) VALUES (\"$RESULTS\")"
else
echo "`date` failed after retries ($SENSORS)" >> 1werr.log
fi

Ctrl + x ja y, niin tiedosto tallentuu.

$ chmod a+x do1wire.sh

Tehdään tiedosto, jossa luetellaan sensorit (1wire verkkoa toimii paremmin jos sitä ei skannata täysin joka kerta).

$ pico sensors.txt

1wire/28.AE8CCC020000/temperature

Ctrl + x ja y, niin tiedosto tallentuu. Katso että tiedostoon ei tule ylimääräisiä rivinvaihtoja, koska lukuskripti ottaa tuosta tiedostosta sensorien lukumäärän.

Testaus

$ ./do1wire.sh

Ja kantaan pitäisi ilmestyä lampotilat tauluun uusi rivi, jossa on aikaleima ja sensorien arvot välilyönneillä erotettuna.

Lisätään rivi crontabiin suoritettavaksi 5 min välein.

$ crontab -e

Lisää loppuun rivi

*/5 * * * * /home/pi/do1wire.sh

Nyt kantaan pitäisi 5 min välein ilmestyä uusia rivejä lampotilat tauluun.
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Perl skripti graafin piirtoon

Tarvitaan muutama kirjasto ja gnuplot

$ sudo apt-get install libcgi-pm-perl
$ sudo apt-get install libdbi-perl
$ sudo apt-get install gnuplot

Ja itse skripti tehdään /usr/lib/cgi-bin hakemistoon

sudo pico /usr/lib/cgi-bin/img.pl

#!/usr/bin/perl -w

use strict;
use CGI;
use DBI;
use POSIX;
use Time::Local;
use Time::piece;
use Time::Seconds;

# Common constants for plots
my $tic_day = " %H";

my $plot_temps = 'using 1:3 title "Huone" with lines';

my $res_file = "/dev/shm/res" . floor(rand(1000)) . ".txt";
my $sql_res = "";

sub mysql_get_select($);
sub mysql_select($$);
sub render_temps_day($);

my $cgi = new CGI;
my $cgi_date = $cgi->param('date') || `date +%Y-%m-%d|tr -d "\n"`;

my $img_w = $cgi->param('width') || "640";
my $img_h = $cgi->param('height') || "480";

print "Content-type: image/png\n\n";

my $select = mysql_get_select($cgi_date);
mysql_select($select, $res_file);
render_temps_day($cgi_date);

unlink ($res_file);
exit;

#

sub mysql_get_select($)
{
my $cgi_date = $_[0];

my $select = "SELECT * FROM ";

$select .= "lampotilat ";
$select .= "WHERE DATE(aika)=DATE(\"$cgi_date\") ";
$select .= "ORDER BY aika ASC";

return $select
}

sub mysql_select($$)
{
my $select = $_[0];
my $file = $_[1];
my $res = -1;

eval {
my $dbh = DBI->connect ("dbi:mysql:dbname=talo", "root", "root", { RaiseError => 1 },);
my $sth = $dbh->prepare ($select);
$sth->execute();

open (FILE, ">$file");

my @row;
while (@row = $sth->fetchrow_array ())
{
print FILE "$row[0] $row[1]\n";
}

close (FILE);

$sth->finish ();
$dbh->disconnect ();

$res = 0;
};

return $res;
}

sub render_temps_day($) {
my $cgi_date = $_[0];
open(G, "|gnuplot") or die "gnuplot failed";
print G <<EOF1;
set autoscale
set xtics 3600
set ytics auto
set title "L\344mp\366tilamittaukset $cgi_date"
set xlabel "Aika"
set ylabel "L\344mp\366tila (C)"
set terminal png medium size $img_w,$img_h
set output
set key left top
set grid
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
set format x "$tic_day"
set xrange ["$cgi_date 00:00":"$cgi_date 24:00"]
set yrange [0:30]
plot "$res_file" $plot_temps
EOF1

close (G);
}

$ sudo chmod a+x /usr/lib/cgi-bin/img.pl

Syntaksin voi tarkistaa

$ perl -wc /usr/lib/cgi-bin/img.pl

Ja kun skripti on valmis, niin koko systeemi pitäisi olla testattavissa. Eli mene osoitteeseen http://koneen_ip/cgi-bin/img.pl ja selaimeen pitäisi ilmestyä kuvaaja! Onnittelut, jos pääsit tähän asti :cool:
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Lisäyksenä vielä, skriptille voi antaa parametreja:

http://192.168.0.105/cgi-bin/img.pl?date=2012-11-20&width=800&height=600

Eli päiväys ja kuvan koko voidaan antaa url : ssä.

Ja jos tuleepi kysymyksiä tai ongelmia, niin mielellään tähän threadiin ja yritän vastailla.

EDIT: Kuva itse laitteesta, kannattaa muuten tilata tuo oikea kotelo, istuu hyvin sen sisälle.

 

rassi

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Kiitos apophis!

Pitää alkaa tutustumaan tähän 1-wire maailmaan.


Olisikohan tälläinen hyvä RPi:n kaveriksi
http://www.sheepwalkelectronics.co.uk/RPI2.shtml
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Mielenkiintoinen adapteri, en tiedä toimiiko tuo heittämällä owfs : n kanssa? Itse käytin DS9490 USB adapteria ( http://www.fuchs-shop.com/en/shop/17/1/13372016/ ), joka on helppo laittaa toimimaan.
 

rassi

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Sivujen mukaan kyllä:

"The RPI2 is designed to work with the Linux kernel I2C drivers and is supported by OWFS. "
http://www.sheepwalkelectronics.co.uk/RPI2-software.shtml


RPI3 versio tulossa myös tuolta.

The RPI1 is a passive host adapter that makes use of the kernel based 1-Wire drivers available in the Linux kernel. See for more information.
http://www.sheepwalkelectronics.co.uk/RPI1.shtml

The RPI2 is a much more capable host adapter. It is based around a Maxim DS2482-100 I2C to 1-Wire IC and is therefore capable of driving much larger networks than the RPI1. See here for more information.
http://www.sheepwalkelectronics.co.uk/RPI2.shtml

The RPI3 is similar to the RPI2 but based around the Maxim DS2482-800 8 channel I2C to 1-Wire IC. This provides 8 separate 1-Wire buses from a single host adapter and will be ideal for anyone with a large 1-Wire network. Price and availability of this module is to be confirmed as it is still under development. [/i]
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Sen verran netistä selailin lisätietoa, että defulttina raspi ottaa 64MB muistista VideoCore graffaprossukalle. Eli tuo on suoraan pois muusta RAM muistin määrästä. Raspi-config komennolla voi tuota 'memory split' kohtaa muuttaa. Laitoin itselle vain 16MB, niin vapautui 48MB tavallisille softille. Nyt tosin graafista käyttöliittymää ei vissin voi edes käynnistää...

Käytössä olevan muistin voi tarkistaa seuraavasti (KiB Mem):

Koodi:
$ top

top - 15:28:03 up 15:55,  1 user,  load average: 0.01, 0.07, 0.12
Tasks:  71 total,   1 running,  70 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  1.3 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:    497764 total,   193528 used,   304236 free,    28828 buffers
KiB Swap:   102396 total,        0 used,   102396 free,    96504 cached
 
Vs: Raspberry pi ja 1-wire

Hei.

Mainio topicci. Raspberry Pi tuli haettua Partcolta tänään. Nyt pitäisi alkaa OneWire verkkoa väsäämään. Lämpötila-anturit kannattanee hankkia yleiselektroniikasta? Tarkoitus kerätä dataa lämpötiloista maalämpöpumpusta ja iv-koneesta. Saakohan Geopro pumpusta ulos dataa Raspberry Pi:lle tai LON väylän kautta ylipäätään tälle kokoonpanolle? Tarkoitus olisi mitata:

talon sisälämpötilaa
poistoilma lämpötilaa pyörivän kennon jälkeen
lämmityspiirin 1 menolämpötilaa
lämmityspiirin 2 menolämpötilaa
maaliuoksen menolämpötilaa
maaliuoksen paluulämpötilaa

ja mahdollisesti maalämpöpumpun kuluttamaa sähköä kWh, mikäli tiedon saan Hager 031 sähkömittarista ulos.

Lisäksi olen perehtynyt vain yleisellä tasolla kotiautomaatioon, niin onko antaa vinkkejä sivustoista joilta saisi lisätietoa OneWire toimivuudesta ja käytöstä lämpötilamittauksissa?
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Ei kannata anturien lukumäärästä tinkiä, esim. IV koneelta ota tulo, poisto, ulko, jäte, lämmityspiireistä menot ja paluut. Toisessa 1-wire topikissa on enemmän juttua itse anturiverkoista.

Kwh mittarista voi saada 1-wire laskuripiirillä pulssit talteen joko ledistä tai joissakin on laskurille sopiva kytkevä lähtö.
 

mstr

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Olen viime vuosina värkännyt pala palalta tällaista kokoonpanoa ja se on kasvanut näin isoksi. Se on tarkoitettu lähinnä ilpin tarkkailuun mutta lisäksi siinä on muutakin talon lämmitykseen liittyvää. Laitan tänne kuvat nähtäville, ehkä joku saa siitä ajatuksia omiin projekteihinsa. Softaa voin myös laittaa tänne jos on kiinnostusta (Linux, ei Win). Kuitenkin pitää varoittaa että softa on ihan itse tehtyä ja harrastelijatasoa. Alan miehet (onko täällä koskaan ollut naisia?) saattavat havaita että monen asian olisi voinut tehdä toisin ja ehkä fiksumminkin. Tuskin tämä on valmis vaan vain tämänhetkinen tilanne.

Kuvien resoluutio tippui valitettavasti huonoksi kun latasin ne tänne.
 

Liitteet

L

lorvi

Vieras
Vs: Raspberry pi ja 1-wire

Pitääkö tuolle RP lle jotenkin selittää että se osaa lukea 1-wireä USB adapterilta vai tunnistaako wheetzy "automatic" portin mistä löytyy 1-wire verkko. Minulla herjaa jotain mountpoint not empty.
 

kotte

Hyperaktiivi
Vs: Raspberry pi ja 1-wire

lorvi sanoi:
Pitääkö tuolle RP lle jotenkin selittää että se osaa lukea 1-wireä USB adapterilta vai tunnistaako wheetzy "automatic" portin mistä löytyy 1-wire verkko. Minulla herjaa jotain mountpoint not empty.
Oletko ladannut sopivan kernel-modulin? (... "sudo modprobe wire" tms. Tuon jälkeen esim. näkyy /sys/bus/w1 -juuresta lähtien ...)
 
L

lorvi

Vieras
Vs: Raspberry pi ja 1-wire

Orjallisesti noudattaen etenin ihan puhtaaseen imageen aloitin seuraavasti

expand_rootfs

ja katsoa

ssh

kohdasta, että ssh serveri on enabloitu -> voit käyttää ja säätää pi : tä verkon yli vaikka putty : llä.

Konfiguroinnin jälkeen anna

$ sudo reboot

ja odottele että pääset loginiin (pi / raspberry).

1-wire (owfs)

$ sudo apt-get install owfs
$ mkdir 1wire
$ sudo owfs -u -m /home/pi/1wire --allow_other

ja sitten tulee herja "mountpoint not empty"

jostain syystä ei löydä tuolla ftdi ajureita, vai miksi niitä linux puolella kutsutaan
sudo apt-get install libftdi-dev

No, eiköhän se siitä vielä, tuli vaan kulttuurishokki kun on Windowsin kanssa hyörinyt.
 

kotte

Hyperaktiivi
Vs: Raspberry pi ja 1-wire

lorvi sanoi:
$ sudo apt-get install owfs
$ mkdir 1wire
$ sudo owfs -u -m /home/pi/1wire --allow_other

ja sitten tulee herja "mountpoint not empty"
Taidetaan puhua hiukan eri asiasta. Siis Raspberry PI'ssä pitäisi 1-wire-verkon näkyä suoraan, kunhan oikein kernel-modulit on asennettuna. Eli kokeilin, että ainakin omassa raspissa muut ajurit latautuvat itsestään, kun kytkee USB-mokkulan ja siihen adapterit perään, mutta täytyy vielä ladata lämpömittarimoduuli esim. komennolla "sudo modprobe w1_therm".

Sen jälkeen lämpötilat näkyvät suoraan tiedostojärjestelmästä, esim. täman kokeen tapauksessa:

pi@raspberrypi /sys/bus/w1/devices/10-0008026ca1f4 $ cat w1_slave
29 00 4b 46 ff ff 02 10 0c : crc=0c YES
29 00 4b 46 ff ff 02 10 0c t=20625
pi@raspberrypi /sys/bus/w1/devices/10-0008026ca1f4 $

(Tuossa lopussahan lämpötilakin seisoo kolmella desimaalilla). En ole kokeillut owfs:ää aikoihin, kun omat kokemukseni eivät aikanaan olleet hyviä, joten olen käyttänyt tuota suoraa kernel-hakemistoa (eräiden vanhempien itse kirjoitettujen Dalsemin kirjastoa suoraan käyttävien softien ohella). Tuo linux-kernelin oma interface toimii ainakin omien kokemuksieni mukaan erittäin nopeasti ja luotettavasti.
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Niin sulla on sellainen sarjaportti adapteri, joka näkyy tuolla w1_therm kernelimokkulalla?

Tuo minun esimerkki oli 'natiivin' 1-wire USB adapterin käytöstä, jolloin ei erikseen tarvitse kernelimoduulia. Owfs : ää ei ole pakko mountata hakemistoon, voi myös käynnistää owserverin, jolloin sensorit näkyy niillä owread jne. komennoilla.

Huom! Katsoppa ps -A että onko sulla mm. owserver, owhttpd jne. käynnissä siellä taustalla? Ne nimittäin tuli defaulttina käyntiin ja konfigurointifile /etc/owfs.conf on jollakin fake optioilla vakiona.
 
L

lorvi

Vieras
Vs: Raspberry pi ja 1-wire

Ihan tyhmä peruskysymys, mutta kun olen ihan out linuxin suhteen,
Kun ajan kortille Wheezy imagen(vaikka configista laittaa, ei silti scandit toimi, mutta ei se mitään) niin pitääkö FTDI adapterille ajaa jotain tai yleensäkään tehdä muita temppuja ennenkuin lähtee OWFS ää asentamaan?
Ilmeisesti tuo image jotain USB ajureita sisältää kun se näppiksen ja hiiren ym. tunnistaa.
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Tökkää usb-sarjaportti adapteri raspiin ja kirjoita

$ dmesg

niin lopusta näkee, että mitä se usb : n osalta tunnisti.

myös

$ lsusb

listaa usb laitteet. Ftdi pitäisi lopulta ilmestyä /dev/ttyUSB0 tai /dev/ttyACM0 tms. deviceksi.
 
L

lorvi

Vieras
Vs: Raspberry pi ja 1-wire

apophis sanoi:
Tökkää usb-sarjaportti adapteri raspiin ja kirjoita

$ dmesg

niin lopusta näkee, että mitä se usb : n osalta tunnisti.
Siellä se on ttyUSB0

apophis sanoi:
$ lsusb

listaa usb laitteet. Ftdi pitäisi lopulta ilmestyä /dev/ttyUSB0 tai /dev/ttyACM0 tms. deviceksi.
Ltd FT232 USB-Serial (UART) IC, mutta mitään polkua ei minun listauksessa näy (/dev/....)

Mutta joku mättää, ei lue verkkoa tällä
$ sudo owfs -u -m /home/pi/1wire --allow_other

1wire hakemistoon tulee hakemistoja:
05.4A............AB
10.67c........FF
alarm
bus.0
settings
simultaneous
statistics
structure
system
uncached
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

tuo -u parametri olettaa että adapterina on esim. se DS9xxx adapteri. Jos on sarjaporttiadapteri, niin eri optiot ja /dev/ttyUSB0 annetaan parametrina?
 
L

lorvi

Vieras
Vs: Raspberry pi ja 1-wire

No joo, nyt luki anturit, 6 kpl, logtemp lukee 37 anturia, mutta tästä on hyvä jatkaa, kiitti vinkistä.

Enpä ajatellu, ei tuo raspin virta taida piisata minun verkolle.
 

apophis

Aktiivinen jäsen
Vs: Raspberry pi ja 1-wire

Paljonko siitä raspin portista lähtee maksimissaan? Semmoisen tempun voi tehdä, että erottaa USB johdosta +5V karvan ja syöttää sitä esim. toisella USB laturilla suoraan. Tai sitten käyttää USB hubia, jolla on oma syöttö.

Mulla on 9 lämpötila-anturia, 1-wire counter, 1-wire switch, 1-wire A/D muunnin verkossa ja pelaa ilman ongelmia raspissa.
 
Ylös Bottom