2016年6月23日 星期四

收看台灣無線數位電視需要什麼設備?

.


收看台灣無線數位電視需要什麼設備?

1.
很老的電視 + DVB-T 機上盒 + 天線

2.
近年出廠的電視(已內含DVB-T選台器) + 天線




天線有簡單、有複雜。要選哪一種,端看您家居家環境能收到多強的無線電視訊號。


訊號強的環境

可以選用簡單天線,例如:

窮人的DIY數位電視天線

http://electronmania.blogspot.tw/2009/05/diy.html



訊號中等的環境

可以選用雙偶天線,例如:








































以上兩類天線,可以放在電視機旁或窗邊。若放在窗戶旁邊仍然接收困難,就要考慮
採用戶外天線。


訊號較弱的環境

要用八木(yagi)戶外天線






















有的天線要加電?

有的天線為了增強收訊能力,所以內含訊號放大電路,這種天線就要外加電源。

當免加電源的天線都達不到收訊目標後,再考慮使用這種吧。



特別要注意的一點

無線數位電視在接好天線之後,一定還要完成「掃描」的步驟,然後才能開始選台收看。

無線數位電視的設定選單中一定有「掃描」這項功能。



無線數位電視重要觀念

「訊號強度」與「訊號品質」

http://electronmania.blogspot.tw/2015/07/blog-post_18.html




到 2020.10.12 ,台灣的無線數位電視只剩民視新聞台一家以SD 4:3畫面播出。其餘全部為16:9。







.

2016年6月15日 星期三

1073/1283 媒體播放機收看大愛電視

.

相關前文
http://electronmania.blogspot.tw/2016/06/10731283-php.html




大愛電視網站上有個 RSS 連結:

http://www.daai.tv/daai-web/aboutdaai/rss.php

我們可以先用電腦的瀏覽器看看它的版面排列與內容,再看看它的原始碼。

它的原始碼與 podcast 格式並不相同,所以無法直接用1073/1283 媒體播放機收看。


podcast 格式

podcast 格式主要包含三個項目

<title></title>
<description></description>
<enclosure />


例如:

<title>法國足球暴動</title>
<description>英法足球迷場外衝突一波波</description>
<enclosure url="http://aaa.bbc.net/1240.mp4"/>


<title></title> 就是標題
<description></description> 是影片說明
<enclosure />指向實際的影片檔案

美國之音、CNN student news、NASA...等等都是同樣的架構。


點子

把大愛電視的 RSS 改成 podcast 格式是不是就可以了?

是的,沒錯。

但是我們沒辦法要求大愛改變 RSS 格式。



那就在 1073/1283 媒體播放機這一端改

也就是把
http://www.daai.tv/daai-web/aboutdaai/rss.php
的原始碼讀進來,然後在 1073/1283 媒體播放機這一端將它改成 podcast 格式,再執行它,
就可以了。

而讀原始碼、轉換格式,都可以用底下這段 PHP 程式來完成。


daai_tv.php

(剪貼存成 UTF-8 格式)

<?php

$link = "http://www.daai.tv/daai-web/aboutdaai/rss.php";

gettitle($link);


function gettitle($link)
{
$text = file_get_contents($link);

preg_match_all('/<item><title>.*?<\/title>/is', $text, $matches);
preg_match_all('/&lt;a href=.*?&lt;\/a&gt;/is', $text, $matches2);
$text = str_replace("<description>大愛網站</description>","",$text);
preg_match_all('/<description>.*?&lt;img/is', $text, $matches1);

$p_string = '<rss><channel>';

for ($index=0;$index < count($matches[0]); $index++){
$p_string .= '<item><title>';
$m = strip_tags($matches[0][$index]);
$p_string .= $m;
$p_string .= '</title><description>';
$m1 = strip_tags($matches1[0][$index]);
$m1 = str_replace("&lt;img","",$m1);
$m1 .= '</description>';
$p_string .= $m1;
$m2 = strip_tags($matches2[0][$index]);
$m2 = str_replace("&lt;a&gt;"," ",$m2);
$m2 = str_replace("&lt;a href=","<enclosure url=",$m2);
$m2 = str_replace("&lt;/a&gt;","",$m2);
$m2 = str_replace("影片觀賞","",$m2);
$m2 = str_replace("&gt;",">",$m2);
$m2 = str_replace("&lt;","<",$m2);
$m2 = str_replace("target='_blank'>","target='_blank' />",$m2);
$m2 = str_replace("'","\"",$m2);
$p_string .= $m2;
$p_string .= '</item>';
}

$p_string .= '</channel></rss>';
echo $p_string;

}
?>


實作

1.
1073/1283 媒體播放機安裝 MoServices 模組,已能收看 YouTube。

2.
把 daai_tv.php 拷貝到 /tmp/www。

3.

「Add URL-自行增加 IMS 項目」
中輸入
http://localhost/daai_tv.php
然後執行它就可以了。


















問題提醒

放在 /tmp/www/ 的 daai_tv.php ,在經過一段時間或斷電後,就會被清除。

如果想要一直都能看,就要視自己的需求,再參考先前的相關貼文找出最適合的解決方法。





如果只想看國際新聞

大愛電視的新聞有多種分類,如果只想看「國際新聞」,只要加
if (strpos($m, '國際新聞') !== false) {
}
把它分離出來就可以了:























<?php

$link = "http://www.daai.tv/daai-web/aboutdaai/rss.php";

gettitle($link);


function gettitle($link)
{
$text = file_get_contents($link);

preg_match_all('/<item><title>.*?<\/title>/is', $text, $matches);
preg_match_all('/&lt;a href=.*?&lt;\/a&gt;/is', $text, $matches2);
$text = str_replace("<description>大愛網站</description>","",$text);
preg_match_all('/<description>.*?&lt;img/is', $text, $matches1);

$p_string = '<rss><channel>';

for ($index=0;$index < count($matches[0]); $index++){

$m = strip_tags($matches[0][$index]);
if (strpos($m, '國際新聞') !== false) {
    $p_string .= '<item><title>';
$p_string .= $m;
$p_string .= '</title><description>';
$m1 = strip_tags($matches1[0][$index]);
$m1 = str_replace("&lt;img","",$m1);
$m1 .= '</description>';
$p_string .= $m1;
$m2 = strip_tags($matches2[0][$index]);
$m2 = str_replace("&lt;a&gt;"," ",$m2);
$m2 = str_replace("&lt;a href=","<enclosure url=",$m2);
$m2 = str_replace("&lt;/a&gt;","",$m2);
$m2 = str_replace("影片觀賞","",$m2);
$m2 = str_replace("&gt;",">",$m2);
$m2 = str_replace("&lt;","<",$m2);
$m2 = str_replace("target='_blank'>","target='_blank' />",$m2);
$m2 = str_replace("'","\"",$m2);
$p_string .= $m2;
$p_string .= '</item>';
}
}

$p_string .= '</channel></rss>';
echo $p_string;

}
?>






.

2016年6月12日 星期日

用 1073/1283 媒體播放機練習寫 PHP 程式

.

應用架構

電腦連線到 1073/1283 媒體播放機,執行放在媒體播放機中的 PHP 程式,在電腦上
看執行結果。

(舊電腦跑 Linux,搭配 1073/1283 媒體播放機,練習寫 PHP 程式)


建置

1.
1073/1283 媒體播放機刷俄國 moservices 韌體。(刷完就有 PHP server 功能)

2.
1073/1283 媒體播放機安裝  moservices 的 FTP server (vsFTPd v2.2.2):





3.
藉 FTP 將 PHP 程式上傳到媒體播放機。

例如 linux 的 gFTP:

(gFTP要輸入密碼 toor,如下圖四個點)
(將電腦端的 daai_test.php 上傳到媒體播放機的 /tmp/www/)























4.
電腦端用 http 執行媒體播放機中的 PHP 程式。

例如 http://192.168.0.8/daai_test.php,結果顯示:






























daai_test.php 範例

本範例讀取  http://www.daai.tv/daai-web/aboutdaai/rss.php 原始碼,再將它轉換成
另外一種格式後顯示在電腦上。


若用電腦直接讀取  http://www.daai.tv/daai-web/aboutdaai/rss.php ,所看到的畫面
是這樣的:



























而經 daai_test.php 轉換後的結果,則顯示如圖二。



daai_test.php 程式碼

(剪貼存成 UTF-8 格式)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<?php

$link = "http://www.daai.tv/daai-web/aboutdaai/rss.php";
gettitle($link);


function gettitle($link)
{
$text = file_get_contents($link);
preg_match_all('/<item><title>.*?<\/title>/is', $text, $matches);
preg_match_all('/&lt;a href=.*?&lt;\/a&gt;/is', $text, $matches2);

echo "<html>";
for ($index=0;$index < count($matches[0]); $index++){
$m = strip_tags($matches[0][$index]);
$m2 = $matches2[0][$index];
$m2 = str_replace('影片觀賞',$m,$m2);
$m2 = str_replace("&lt;","<",$m2);
$m2 = str_replace("&gt;",">",$m2);
echo $m2;
echo "<br />";
}
echo "</html>";

}
?>
</html>


本程式的功能:

1.
讀取的大愛電視台 http://www.daai.tv/daai-web/aboutdaai/rss.php 的原始碼。

2.
從原始碼中分離出 title 以及相對應的連結,並產生每一個含有 hyperlink 的標題。



daai_test.php 可不可以給  1073/1283 媒體播放機使用

不行。

因為 daai_test.php 轉換完的格式 ,雖然電腦能夠解析,但 1073/1283 媒體播放機
卻看不懂。

要讓  1073/1283 媒體播放機能看大愛電視台的節目,就得改寫。


請看另例



與  XAMPP 比較

與 XAMPP 的「PHP開發環境」比起來,這也許只稱得上是「PHP練習環境」。

但對初學者而言,或許「PHP練習環境」也就夠了?

認真練習,說不定也寫得出像 moservices 的 youtube 模組那樣的 php 程式。

夠不夠用,看個人需求吧?





.






2016年6月8日 星期三

Kindle fire 1st gen 刷 ROM 再整理

.

(以前了解不夠,所以走了比較曲折的路:
http://electronmania.blogspot.tw/2014/07/kindle-fire.html)


(以下,除了 2b,都是在 Puppy Linux 環境下操作)


1.
原廠 6.3.4 ROM 。






























2.
至少有兩種方法進入 bootloader (fastboot)

a.
使用工程線。接好工程線,開機會停在  bootloader (fastboot)。
(工程線可以DIY。google : diy kindle fire factory cable)

b.
沒有工程線,可先用 saferoot 來 ROOT Kindle fire 1st gen 。再執行 fbmode,讓機器重新
啟動後,進入 bootloader (fastboot)。


3.
電腦端執行 fastboot -i 0x1949 devices 可驗證 USB 連線是否正常。


4.
用 fastboot 刷 第三方 bootloader,例如:fastboot -i 0x1949 flash bootloader fff-u-boot_v1.5.bin

以後進入第三方 bootloader 階段,使用 fastboot 指令就不用再加 -i 0x1949。

進入第三方 bootloader 階段,刷第三方 recovery 很簡單,例如:
fastboot  flash recovery twrp2.2.2.1.img

5.
透過第三方 recovery 刷 第三方 ROM。

6.
想刷回原廠ROM,可先下載原廠ROM,改名為update.zip。再透過 twrp2.2.2.1 recovery 刷入
update.zip。刷回原廠 ROM 之後,bootloader、recovery 都會回到原廠狀態。
 




.




2016年6月6日 星期一

穿短褲採桑葚的代價

.

五月初在鄉間穿短褲採桑葚的代價:

(某牌防蚊液根本無效啊)














































兩腿加兩手,至少一百個包啊~



付出一百個包代價的 DIY 桑葚果醬:
















































.