"Yleisön pyynnöstä" tässä tulee skriptit/ohjeet jolla saada sivulle verkkokameran kuva siten että kuvaan on liitetty myös säätietoja ;D
Alla olevilla skripteillä saa aikaseksi samanlaisen kuvan jota löytyy omalta kamerasivulta täällä (http://www.nordicweather.net/index.php?sivu=15&lang=fi).
Tarvitset:
- Sääaseman + softan (WD,Cumulus tai WUHU)
- Verkkokameran (Skripteissä käytetty Vivotekin kameraa mutta toimii millä tahansa josta saa still-kuvaa ulos)
Liitteenä skriptit jossa säädöt datatiedostoille seuraavasti:
-vivowd.php.txt -> WD:n clientraw.txt:lle
-vivocumulus.php.txt -> Cumuluksen realtime.txt
-vivowuhu.php.txt -> Wuhu:n currdata.lst:lle
Tiedostot ovat nimetty .txt:ksi jotta ei rivit mene sekaisin.
Valitse tiedosto sen mukaan mikä sääohjelma sinulla käytössä ja uudelleen-nimeä se .php:ksi.
Kuvan saaminen ulos kamerasta sääsivullesi
Tämä on se koko systeemin ehkä hankalin kohta.
1. Mene vaikkapa dyndns.org:iin ja rekisteröi itsellesi dynaaminen verkko-osoite, esim minunkamera.dyndns.org (minunkamera on se osoite minkä valitset)
2. Kaiva esiin adsl-purkkisi käyttöopus ja määritä kameran ip/dyndns.org-osoite. Tämä riippuu täysin adsl-purkistasi ja voi vaatia pitkää pinnaa ennenkuin alkaa toimimaan. Kannattaa myös asettaa sille joku eri portti kuin 80, esimerkiksi 8080. Kun toimii, sinun pitäisi päästä kameran asetuksiin kiinni menemällä selaimella osoitteeseen minunkamera.dyndns.org, ja kameran still-kuvaan menemällä http://minunkamera.dyndns.org:8080/cgi-bin/viewer/video.jpg.
Skriptin alussa on 4 asetusta:
$image -> tuo äsken määrittämäsi osoite sekä polku stillkuvaan (esimerkissä Vivotekin polku valmiina)
$font -> fonttitiedosto, uppaa fonttitiedosto palvelimellesi windowsin fonttikansiosta, esimerkissä käytetty tahomabd.ttf:ää, mutta voi käyttää mitä tahansa
$clientrawfile -> polku sääohjelmasi datatiedostoon
$cstring -> "nimi", vaikkapa domainisi, näkyy kamerakuvan alalaidassa
Noin...
Uppaa skripti palvelimellesi ja mene selaimella siihen, http://domain.com/vivowd.php, jos kaikki menee hyvin pitäisi ruutuun ilmestyä kamerasi kuva teksteineen alareunassa ;D
jollei, jossain on jotain vikaa...
Kuvan liittäminen sivulle
<img src="http://www.nordicweather.net/vivowd.php?<?php echo time() ?>" alt="Webcam Halikko" />
Jotta ei kuka tahansa voisi pölliä kuvasi
..on skriptissä mukana hotlink-esto. Tämä on kuitenkin poistetu käytöstä rakennusvaiheen ajaksi (muuten et voi testata skriptiä suoraan).
Jos haluat sen käyttöön (suosittelen), poista /* ja */ seuraavasta pätkästä:
/*
if(!isset($PHP_SELF)) {$PHP_SELF = $_SERVER['PHP_SELF']; }
$t = pathinfo($PHP_SELF);
$Program = $t['basename'];
$ourHost = str_replace('', '', $_SERVER[HTTP_HOST]);
$mc = parse_url($_SERVER['HTTP_REFERER']);
$masterHost = $mc['host'];
if ($ourHost <> $masterHost) { exit;}
*/
Tämän jälkeen skriptiä ei voi kutsua suoraan eikä sitä voi käyttää muualla kuin samalla domainilla jossa skriptikin on.
WOW..., taas on weatcher tuupannut mainiot ohjeet! ;D
Tuon ADSL-purkin konfaaminen siinä kaikkein hankalinta on kun eri merkkisissä purkeissa on aina omat jipponsa noiden reikien tekemiseen. ::)
Mulla on käytössä A-Link RR24Ap(i+) johon tuo reikä on ainakin helppo tehdä NATin Virtual Serveriin ip-kameran LAN IP Address ja portti sille auki mitkä on laittanut ip-kameran asetuksiin.
Tein testauksen tuosta skriptistä ja hienosti näytti ainakin täällä toimivan. :D
Täällä metsän siimeksessä on sen verran pimeätä että kuva on sen mukainen, ei killitä kun kaukana olevan hevostallin pihavalo. ;)
Juu, se on ihan perus GD-skripti jossa otetaan kuva x ja pusketaan ulos lähes sellaisenaan (tekstit lisättynä).
Mainio esim. jos haluaa "piilottaa" alkuperäisen urlin kuten kotikoneen osoitteen. Sitähän voi sitten muokata kuten muuttaa ulostulevan kuvan kokoa tai vaikkapa rajata kuvaa tai vaikkapa lisätä logo jos haluaa. :)
Naruskan Ukka on osa sitä yleisöä, jonka pyynnöstä Teutarin välityksellä tämä ohje Halikosta saatiin. Naruskalla kumarretaan ja kiitetään. Uuden Vivotekin kameran asennustyöt ovat viivästyneet, mutta nyt on pitkästä aikaa päästy katolle kameran teknistä asentamista suorittamaan, eikä se kaukana valmiista enää ole. Eiköhän se kuvakin sieltä näytille saada, että Naruskan lumitilanteesta saadaan optimikuvaa kaikille muillekin kuin meille itselle. Täällähän vuorokauden lähes kymmenen sentin lumikertymä näkyy näppärästi ikkunasta.
Maapohja lumen alla ei taas kerran ole ehtinyt jäätyä yhtään, joten vaarana on taas kerran, että tämä lumi ei vielä jää pysyväksi alkutalven lumeksi. Saisi jäädä, koska rämpsykelit eivät soratien varrella asuvaa voisi juuri vähempää kiinnostaa, kun loska lentää. Entiaikaan talvi tuli aina kerralla tänne Lapin raukoille rajoille, mutta nykyvuosina sen kanssa on säiden haltija alkanut veivaamaan.
Jos kamera-asennukseen tulee mutkia matkaan, niin kyselen asioista tässä viestiketjussa. Mahdollinen onnistuminen näkyy nykyistä laadukkaampana kuvana täältä.
Tuli tätä koitettua, mutta tulee vaan valkoinen tyhjä sivu. Tuossa asetus rivit. Kokeilin myös image kohtaan jo valmiina palvelimelle ladattua kuvaa, mutta se tulosti jonkun virheen kuvan hakemisessa.
Lainaa<?php
$image = "http://xxx.xxx.xxx.xxx:portti/snapshot.cgi?user=muuta&pwd=muuta";
$font = "tahoma.ttf";
$clientrawfile = "./saa/clientraw.txt";
$cstring = "hovila weather";
Taas täällä tarvitaan helppiä. ???
Todennäköisesti siinä on polkuvirhe johonkin filuun jota se tarvii (kuva, fontti tai clientraw)
En löytänyt polku virhettä, joten rupesin tekemään niitä tarkoituksella.
1. Clientraw:lle väärä nimi. Tulos on tyhjä valkoinen sivu.
2. Fontille väärä nimi. Tulos on tyhjä valkoinen sivu.
3. Kuvalle väärä nimi. Tulos on tyhjä valkoinen sivu.
No kokeilin vielä tuota verkossa olevaa sääkuvan osoitetta ja se sentään tulostaa "error opening http://osoite... En vaan osaa. Ei kai tuon php:n nimi vaikuta asiaan, kun muutin sen toiseksi.
Filosofisen pohdinnan ja lukuisten kokeilujen jälkeen, olen sitä mieltä, että tyhjä sivu johtuu tuosta ekasta rivistä
Lainaa$image = "http://xxx.xxx.xxx.xxx:portti/snapshot.cgi?user=muuta&pwd=muuta";
Kameran cgi ohjetta hyväksi käyttäen muutin tuon osoitteen loppuun
$image = "http://xxx.xxx.xxx.xxx:portti/snapshot.cgi?user=muuta&pwd=muuta
&next_url=kamera2.jpg";
Joka antaa kuvalle nimen. Nyt php tulostaa error opening http://jne.. Miten tästä eteenpäin?
Edit.
Kokeilinpa ihan mitä internet kuvaa tahansa niin aina tulee Error opening...
Hmmm...Teeppä testi:
$image = "http://xxxx.dyndns.org:8080/cgi-bin/viewer/video.jpg";
$im2 = imagecreatefromjpeg($image);
header("Content-Type: image/jpeg");
imagejpeg($im2);
imagedestroy($im2);
Huomaa että tuo vaatii jpg-kuvan.
Jos oikein ymmärsin niin lisäsin tuon yhden rivin
$im2 = imagecreatefromjpeg($image);
tuon osoiterivin alle. Sama lopputulos kokeiltuna kameraosoitteella ja internet jpg osoitteella.
Hmm...Menee kummalliseksi tämä...Kai sulla on PHP GD asennettuna serverissä?
Lainaus käyttäjältä: weatherc - torstai, 20.10.2011, 20:52
Hmm...Menee kummalliseksi tämä...Kai sulla on PHP GD asennettuna serverissä?
Luulisin että on asennettu
LainaaIS PHP INSTALLED WITH GD SUPPORT?
GD support: Yes
GD Version: bundled (2.0.34 compatible)
FreeType Support: NO
T1Lib Support: NO
GIF Read Support: Yes
GIF Create Support: Yes
JPG Support: Yes
PNG Support: Yes
WBMP Support: Yes
XPM Support: NO
XBM Support: Yes
JIS-mapped Japanese Font Support: NO
Entäs jos kokeilet pelkällä tällä pätkällä:
$image = "http://xxxx.dyndns.org:8080/cgi-bin/viewer/video.jpg";
$im2 = imagecreatefromjpeg($image);
header("Content-Type: image/jpeg");
imagejpeg($im2);
imagedestroy($im2);
Tyhjä sivu tulee sekä kameran osoitteella että muulla internet jpg-kuva osoitteella.
Kiitokset Weatherc:lle avusta, ei tumpelo näistä ittekseen selviä. Vika ei tainnut ollakkaan skriptissa vaan Saunalahden ja KYMP:n kotisivupalvelimissa. Omalla kotipalvelimella sentään tuli kuva näkyviin, tosin ilman mitään säätietoja.
No minä jatkoin tätä harjoittelua kotiservulla ja latasin uudelleen tuon vivowd.php filun. Asetukset kohdilleen. Nyt tämä tuuttaakin seuraavaa ilmoitusta
LainaaWarning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg: JPEG library reports unrecoverable error: in /share/MD0_DATA/Qweb/vivowd.php on line 29
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: 'http://XXX.XXX.XXX.XXX/saa.jpg' is not a valid JPEG file in /share/MD0_DATA/Qweb/vivowd.php on line 29
Error opening http://XXX.XXX.XXX.XXX/saa.jpg!
Kokeilin muillakin jpg filuilla, mutta sama ilmoitus. Mikäs tässä nyt tökkii?
Sen mielestä se ei ole kelpo jpg-filu. Hmm...Kun kokeilit muita filuja niin koitiko netistä hakea vai paikallista filua?
Samaan paikkaan kopioitua kolmea eri filua ja eri formaattejakin. Uskon että kyse on jostain muusta kuin mitä tuo virhe kertoo.
Edit.
No kuvan polusta puuttui ./ :-[ Nyt kuva tulee näkyviin, mutta ilman säätietoja.
LainaaNo kuvan polusta puuttui ./ Nyt kuva tulee näkyviin, mutta ilman säätietoja.
Hyvä edistysaskel :)
Tarkista clientrawn polku että se saa sen, sekä, että säätietojen paikka kuvassa on sen sisällä ettei jää kuvan ulkopuolelle .Ei ole yks eikä kaks kertaa kun itsekkin olen ihmetellyt miksei tekstiä näy ja vikana ollut että teksti ollut kuvan ulkopuolella ;D
Eli imagettftext-rivit
esim. imagettftext($image, 10, 0, 538, 475, $grey, $font, $loc); tuossa 538 ja 475 määrittää tekstin paikan, turvallinen alku on 0 ja 0 jolloin se on vasemmassa yläkulmassa ja siitä lähtee siirtämään sitä sopivaan paikkaan ;D
Testasin clientraw:n laittamalla väärän polun, jolla meni tulos ihan tekstimössöksi. Oikea polku on yhtä kuin kuva näkyy.
Lainaaimagefilledrectangle($im2, 0, 575, 800, 600, $transparent);
imagettftext($im2, 11, 0, 0, 0, $grey, $font, $str);
Tuolta nyt näyttää tuo rivi, mutta ei näy säätietoja
Hmm...Onko $font-filu olemassa?
Kokeile myös tällaista:
$str = $str.'12345';
imagettftext($im2, 11, 0, 0, 0, $grey, $font, $str);
Tuo poistaa sen että $str olisi tyhjä.
Kyllä fontti filu on oikeassa paikassa.
Lainaa$grey = imagecolorallocate ($im2, 166, 166, 166);
$black = imagecolorallocate ($im2, 0,0,0);
$str = $cstring.' - '.$bstring.' - '.$astring;
$transparent = imagecolorallocatealpha($im2, 0,0,0, 50);
imagefilledrectangle($im2, 0, 575, 800, 600, $transparent);
$str = $str.'12345';
imagettftext($im2, 11, 0, 0, 0, $grey, $font, $str);
header("Content-Type: image/jpeg");
imagejpeg($im2);
imagedestroy($im2);
Tuolta näyttää nyt vähän laajemmin nähtynä, mutta ei näy säätiedot.
No niin sain vihdoin toimimaan. En oikein ymmärrä miksi toimii näin. Muutin kuitenkin ensin tuon kuvan täytön arvot vastaamaan kuvan kokoa täsmälleen. Sitten alkoi tekstit ja taustat näkyä. Ja sitten hivutin tekstit kohdalleen.
Ei näköjään saanut olla oikeaa kuvaa suuremmat arvot tuossa täyttö toiminnossa. Tältä näyttää nyt.
$grey = imagecolorallocate ($im2, 166, 166, 166);
$black = imagecolorallocate ($im2, 0,0,0);
$str = $cstring.' - '.$bstring.' - '.$astring;
$transparent = imagecolorallocatealpha($im2, 0,0,0, 50);
imagefilledrectangle($im2, 0, 460, 640, 480, $transparent);
imagettftext($im2, 11, 0, 10, 475, $grey, $font, $str);
header("Content-Type: image/jpeg");
imagejpeg($im2);
imagedestroy($im2);
Tämä siis toimii serverillä olevalla kuvalla, mutta ei suoraan kamerasta haettuna. Onkohan tähän mitään muuta konstia hakea kuva?
Edit.
Heitin nyt toimivaksi havaitun php filun noille Saunalahden ja KYMP:n kotisisivu tiloihin. Ja kas KYMP toimii, Saunalahti ilmoittaa palvelin virhettä.
LainaaHTTP-virhe 500 (Internal Server Error): Palvelin kohtasi odottamattoman tilan yrittäessään toteuttaa pyyntöä.
Sauniksella todennäköisesti php-asetukset asetettu päin honkia (= estetty kaiken mistä voisi olla hyötyä muttei ole turvariski) niin että php toimii vain puolivaloilla...
Lainaus käyttäjältä: weatherc - keskiviikko, 02.11.2011, 19:52
Sauniksella todennäköisesti php-asetukset asetettu päin honkia (= estetty kaiken mistä voisi olla hyötyä muttei ole turvariski) niin että php toimii vain puolivaloilla...
Meinasin tehdä asiasta ilmoituksen saunikselle, mutta lukaisin ensin mitä kotisivuista kerrotaan.
LainaaSaunalahti Kotisivutila -palveluun ei ole mahdollista saada PHP-tukea tai MySQL-tietokantaa. Kotisivutila tukee ainoastaan selaimen päässä suoritettavia ohjelmointikieliä ja tekniikoita, kuten HTML:ää ja JavaScriptiä.
No en sitten viitsinytkään valittaa, kun edes jotenkin php toimii.
Edit.
Sauniksen PHP verify (http://saunisphp.dy.fi/). Ei näy ini tietoja lainkaan.
Jaa jaaa.... tuohan on se sama ongelma minkä kanssa minä tappelin mutta kun ei toiminut niin heitin pyyhkeet kehiin.
IP-kameran uppaaman kuvan kun hakee palvelimelta niin skripti toimii. :D
Hakee skriptillä kuvan IP-kameralta tulee: Error opening http://xxxx.xxx.xx:xxx/cgi-bin/viewer/video.jpg! :(
Laittaa selaimeen http://xxxx.xxx.xx:xxx/cgi-bin/viewer/video.jpg niin IP-kameran kuva näkyy. :D
No sain sentään tuon weatherc:n "piilota kuvan URL (http://www.finwx.net/forum/index.php/topic,1007.0.html)" skriptin hakemaan kuvan suoraan kameralta, joten kai tämäkin pitäisi saada toimimaan. Testit jatkuu...
LainaaNo sain sentään tuon weatherc:n "piilota kuvan URL" skriptin hakemaan kuvan suoraan kameralta, joten kai tämäkin pitäisi saada toimimaan
Tee kopio siitä, ja lisää siihen tekstit (kannattaa aloitaa vaikka "Böö"-tekstillä) ;D
Lainaus käyttäjältä: weatherc - torstai, 03.11.2011, 14:33
LainaaNo sain sentään tuon weatherc:n "piilota kuvan URL" skriptin hakemaan kuvan suoraan kameralta, joten kai tämäkin pitäisi saada toimimaan
Tee kopio siitä, ja lisää siihen tekstit (kannattaa aloitaa vaikka "Böö"-tekstillä) ;D
Yllätyksekseni sain sittenkin hakemaan kuvan suoraan kameralta ja lisäämään tiedot kuvaan. Toimii ainakin kotiservulla. Tässä tämä sekasotku.
<?
$image = "http://xxx.xxx.xxx.xxx/snapshot.cgi?user=muuta&pwd=muuta&next_url=kamera2.jpg";
$im2 = imagecreatefromjpeg($image);
header("Content-Type: image/jpeg");
date_default_timezone_set("Europe/Helsinki");
$clientrawfile = "./saa/clientraw.txt";
$clientraw = get_raw($clientrawfile);
// date
$date = date('d.m.Y H:i:s T');
// weather
$weather= windDir($clientraw[3]) . " " . ktsToMph($clientraw[2],1) . " m/s, ".$clientraw[4]."°C, ". $clientraw[7]." mm";
// Create some colors
$white = imagecolorallocate($im2, 255, 255, 255);
$black = imagecolorallocate($im2, 0, 0, 0);
$grey = imagecolorallocate ($im2, 166, 166, 166);
// The text to draw
$text = 'www.omasaitti.fi';
$str = $text.' - '.$date.' - '.$weather;
// Replace path by your own font path
$font = 'tahoma.ttf';
// add gray area
$transparent = imagecolorallocatealpha($im2, 0,0,0, 50);
imagefilledrectangle($im2, 0, 460, 640, 480, $transparent);
// Add the text
imagettftext($im2, 12, 0, 10, 475, $white, $font, $str);
imagejpeg ($im2);
imagedestroy ($im2);
function get_raw( $rawfile ) {
$rawdata = implode('', file($rawfile));
$rawdata = explode(' ', $rawdata);
return $rawdata;
}
function ktsToMph ($kts, $prec) {
$prec = (integer)$prec;
$inch = (float)$kts * 0.514444444;
return round($inch, 1);
}
function windDir ($winddir)
// Given the wind direction, return the text label
// for that value. 16 point compass
{
if (!isset($winddir)) {
return "---";
}
$windlabel = array ("N","NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S",
"SSW","SW", "WSW", "W", "WNN", "NW", "NNW");
$dir = $windlabel[ (int) ($winddir / 22.5) ];
return "$dir";
}
exit;
?>
Kiitokset weatherc:lle tuesta.
Lainaus käyttäjältä: angle - perjantai, 04.11.2011, 12:12
Lainaus käyttäjältä: weatherc - torstai, 03.11.2011, 14:33
LainaaNo sain sentään tuon weatherc:n "piilota kuvan URL" skriptin hakemaan kuvan suoraan kameralta, joten kai tämäkin pitäisi saada toimimaan
Tee kopio siitä, ja lisää siihen tekstit (kannattaa aloitaa vaikka "Böö"-tekstillä) ;D
Yllätyksekseni sain sittenkin hakemaan kuvan suoraan kameralta ja lisäämään tiedot kuvaan. Toimii ainakin kotiservulla. Tässä tämä sekasotku.
<?
$image = "http://xxx.xxx.xxx.xxx/snapshot.cgi?user=muuta&pwd=muuta&next_url=kamera2.jpg";
$im2 = imagecreatefromjpeg($image);
header("Content-Type: image/jpeg");
date_default_timezone_set("Europe/Helsinki");
$clientrawfile = "./saa/clientraw.txt";
$clientraw = get_raw($clientrawfile);
// date
$date = date('d.m.Y H:i:s T');
// weather
$weather= windDir($clientraw[3]) . " " . ktsToMph($clientraw[2],1) . " m/s, ".$clientraw[4]."°C, ". $clientraw[7]." mm";
// Create some colors
$white = imagecolorallocate($im2, 255, 255, 255);
$black = imagecolorallocate($im2, 0, 0, 0);
$grey = imagecolorallocate ($im2, 166, 166, 166);
// The text to draw
$text = 'www.omasaitti.fi';
$str = $text.' - '.$date.' - '.$weather;
// Replace path by your own font path
$font = 'tahoma.ttf';
// add gray area
$transparent = imagecolorallocatealpha($im2, 0,0,0, 50);
imagefilledrectangle($im2, 0, 460, 640, 480, $transparent);
// Add the text
imagettftext($im2, 12, 0, 10, 475, $white, $font, $str);
imagejpeg ($im2);
imagedestroy ($im2);
function get_raw( $rawfile ) {
$rawdata = implode('', file($rawfile));
$rawdata = explode(' ', $rawdata);
return $rawdata;
}
function ktsToMph ($kts, $prec) {
$prec = (integer)$prec;
$inch = (float)$kts * 0.514444444;
return round($inch, 1);
}
function windDir ($winddir)
// Given the wind direction, return the text label
// for that value. 16 point compass
{
if (!isset($winddir)) {
return "---";
}
$windlabel = array ("N","NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S",
"SSW","SW", "WSW", "W", "WNN", "NW", "NNW");
$dir = $windlabel[ (int) ($winddir / 22.5) ];
return "$dir";
}
exit;
?>
Kiitokset weatherc:lle tuesta.
No nyt on kokeiltu Saunalahden ja KYMP:n liittymän kotisivu tiloissa, eikä toimi. Otin kokeiluun myös Suncomet:n webhotelli paketin kuvitellen että siellä ainakin toimii, mutta ei toimi sielläkään. Suncomet:n virhelokissa lukee ...File does not exist...404.shtml... Mitä tässä nyt pitäisi epäillä? Koodia vai palvelun tarjoajia? Suncomet:n PHP info tässä (http://c3-suncomet.com/info.php).
Suncomet:lta tulikin nopea vastaus. Pitää käyttää jotain tavanomaista porttia. Kokeilin portilla 80 ja toimii.
Tota noin onkos kellään ollut sellaista ongelmaa että osalla koneista ja selaimista verkkokamera kuva toimii ja osalta koneista ja selaimista ei toimi.
Nostanpahan vanhan ketjun ylös...
Eli olen saanut tällä skriptillä tomimaan sääkamerat myös sillä tavalla, että skripti hakee kuvat suoraan kameroista. Kiitos näistä kuuluu ketjussa kirjoittaneille. Nyt kysyn ujohkosti, että miten olisi mahdollista saada tuo sääkamerasivu päivittymään automaagisesti? Nyt en osaa muuta, kuin laittaa f5:n :-[ :-[
Se pitäisi kait saada tuo wxwebcam1.php, joka näyttää kuvat, kait jotenkin päivittymään? Mutta kaino toivomus olis "pikku" vihje, että miten?
Yst. terv. -kapo-
Koitappa tuommoista scriptiä niin päivittää vaan kuvaa eikä koko sivua.
<p align="center">
<script language="javascript">
var refreshrate=60; //SECONDS BETWEEN REFRESH
var image="vivocumulus44.php"; //IMAGE NAME
var imgheight=480; //IMAGE HEIGHT
var imgwidth=640; //IMAGE WIDTH
function refresh(){
document.images["pic"].src=image+"?"+new Date();
setTimeout('refresh()', refreshrate*1000);
}
document.write('<img src="'+image+'" height="'+imgheight+'" width="'+imgwidth+'" name="pic">');
if(document.images)window.onload=refresh;
</script>
</p>
Katos vaan! Se toimii!! Suurkiitos jo nyt. Mutta tuli heti pattitilanne: Kuinka saan kaksi kuvaa päivittymään tolla skriptillä? Teenkö kaksi skriptiä, vai miten? Kun yrittelin, niin aina tulee vaan image2(=vivocumulus3) molempiin kuviin heti ekan päivityksen jälkeen, ja vain eka kuva noista (image2=vivocumulus3)päivittyy...Todella hyvin päivittyy yksi kuva, kunpa saisin kaksi kuvaa päivittymään samalla lailla...
-kapo-
Kunhan tarvittavat variaablet ovat tuplana ja uniikit niin pitäisi toimia:
var image="vivocumulus44.php"; //IMAGE NAME
var image2="vivocumulus55.php"; //IMAGE NAME
function refresh(){
document.images["pic"].src=image+"?"+new Date();
document.images["pic2"].src=image2+"?"+new Date();
setTimeout('refresh()', refreshrate*1000);
}
document.write('<img src="'+image+'" height="'+imgheight+'" width="'+imgwidth+'" name="pic">');
document.write('<img src="'+image2+'" height="'+imgheight+'" width="'+imgwidth+'" name="pic2">');
Jep jep!!! Perskutarallaa, se toimii sittenkin!!!1!! :o ;D ;D Suuret kiitokset avusta!! Eipäs olis tästäkään tullut mitään ilman teidän neuvoja... :-[ :-[ Nyt vaan leuka rintaan ja täysillä kohti uusia pettymyksiä.... :D :D
-kapo-
Taas pitää kysyä tietäjiltä ja taitajilta, mikä voip olla vikana, kun en saa enää toisella kameralla vivocumulusta toimimaan?
Tulee vaan:Error opening http://myip.org:8082/snapshot.cgi?user=&pwd=&next_url=kamera2.jpg
Mutta kun ton Http:n laittaa osoiteriville, niin snapshotti aukee... Miks toinen kamera alko hylkiin ihan omia aikojaan tuota php:tä? Toimi aluks ihan hienosti... Ja toinen kamera pelaa kuin buickki... Oon mä vaan aika taitava!! :-[
kokeille blokata se hotlink esto. Toisen vaihtoehtona että osoite realtime.txt on väärä tai puuttuu ja kolmantena sama homma arial.bd tiedostoon. Jotain kummaa noissa on kun itselläkään ei pelaa nuo skriptit vaikka aikaisemmin pelasivat. Ja jos suoraan kopsaa osoitteen niin hyvin pelaa.
Ei toimi skripti toisella kameralla sitten mitenkään... Koitin kopioimalla ton toimivan kameran skriptin ja muutin sen ylimmän rivin tälle kameralle... Ei toimi skripti, sama errori vaan tulee ja selaimen otsikkorivillä suoraan kameralta tulee kuva että kopsahtaa... ??? ??? :-[
Nuo kamerat ovat kyllä yhet perkeleet ;D
Mä päädyin loppuijen lopuksi systeemiin jossa haen ja tallennan kuvan kuva.jpg:ksi sisäverkossa jonka sitten pusken maailmalle.
Vaihtoehtoisesti laita WD hakemaan ja uppamaan se palvelimelle josta sitten käytät sivulla (Control panel => FTP & Connections => Http download).
Päivän ratoksi tuli testattua taas kerran tuota alkuperäistä sriptiä ja näyttäisi se pelaavan ilman hotlinkkiä jos kamerat uppaavat kuvaa palvelimelle.
Kuvat päivittyvät 5 min. ja säätiedot 1 min. välein kun sotkee tuon javascriptin hakemaan tiedot eri kansioista.
Eihän tuo hotlink koko maailmaa kaada jos se ei toimi...... jos tuntuu siltä niin voihan noita kansion nimiä käydä muuttelemassa silloin tällöin niin on pientä puuhaa kaikilla. :) ;)
Testisivu (http://teutari.net/new2.php)
Vaikka onkin jo hieman vanha topikki, niin allekirjoittaneelle hyvinkin ajankohtainen ;)
Henkalle kiitokset skriptistä kun tuli ensimmäinen webkamera taloon, kamerasta taasen kiitokset Nummikalle ;)
vivocumulus.php skriptissä on pieni virhe joka koskee tuulen suuntaa:
$astring= windDir($clientraw[11]) . " " . $clientraw[6] . " m/s, ".$clientraw[2]."°C, ". $clientraw[9]." mm";
Täytyy olla:
$astring= windDir($clientraw[7]) . " " . $clientraw[6] . " m/s, ".$clientraw[2]."°C, ". $clientraw[9]." mm";
Niin tuulen suunta toimii oikein