サイドコンテンツ 【メイン】

推し:加藤安那

加藤安那 (ユメオイ少女)

Twitter: @_hana_celeb_

サイドコンテンツ 【サブ】

ブログ エントリー

  • 置時計が欲しい

    -
    テレビ台の中に HDD レコーダが2台あり、うち1台は稼働率低いため常に時計が表示されていた (電源をいれるとチャンネルが表示されていしまう)。

    しかし最近スカパー!プレミアムに加入したため、チューナー設置のため稼働率の低い HDD レコーダーを撤去したため時計が無くなり意外と不便。

    そんなこんなで時計を買うことになったので必要な機能を列挙。 (優先度順)

    • NTP または 電波 による時刻合わせ
    • USB 給電または極めて小さい AC アダプタ
    • 時計の文字が高コントラスト
    • 大きい文字
    • 5 ~ 8 インチほどの大きな LCD
    • 8000 円ぐらいが限度

    文字の高コントラストは文字自体が光るタイプで、たとえば以下のような製品。



    上記の木目調の時計が電波時計だったら即購入していた。

    しかし今回は時計がずれないことを最重要してたので、自動時刻合わせが無いものは買えない。 上記のオレンジ文字のも良かったのだけど、アダプタがちょっと大きいので躊躇う (電源タップに空きが1つで、明らかにこの時計のアダプタは大きくて入らない) が、最有力候補。

    色々見てて下記製品にめぼしをつけるも、液晶が暗くなるという報告がチラホラ。 残念。



    先の シチズン 8RZ099-019 を考慮に入れつつ、ここで方向転換。

    USB 給電で HDMI 入力を備えた液晶モニタを、メディアプレイヤーとして使用している Atom 330 の PC に繋いでマルチモニーで時計を表示しよう。

    しかし物がかなり少ないうえに高すぎる。

    ここで更に方向転換 (この段階でシチズン 8RZ099-019 の事は忘れてますw)。

    時計も自動的に合わせてくれて、程よい大きさの液晶 ・・・ Android タブレットという素晴らしい時計があった!←

    ってことで AQUOS PAD を 8000 円ほどで入手。 安い。

    アプリで作ればいいんだろうけど、コンパイル→転送とかクソ面倒。

    HTML + CSS + Javascript + jQuery で時計を作る。

    ・・・

    作った。

    Javascript 置時計


    本当はミリ秒も表示させたかったのだけど、ミリ秒を 33 ミリ秒のインターバルで更新・表示させるとタブレットの CPU 使用率が 7 を超える。 (この数字の見方が分からないけど、少ないほうが良いに決まってる)

    そこで 33 ミリ秒のインターバルはそのままでミリ秒を表示させないと CPU 使用率が 4 前後まで落ちた。 そこまで違うなら表示させない方が良い。

    タブレットで時計を用意した場合の幾つかの利点。

    • Android なので時刻は自動的に合う! ※ 落とし穴
    • デザインは好き勝手弄れる
    • USB 給電
    • 時計のほか色々な情報表示が可能 ※要プログラミング
    • 部屋が暗くなる時間帯は文字の輝度を落とせる

    デザインが好き勝手に弄るには HTML と CSS だけで OK。 しかも色々な端末を考慮する必要もないため、決め打ちによるハードコーディングで気楽。

    文字の輝度も Javascript と jQuery で CSS の opacity 指定でサクっと完了。

    電源となる USB ポートは、設置するテレビ台に PC が収まってるのでそこから。 USB ケーブルも短くて済むのでロスも少ない。

    色々な表示だけど、今現在は天気予報と上部に写真を一定間隔で更新している。

    天気予報は Livedoor が JSON で配信してたのでそれを利用しようとしたが、現在のライブドアの中身は LINE なので即座に利用を止めた。 今は某 天気予報サイトを Perl で一定間隔でスクレイピングしてデータを JSON で保存し、Javascript で読み込んでいる。 天気予報は温度表示が更新されるため、30分表示更新している。

    上部の写真は1日間隔で更新。 家族の目に見えるところに設置する時計なので、自分の趣味に偏りすぎたものは表示できず。 なので写真素材サイトから景色写真だけを選んで表示。

    写真は全てダウンロードすると膨大だし管理が面倒なので、写真 ID だけ取得してその写真のみダウンロードする方法を採用。

    さて問題の自動時刻あわせだが、数日経って PC の時計とタブレットの時計が4秒もずれていたのでおかしいと思い調べたところ、Android は Wi-Fi 環境下では自動で時刻は合わせないという事が発覚。

    3G や LTE だと、電波の中に時計に関するデータが入っていて、それで時刻を合わせているらしい。 Wi-Fi だとそのデータは無いので時刻が合わせられない。 という事。

    そこで NTP アプリを使おうとしたところ、Android で NTP をちゃんと使うには ROOT 化が必要だということ。 文鎮化したら嫌なので ROOT しなくても NTP クライアントアプリが使えるっぽかったので、そのままアプリを使ったら 16 秒も時計がずれた。

    仕方ないので ROOT 化。 初めて ROOT 奪取するのに、先人たちが色々ごにょごにょしてくれてたお陰で 10 分ぐらいで ROOT 奪取。

    NTP クライアントアプリ入れて動かしたら無事時計が合った。

    これでやっと置時計が完成しました。

    ただ1つだけ心配事があって、最近はスマホのバッテリーが以上発熱して発火する事件とかあるじゃないですか? この端末は大丈夫かな? って事だけ。

    追記 もし時計を合わすだけに月額 500 円ほどを負担できるなら、500 円の格安 SIM を契約するのも手です。 そうすれば ROOT 化する必要はありません。 ただし、壁紙設定したりする場合は回線が細いため大変ですよ。 お気をつけて。