0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RSS があれば何でもできる!

MeePet を Android 端末として使う の記事で、 Android の Slideshow アプリを使って MeePet をサイネージ化した。
RSS ファイルをティッカーとして流すことができるので、予定も RSS ファイルにしてしまえばティッカーとして流せる!ということに気づき、やってみることにした。

Android の Web サーバーへファイルをアップロードする

PHP を雑に書いて Web 情報取得(株価指数を大きな文字で表示) の記事で紹介した Termux を MeePet に入れ、 MeePet 内で PHP 環境を完結できるようにした。

基本的には上記記事の通りにやれば構築できる。ただし、 8080 ポートは Slideshow の設定用に使われるので、 Apache Web サーバーのポートを 8008 に移動させた。

次に予定のファイルであるが、Android にファイルを転送するのは面倒なので、 Web サーバーの機能を使うことにする。

予め、奇数行に日時、偶数行に内容を記したファイルを用意しておく(文字コードは UTF-8 で)。

schedule.txt
13(金)
TUT-Code記事のアップ
14(土)
PHPスクレイピング記事のアップ
15(日)
MeePetでQPython記事のアップ

MeePet へのファイルアップロードはこちらのサイトをそのまま使った。

スクリプトで RSS ファイルに変換

気象庁予報の JSON ファイルを PHP で RSS 形式に変換してみる で行った方法と同様に行える。
Web サーバーにアップロードしたファイルを、 PHP ファイルを実行することで RSS に変換する。

schedule_rss_gen.php
<?php
$lines = file('../data/schedule.txt');

$fp = fopen("../rss/schedule.xml", "w");
fwrite($fp, "\xEF\xBB\xBF");
fwrite($fp, '<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>予定</title>
<link>http://localhost/</link>
<description>予定</description>
<lastBuildDate>'.gmdate("D, d M Y H:i:s T").'</lastBuildDate>
');
foreach ($lines as $line_num => $line) {
    if ($line_num % 2 == 0) {
        fwrite($fp, '<item><title>' . $line . '</title>');
    } else {
        fwrite($fp, '<description>' . $line . '</description></item>');
    }
}
fwrite($fp, '</channel></rss>');
fclose($fp);
echo 'Schedule RSS file generated.';
?>

Slideshow で RSS ファイルを指定する

あとは、出来上がった RSS ファイルを Slideshow に設定するだけである。
天気 RSS に引き続いて表示させたい。
2つ以上の RSS はカンマを挟んで列挙すれば続けてティッカー表示させることができる。
が、ここでカンマの後ろに余分なスペースを空けてしまい、2本目がエラーで読み込まれない事態に。
スペースを入れずに列挙する。
slideshow_schedule_1.png

これで無事に予定のティッカーも表示されるようになった。
slideshow_schedule_2.jpg

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?