Kirjoittaja Aihe: Sääasema linuxille  (Luettu 25287 kertaa)

0 jäsentä ja 1 Vieras katselee tätä aihetta.

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #20 : Tiistai, 07.12.2010, 16:10 »
Tämä on kyllä erikoinen foorumi kun kysymyksiin vastataan nopeasti ja asiallisesti  ;D

Poissa J.Jäntti

  • Foorumin ylläpitäjä
  • Ylläpito
  • *****
  • Viestejä: 5314
    • Finland Weather Exchange (FinWX)
Vs: Sääasema linuxille
« Vastaus #21 : Tiistai, 07.12.2010, 18:02 »
Tämä on kyllä erikoinen foorumi kun kysymyksiin vastataan nopeasti ja asiallisesti  ;D

Se onkin tämän foorumin kulmakivi. :)
Yhteisö täällä edustaa harrastajia, jotka ovat tapelleet milloin minkäkin sääasemalaitteen tai ohjelman parissa, joten näkemystä laitteista ja kokemusta niiden käytöstä riittää täällä joka lähtöön. Nopeus tulee aktiivisten jäsentemme toimesta ja asiallisuus tulee siitä avoimmuudesta ja auttamisen tahdosta, joka täällä vallitsee. Voi melkeinpä sanoa, että mikään kysymys ei ole liian hankala. Siihen etsitään vaikka joukolla vastausta. ;D
Juha Jäntti
Foorumin ja sivuston ylläpitäjä
Finland Weather Exchange (FinWX)

http://www.finwx.net/
------------------------------------------
Ukkoskausi avattu Suomessa: --.--.----
Ukkoskausi avattu Helsingissä: --.--.----
-------------------------------------------
Ukkospäivälaskuri 2021; Helsinki/Viikinmäki
0 ukkospäivää.
------------------------------------------
Twitter, FinWX:n ylläpidon ilmoitukset
------------------------------------------

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #22 : Tiistai, 07.12.2010, 18:59 »
Lainaus
saako tietojen tallennuksen kantaan hoidettua jptenkin web-serverillä?

Saa. Esim oman etusivun käyrien kanta tehdään serverillä.
Ajastettu php-skripti lukaisee WD:n uppaaman clientraw.txt-tiedoston ja tallentaa halutut arvot kantaan.

Löytyykö jostain puolivalmiita skriptejä? Niin hyvin ei ole php hallussa että saisin tyhjästä moisen tehtyä..

Poissa weatherc

  • Ylläpito
  • *****
  • Viestejä: 8948
Vs: Sääasema linuxille
« Vastaus #23 : Tiistai, 07.12.2010, 21:13 »
Löytyy  ;D

Koodia: [Valitse]
<?php

$host 
""//your MySQL host name or IP address
$user ""//your MySQL username
$pass ""//your MySQL password
$db ""//your MySQL database name

$sqlcon mysql_connect($host$user$pass);
if(
$sqlcon) {
mysql_select_db($db) or die(mysql_error());
}

$wxtable "wxdata";
$rawfile  'clientraw.txt';
$ctime filemtime($rawfile);
$now time();
$diff = ($now $ctime);
if(
$diff 60) { exit; }

        
$rawdata implode(''file($rawfile));
        
$data explode(' '$rawdata);

(float)
$wspd $data['158'];
(float)
$maxwspd $data['133'];
(float)
$wgst $data['2'];
(float)
$wdir $data['3'];
(float)
$temp $data['4'];
(float)
$maxtemp $data['46'];
(float)
$mintemp $data['47'];
(float)
$humi $data['5'];
(float)
$baro $data['6'];
(float)
$maxbaro $data['131'];
(float)
$minbaro $data['132'];
(float)
$rain $data['7'];
(float)
$mrain $data['8'];
(float)
$chil $data['44'];
(float)
$hidx $data['45'];
(float)
$dewp $data['72'];
(float)
$uv $data['79'];
(float)
$sola $data['127'];
(float)
$rate $data['10'];
(float)
$soil $data['14'];

$date time();
$hr date('H');
$mi date('i');
$day date('z');
$month date('m');
$year date('Y');
$da date('Y');

$sql "INSERT INTO `$db`.`$wxtable` (`time` ,`wspd` ,`wgst` ,`wdir` ,`temp` ,`humi` ,`baro` ,`rain` ,`chil` ,`hidx` ,`dewp` ,`uv` ,`sola` ,`rate` ,`soil`) VALUES ('$date', '$wspd','$wgst', '$wdir','$temp', '$humi','$baro', '$rain','$chil', '$hidx','$dewp', '$uv','$sola', '$rate','$soil');";
mysql_query($sql);

mysql_close();
exit;
?>

Tuossa ihan peruspätkä copy/pastena omasta skriptistä, joka pikkasen monimutakisempi, tekee uuden rivin joka kerta kun ajaa. ensin täytyy tietty tehdä itse kanta sopivat kolumnit siihen vaikkapa phpMyAdminilla.  ;D

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #24 : Keskiviikko, 08.12.2010, 23:18 »
Jotain näkyvää sain jo aikaan http://www.valimo.info/saaasema-orivesi/
Skriptiä ihmettelen huomenna tarkemmin, kiitoksia vaan!

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #25 : Torstai, 09.12.2010, 19:43 »
Loin uuden tietokannan davis_wxdata, sinne taulun wxdata ja tauluun kenttiä "time", "wspd" jne...
Nyt tarvis vähän apua noiden kenttien arvojen ja asetusten kanssa. Mitä tyyppejä jne.. niille annetaan?

time kenttä on DATETIME ja NULL
wspd kenttä on FLOAT ja NULL
meneekö näin?
« Viimeksi muokattu: Torstai, 09.12.2010, 19:54 kirjoittanut Jippe »

Poissa weatherc

  • Ylläpito
  • *****
  • Viestejä: 8948
Vs: Sääasema linuxille
« Vastaus #26 : Torstai, 09.12.2010, 20:10 »
Ihan kuin vain, kunhan saat sen tallentamaan lukemat oikein. Mulla ne taitaa olla VARCHAR (20) kaikki ja NULL :)

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #27 : Torstai, 09.12.2010, 20:16 »
Joo mut nyt se ei tallenna mitään, taulukko pysyy tyhjänä

Poissa weatherc

  • Ylläpito
  • *****
  • Viestejä: 8948
Vs: Sääasema linuxille
« Vastaus #28 : Torstai, 09.12.2010, 21:06 »
Tee echo $sql eli se komento joka skripti ajaa mysql_query:llä, aja skripti manuaalisesti, kopioi se komento, ja aja se phpMyAdminissa, tai mikä hallintasofta sun Mysql:ssä onkaan ja katso mitä virhettä puskee ulos.
Tarkista ensin että se komento joka $sql pukkaa ulos on ok, mysql on todella tarkka siinä ettei ensimmäistäkään pientä virhettä saa olla ja se ei tee yhtään mitään....

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #29 : Perjantai, 10.12.2010, 10:39 »
if($diff > 60) { exit; }
Tämä rivi aiheutti kaiken turhan säätämisen, testasin wd-liven mukana tulleella clientraw-tiedostolla.

Tallennatteko kantaan unix-aikaleiman lisäksi muuta aikatietoa?