Więc skoro sztywniak rozpoczął, pozwolę sobie za przeproszeniem pociągnąć temat i tak na jakimś forum o kiepskiej renomie kilku mądrych bardziej zaawansowanych użytkowników pisało jak wystartować i jak bawić się NeTV.
Niektóre moje wpisy mogą się lekko różnić bo powiem jak wygląda to u mnie.
Po otrzymaniu NeTV miałem problemy z jego zawieszaniem polepszyło się jak go rozebrałem z obudowy (zrobiło się chłopowi chłodniej) i dodałem IP na stałe. Jak był na DHCP stanowczo częściej przestawał działać.
Więc na początku: (marecki_Oluk1)
Update naszego NeTV
ssh 192.168.XXX.XXX
cd /tmp
curl -o update.sh http://netv.bunnie-bar.com/updates/chumby-silvermoon-netv/update.sh
chmod +x update.sh
./update.sh
Aby móc łączyć się po ssh i po każdym resecie nie włączać go można odpalić auto ssh:
touch /psp/start_sshd
teraz robimy katalog do zabawy docroot:
mkdir /media/storage/devroot
cp -r /usr/share/netvserver/docroot/* /media/storage/devroot/
echo "/media/storage/devroot" > /psp/homepage
/usr/share/netvserver/docroot/scripts/psphomepage.sh
W pliku /media/storage/devroot/index.html linia (u mnie) 661 jest:
<div id="stamp_demo_container"><div style="position: absolute; top: 10px; left: 7px; width: 80px; height: 40px; -webkit-transform: rotate(-20deg); font-size: 24px; color: #FFFFFF; opacity: 0.1;">DEMO</div></div>
Wywal z tego DEMO, zapisz, zresetuj i już nie ma napisu.
Od linijki 647 (u mnie) zaczyna się wszystko co dotyczy widgetu – miłej zabawy.
Dalej można pokusić się o zmianę wyglądu strony startowej naszego cudeńka robiąc plik bootlogo.png w rozdzielczości 1280x720 i kopiując go do /tmp, potem:
killall NeTVBrowser
SCREEN_X_RES=1280 SCREEN_Y_RES=720 imgtool --bitfmt=rgb565 /tmp/bootlogo.png
dd if=/dev/fb0 bs=$((1280*720*2)) count=1 | gzip -c | config_util --cmd=putblock --block=logo
(Marek pisał lekko inaczej ale u mnie to działało wcześniej więc podałem to - a Marek pisał tak co zapewne też działą):
killall NeTVBrowser
SCREEN_X_RES=1280 SCREEN_Y_RES=720 imgtool --bitfmt=rgb565 /tmp/bootlogo.png
dd if=/dev/
powiedzmy, że już wszystko śmiga teraz by trzeba coś wysłać do niego.
Z pomocą na tym samym forum co już niestety pisałem przyszedł Sztywniak (tu też jest trochę moich zmian więc w razie coś odsyłam do drugo planowego forum kurczę z niechęcią ale podam link
http://forum.fibaro.com/index.php?/topic/17146-netv-napisy-obraz-na-tv-z-fibaro/page-1 )
i tak chcąc włączyć wyłączyć widget (wnerwiający kwadracik po prawej) dodajesz wirtualne urządzenie w naszej centralce i polecenie:
HC2 = Net.FHttp("IP.naszej.centralki");
dane, status = HC2:GET("/bridge?cmd=remotecontrol&value=widget");
napis na pasku (jw.)
HC2 = Net.FHttp("IP.naszej.centralki ")
dane, status = HC2:GET("/bridge?cmd=tickerevent&message=Lili:%20tu%20beda%20wyswietlane%20informacje%20ucze%20sie%20dopiero&title=.&type=sms&level=high&image=http://adres.fanego.obrazka.pl/nazwajego.png")
u mnie mam raspbery założone i do niego kamera która luka na klatkę i w momęcie gdy ktoś dzwoni pojawia się obraz na TV, a żeby to uczynić wpisujemy:
HC2 = Net.FHttp("IP.naszej.centralki ");
dane, status = HC2:GET("/bridge?cmd=seturl&value=http://ip.raspberry:9000/?action=snapshot");
chcąc zrobić fajny napis (sztywniak miał łazienka temp….) robimy tak:
HC2 = Net.FHttp("IP.naszej.centralki ");
dane, status = HC2:GET("/bridge?cmd=seturl&value=http://adres.IP.naszego.sererawww/tv/obraz.php?tresc=Lili%20-%20ucze%20sie");
a do tego robimy plik obraz.php na naszym serwerku a w niego wklejamy:
<?php
$tresc = $_GET['tresc'];
$im = imagecreatetruecolor(1840, 180);
imagesavealpha($im, true);
imagealphablending($im, false);
$white = imagecolorallocatealpha($im, 255, 255, 255, 127);
imagefill($im, 0, 0, $white);
$text_color = imagecolorallocate($im, 204, 255, 51);
$font = 'arial.ttf';
imagettftext($im, 50, 0, 151, 151, $text_color, $font, $tresc);
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
Do tego na serwerek trzeba wsadzić plik z czcionkami *.ttf u mnie to arial.ttf i już można wywołać napis. Sztywniak na podupadłym forum do którego link podałem – dał dostęp do swojego *.ttf-a
Czas na wyświetlanie pogody ala-sztywniak:
Więc na swoim serwerku robię plik tv.htm a do środka:
<br><div style="font-family:arial;"><div style="font-size:19px; padding:7px;"><div id="antis-s-390" style="width:30px; height:30px; float:left; border:1px solid #bbbbbb;"> </div><a href="http://antistorm.eu" title="Radary pogodowe, opady deszczu i ostrzeżenia przed burzami"><div id="antis-l-390" style="margin-left:38px;"> </div></a><div id="antis-t-390" style="margin-left:38px;"></div></div></div></div>
<script src="http://antistorm.eu/api-v1/antistormWidgetV2.js" charset="UTF-8"></script><script>var widget = new antistormWidget(); widget.url="http://antistorm.eu/webservice.php";widget.id="390";widget.pytajSerwer();</script>
<center>
<img src="http://lowcyburz.pl/skypredict/convection/forecast/current/outlook.png?" width="422" height="307" />
<img src="http://estofex.org/forecasts/tempmap/.png" width="422" height="307" />
</center>
<br> <br>
<center>
<img src="http://www.sat24.mobi/Image/satvis/europa/pl?w=500&h=400" width="422" height="307" />
<img src="http://zagle.pogodynka.pl/polska/polska1-1.png" width="422" height="307" />
</center>
Z tym, że na stronie
http://antistorm.eu/ trzeba znaleźć ID swojego miasta i zmienić w kodzie u mnie 390 gdyż jestem z wioski Warszawa.
I w centralkę:
HC2 = Net.FHttp("IP.naszej.centralki ");
dane, status = HC2:GET("/bridge?cmd=seturl&value=http://IP.serwera.www/tv/tv.htm");
teraz samo ostrzeżenie o zagrożeniu (prawie jw.)
ale wsadzamy plik antistorm.html a w nim:
<br><div style="font-family:arial;"><div style="font-size:30px; padding:15px;"><div id="antis-s-390" style="width:30px; height:30px; float:left; border:1px solid #bbbbbb;"> </div><a href="http://antistorm.eu" title="Radary pogodowe, opady deszczu i ostrzeżenia przed burzami"><div id="antis-l-390" style="margin-left:38px;"> </div></a><div id="antis-t-390" style="margin-left:38px;"></div></div></div></div>
<script src="http://antistorm.eu/api-v1/antistormWidgetV2.js" charset="UTF-8"></script><script>var widget = new antistormWidget(); widget.url="http://antistorm.eu/webservice.php";widget.id="390";widget.pytajSerwer();</script>
Oczywiście ID jak wyżej.
I w centralkę:
HC2 = Net.FHttp("IP.naszej.centralki ");
dane, status = HC2:GET("/bridge?cmd=seturl&value=http:// IP.serwera.www /tv/antistorm.html");
dodam, że nie jestem oblatany tak jak „nasze chłopaki” i dlatego bardzo dużo uczę się metodą prób i błędów, dlatego dużo jest tu naprawdę pomocy marecki_Oluk1 oraz sztywniak, którym baaaardzo dziękuje.
Jak znajdziecie jakieś błędy poproszę o informacje to od razu zmienię aby nie mylić kogoś kto jest bardziej świeży ode mnie (jeśli tacy są).
Mam nadzieję, że podokładamy jeszcze jakieś fajne przykłady.