😀

リアルタイム地球画像をデスクトップに表示

2020/07/12に公開

概要

壁紙にリアルタイムの地球画像を表示する話。


引用元:himawaripy
提供:情報通信研究機構(NICT)

動作確認環境は以下。

  • OS: Ubuntu 18.04
  • ディスプレイ: QHD (2560x1440)、Display Port
  • Python 3.6.9

設定方法

himawaripy公式ドキュメント に従って設定する。

インストール

pipコマンドでhimawaripyをインストールする。

$ pip3 install himawaripy
$ pip3 freeze | grep himawari
himawaripy==2.1.0

動作確認

動作確認をする。コマンドを実行すると、

$ himawaripy --auto-offset
himawaripy 2.1.0
Updating...
Latest version: 2020/07/12 00:40:00 GMT.
Detected offset: UTC+09:00
Offset version: 2020/07/11 23:40:00 GMT.
Downloading tiles...
Downloading tiles: 1/64 completed...
...
...
Downloading tiles: 63/64 completed...
Downloading tiles: completed.
Saving to '~/.cache/himawaripy/himawari-20200711T234000.png'...

デスクトップに地球画像が表示された。

himawari.png
提供:情報通信研究機構(NICT)

表示された画像はホームのキャッシュディレクトリに作成されている。

$ ll ~/.cache/himawaripy/
合計 22M
-rw-rw-r--  1 kannkyo kannkyo  22M  712 10:30 himawari-20200712T000000.png

himawaripyは、コマンドを実行するたびに以下の処理を自動で行ってくれる。

  1. 新しい画像をダウンロード
  2. .cacheから古い地球画像を削除
  3. 新しい地球画像を格納
  4. 壁紙を更新

つまり、コマンドを定期的に叩けば最新の地球画像に更新できる。定期的に叩くのは、crontabを使えば簡単に実現できる。

自動化

crontabを使って壁紙の更新を自動化する。

まず、whichコマンドを使って、himawaripyのインストール先のディレクトリを調べる。

$ which -- himawaripy
~/.local/bin/himawaripy

筆者の環境では、.localにインストールされていた。

次にcrontabの設定ファイルを編集モード-eで開く。

crontab -e

最後にcrontabに以下の1行を追加する。

*/10 * * * * <INSTALLATION_PATH> --auto-offset -l 8 -d 2

それぞれのパラメータの意味は以下の通りである。

  • */10 * * * * 10分おきにコマンドを実行。画像提供元(ひまわりリアルタイムWeb)は、約20分遅れで10分おきに画像を公開しているので、10分おきにコマンドを実行すれば良い。
  • <INSTALLATION_PATH> himawaripyのインストール先の絶対パス。
  • --auto-offset UTCからのオフセット時刻を自動算出。
  • -l 8 解像度のレベルを8(画像サイズは4400 x 4400、サイズは約20MB)に設定。
  • -d 2 ダウンロード処理のタイムアウト時間を2分に設定。

これでOK。

Discussion