Sida 2 av 2
Re: OWFS + Debian/Ubuntu + Virtualbox Söker support
Postat: 01 apr 2012, 14:26
av daromer
kör
whereis php
så kommer du få svaret du söker

Re: OWFS + Debian/Ubuntu + Virtualbox Söker support
Postat: 01 apr 2012, 14:56
av Bergalot
Hehe..jag måste ju vara kass på de här. Hittade php den låg i /usr/bin/php. jag har inge vidare flyt med crontab heller.
Nu startar jag fake temperatur loggningen med:
Kod: Markera allt
/opt/owfs/bin/owfs --fake=10 --allow_other /mnt/1wire
Sedan skall jag konfigurera cron i crontab. Skriver in detta och får följande fel:
skriver in följande under kommentarerna i filen:
Kod: Markera allt
* /5 * * * /usr/bin/php /var/www/read_to_mysql.php
Fel:
Kod: Markera allt
crontab: installing new crontab
"/tmp/crontab.Ep114b/crontab" :23: bad hour
errors in crontab file, can't install.
Uppdaterat: De ska tydligen vara 5st stjärnor. jag testade */1 * * * * godkänner crontab detta. Dock fungerar inte loggingen. När jag testar php scriptet i webläsaren fungerar scriptet men inte i crontab.
Uppdaterat: Kan meddela att nu fungerar loggningen.

Re: OWFS + Debian/Ubuntu + Virtualbox Söker support
Postat: 01 apr 2012, 17:51
av daromer
Om du kör ditt script direkt i prompten med:
/usr/bin/php /var/www/read_to_mysql.php
Funkar det?
Crontab har inte samma miljövariabler som t ex root eller din användare. förmodligen det som spökar.
du kan isåfall lägga till >/tmp/log i slutet
kolla sedan den filen när en minut gått och se om du kan se nåt.
Re: OWFS + Debian/Ubuntu + Virtualbox Söker support
Postat: 01 apr 2012, 18:11
av Bergalot
Jag löste det till slut. Jag loggar nu 3st tempgivare och försöker nu presentera de sista skriva temperaturerna för respektive givare på hemsidan.
Så här ser databasen ut:
Kod: Markera allt
id sensor_serial temp_c date
128 10.4AEC29CDBAAB 41.6501 2012-04-01 16:45:01
129 10.67C6697351FF 16.9607 2012-04-01 16:45:01
130 10.F2FBE3467CC2 90.6804 2012-04-01 16:45:01
Att visa sista skrivna temperaturen i databasen kan man ju göra med följande kod:
Kod: Markera allt
$latestvalue_q = "SELECT temp_c FROM temps ORDER BY id DESC LIMIT 1";
$latestvalue_r = @mysql_query($latestvalue_q);
$temperature = @mysql_fetch_assoc($latestvalue_r);
Koden tar dock inte hänsyn till vilken givare som temperaturen hör till. Hur löser man detta?
En sista sak innan jag tycker att man kan låsa denna tråd. Vad tror ni om php-skriptet som jag använder? Är det säkert? Kommer jag få problem då en givare inte ger ut något värde?
Tack så mycket för all hjälp hittils!

Re: OWFS + Debian/Ubuntu + Virtualbox Söker support
Postat: 01 apr 2012, 18:19
av daromer
Vad var fel?
Scriptet går alltid göra bättre. Har inte kollat i koden men finns mycke man kan göra.
SELECT temp_c FROM temps where sensor_serial = '$serial' ORDER BY id DESC LIMIT 1"
Re: OWFS + Debian/Ubuntu + Virtualbox Söker support
Postat: 01 apr 2012, 19:20
av Bergalot
Felet i Crontab berodde på mig. Först visste jag inte vart php låg. Jag trodde php var en mapp utan de är snarare ett program/funktion. Jag hade även knappat in fel kommando för repetering av 5:e minut. Riktiga kommandot är
(*/5 * * * *).
Angående php-scriptet som jed har skrivit så loggas alla temperaturer i en kolumn. Antag att man skulle ha en kolumn för respektive sensor. Detta kanske skulle ge en bättre uppdelning men då en givare inte skickar iväg en signal blir ju "luckan" tom där de egentligen skulle ha sparats ett värde.
Detta har säkert jed tänkt på så jag hoppas detta script är en bra grund som jag kan bygga vidare på.

Re: OWFS + Debian/Ubuntu + Virtualbox Söker support
Postat: 01 apr 2012, 19:46
av daromer
Jag loggar en rad per sensor. Finns inget annat vettigt sätt när det gäller 1wire nät. att ha alla sensorer på samma rad funkar inte.
Jag har massa kontroller. Kontroll om dbn svarar. Kontroll om nätet funkar som det ska. Om tempen är funktionell. Om värdet finns i databasen redan med givet tidsintervall. har även fullt stöd för att läsa där det finns hubbar samt köra uncached med simultaneous funktionalitet. = alla sensorer under 2 sekunder. istället för 0.8 sekunder per sensor.
o.s.v