ブログトップ

Tom's Lab

tomslabo.exblog.jp

Tomの研究所

2012年12月9日(日)寒い日。風邪引いた

IPad用にGmailがリリースされた。
複数アカウントに対応している。
契約中のandroid携帯のGmailのアカウントをiPad miniを入れてみた。

d0182233_21573616.jpg



もちろんIPadでは問題なく受信できたが早速トラブル発生。
androidにメールの通知が来なくなった。(知っている人には当たり前のことか)
つまりメールのプッシュが出来なくなった

通常android携帯の場合、Gmailサーバにメールが届くと通知がきて着信音がなる。
では複数の端末で同じGmailアカウントを使った場合はどうなるのだろう?
10台で同じアカウントを使うと10台全部に通知が来る。訳が無い。
多分最後にメールを受信した携帯1台のみでしょう。

GmailサーバとGmailクライアントはIMAP4でIDLEコマンドを使って新着メールを監視している。
Gmailクライアントはメールを受信する処理の最後にIDLEコマンドをGmailサーバに発行する。
そうするとGmailクライアント(携帯)とGmailサーバーは通信を維持したままになる。
この方式はプッシュメールと言われ、定期的にフェッチ(フェッチメール)するより通信負荷は下がるしバッテリーの使用量も減る

※ちなみにプッシュメールを実現する方法は以下があるらしい
1.SMSを使うパターン(mopera U, i.softbank.jpなど)
2.IMAP IDLEを使うパターン(Gmailなど)
3.HTTPSを使うパターン(Microsoft Direct Push(MS Exchange)など)
4.その他(BlackBerry、Push-IMAPなど)

そしてメールサーバーからメールクライアントに何かデータが送信されたら、メールが
メールサーバーに届いた合図と判断しメール受信(フェッチ)を実行する。

今回の解決方法としては、android端末側で「設定」からメールの「同期」を実行する
注意点としては、一度メールが受信されないと新着メールの監視状態(IDLE)に入らないので
メールがサーバに受信されている状態で「同期」を実行することです。

の筈なのですが、安定しない。。。動かない。。。
[PR]
# by TomsLabo | 2012-12-09 21:54 | Android
2012年12月9日

11月のことですが買いました。

RX-100
d0182233_18401781.jpg

昨年、乗鞍に自転車で登ったときにコンデジを無くしてから1年半。
やっと買いました。
PENTAX Q, SIGMA DP1と迷い、最終的に一番特徴の無いカメラに。
おかげで、一眼レフと被り、一眼レフの出動がなくなった。
写真に凝ると時間がなくなるので、まああ良いか。

iPad mini
d0182233_1840832.jpg

レティーナでないと世間では叩かれてますが、私の利用目的は動画鑑賞。

・Aire Video(録画したテレビ番組)
・Hulu
・GyaO!
・WOWOWオンデマンド
が1台で見れるものはiPadしかないと思う。Androidはダメでしょう。
そして更に新しい動作サービスが始まったとしても、iPadが外れることはないでしょう。

・机の上で
・布団の中で
・風呂場で
大活躍の1台です。
[PR]
# by TomsLabo | 2012-12-09 18:50 | 買い物
2012年12月9日(雪のち曇り)寒い日
d0182233_1851164.jpg


10月13日のことです。
私が黒部アルペンルートで紅葉を楽しんでいるところに1通のメールが。。。

==================
SMART error (CurrentPendingSector) detected on host: centos

This email was generated by the smartd daemon running on:

host name: centos
DNS domain: [Unknown]
NIS domain: (none)

The following warning/error was logged by the smartd daemon:

Device: /dev/sdb, 9 Currently unreadable (pending) sectors

For details see host's SYSLOG (default: /var/log/messages).

You can also use the smartctl utility for further investigation.
No additional email messages about this problem will be sent.
==================

家のサーバから見たことないメールが。
/dev/sdb がクラッシュしたみたいです。

サーバは/dev/sdbと/dev/sdcで4TeraのRAID0を組んでいるので、全てのデータが消滅して
しまいました。(どうせテレビ番組ですが)

帰って確認すると、/dev/sdbがカラカラ言ってます。

すぐに3TeraのDISKを買って復旧させてました。
故障したDISKは破棄しても良かったのですが、RMAに興味あったのでRMA申請することにしました。

無事時に交換品のDISKがシンガポールから届いたので、手順を書いておきます。参考にどうぞ。

①WD HPのRMAのページ
 RMAは以下のページより手続きを行います
 http://support.wdc.com/warranty/index.asp?lang=jp

 以下の説明はこのページからのリンクになります。
 一部のURLを記述して説明していきます

②故障したHDDの保障期間の確認
 まずは故障したHDDの保障期間を調べます。
 故障したHDDが保障期間なのか、おおよその見当がつきます
 http://support.wdc.com/warranty/policy.asp?custtype=end&lang=jp

③CFD RMA申請
日本国内でCFD販売(株)が販売している白箱入りのものは、CFDが1年の保証をつけています。
この流通経路のHDDはWDのRMA保証確認ページでHDDのシリアルNoを入力すると[限定保証なし]
 となり、RMA保証が受けられない状態の個体があります。
 (WDから単体のHDD製品として出荷されたものではなくOEM向けの出荷の物がそうなる)
その場合RMA保証を有効化する申請を以下のCFDのページから行えばWDのRMA保証が受けられる
 ようになります。

http://www.cfd.co.jp/harddisk/wd_rma_form.html
処理に10日前後かかるとありますが、数日で有効になるようです。

④Western Digitalにユーザ登録
こちらからユーザ登録をする
http://websupport.wdc.com/warranty/rmainfo.asp?custtype=end&lang=jp

⑤Webページにて故障した製品を登録し発送する
 ・シリアル番号をWebページから登録する
 ・発送方法
  ===
 HDD本体を帯電防止バッグ(ESDバッグ)に入れて送る(包装されていたビニールです)

  以下の注意事項が指示されます
 ・弊社の倉庫を直接訪問することはできません。 製品を交換するには郵送する必要があります。
 ・有効な Western Digital の RMA 番号なしで欠陥のあるハードドライブを送らないで下さい。
  弊社の倉庫がドライブを返送する結果となります。
 ・箱の外側にはっきりと RMA 番号が記載されていることを確認し、
  追跡可能な発送方法 (発送物を追跡する業者) でドライブをお送り下さい。

 ===
 お客様の RMA が作成されました。その番号は: 99999999
という知らせがきます

⑥郵便局から小包で送る
 郵便局のEMSで1600円ぐらいで送れる
 
d0182233_1843788.jpg


⑦2週間後に新しいHDDが送られてくる。
d0182233_185653.jpg


以上。お試しあれ。
[PR]
# by tomslabo | 2012-12-09 18:05 | パーツ
2012年3月20日(晴れ)久しぶりの更新です。


XtreamerのAVケーブルを風呂のテレビに繋いで、TV録画した内容を見ていたことは以前に書いた。
その際、iPhoneのブラウザーをリモコンとして使っていることも報告した。

便利なんだけど、iPhoneのボタンが小さかったり、TV画面のカーソルの動きを確認しながら、ボタンを押すのはちょっと不便。
ネットで調べてみるとAndroidの専用リモコンがあった。

これが超便利。予想外に便利。
風呂テレビ+Xtreamerの組み合わせでこれほど便利になることは予想すらしてなかった。
風呂ビデオを実現する方法としては、技なし、努力なし、実現の楽しみも無いと思っていたが感動してしまった。
ほんとXtreamerでよかった。

Galaxy Tabの画面COPYなので画像が大きいですが勘弁。(サイズ変更の手間をかける気力なし)
フォルダー一覧の画面
d0182233_16514636.jpg


録画一覧。番組を押さえれば、すぐに再生が始まる。
d0182233_16515787.jpg


Xtreamoteの文字の上でスワイプすると30秒スキップができる。このギミックは最初は判らなかった。
d0182233_1652552.jpg


あと、テレビに映っている画面をAndroid側に表示できます。

早速、防水シート買います。
[PR]
# by TomsLabo | 2012-03-20 16:52 | メディアプレイヤー
2012月1月29日(日)晴れ 寒い
Xtreamer(DC-MCNP1)でチョット困るのは、ビデオリストのソート指定が出来ないこと。
私の場合、REGZAでの再生を意識して、ファイル名は
yyyymmddhhmm_ビデオタイトル.ts
となっています。

このファイル名の場合、REGAでは最新のビデオファイルから表示されのですが、DC-MCNP1は一番古いファイルから表示される。なのでチョット不便。

てな訳で、これを意識したファイル名をハードリンクで作成するPHPを作ってみた。

汎用性を考えてシンボリックリンクで作成したかったのですが、NFSではシンボリックリンクファイルの作成はできませんでした。sambaではOKです。結局ハードリンクにしました。


#!/usr/bin/php -q

/*=======================================================================*/
//
// 先頭がYYMMDD(HHMM)から始まるTSファイル名のYYYYMMDDを取得し、
// "20201231"からの差分日付を先頭に付加したリンクファイルを作る
// exp
// 2012301800_XXXXXX.ts → 0001_301800_XXXXXX.ts
//
/*=======================================================================*/
$videoDir = '/video';
$XtreamerDir = '/video/.Xtreamer';

// rmdir -f /video/.Xtreamer
removeDir($XtreamerDir);

// mkdir /video/.Xtreamer
mkdir($XtreamerDir);

// サブディレクトリー表示
if ($dirHandle = opendir($videoDir)) {
/* ディレクトリをループする際の正しい方法です */
while (false !== ($subDir = readdir($dirHandle))) {
if (($subDir == '.') OR ($subDir == '..')) {
continue;
}
if (substr($subDir,0,1) == '.') {
continue;
}
if (!is_dir($videoDir.'/'.$subDir)) {
continue;
}

$makeDir = $XtreamerDir.'/'.$subDir;
// echo $makeDir."\n";

// mkdir
mkdir($makeDir);

// シンボリックリンクを作成する
if ($tsHandle = opendir($videoDir.'/'.$subDir)) {
//ディレクトリをループする際の正しい方法です
while (false !== ($file = readdir($tsHandle))) {
if (($file == '.') OR ($file == '..')) {
continue;
}
if (!(stripos($file,'.ts'))){
continue;
}
if (stripos($file,'.ts.meta')){
continue;
}

// 日付の差を計算
$diff = (strtotime("20201231") - strtotime("20".substr($file,0,6))) / (24 * 3600);
$diff = substr("0000".$diff,-4);

// ハードリンク
$src = "$videoDir/$subDir/$file";
//print $src."\n";
$dst = "$XtreamerDir/$subDir/$diff"."_".substr($file, 4);
//print $dst."\n";
//symlink($src, $dst);
link($src, $dst);
}
}
}
}

function removeDir($dir) {
if ($handle = opendir($dir)) {
while (false !== ($item = readdir($handle))) {
if ($item != "." && $item != "..") {
if (is_dir("$dir/$item")) {
removeDir("$dir/$item");
}
else {
unlink("$dir/$item");
}
}
}
closedir($handle);
//
rmdir($dir);
}
}
?>
[PR]
# by tomslabo | 2012-01-29 14:46 | メディアプレイヤー