- 追加された行はこの色です。
- 削除された行はこの色です。
*概要 [#x77f4f5a]
電子ペーパーに天気予報を表示します。ラズベリーパイでインターネットから天気予報データを取得して、電子ペーパーに天気予報を表示します。データは[[ひとくち予報 in Feed:http://www.weathermap.co.jp/hitokuchi_rss/]]から使用させていただいてます。
#ref(14862868559650.jpg)
*プログラム [#a5a9f06a]
- wget, wkhtmltopdf, netpnm, imagemagik, cu をインストールしておきます。
- 実行はroot権限で行います。
#!/usr/bin/perl
# -*- coding: utf-8 -*-
$url = (@ARGV == 1) ? $ARGV[0] : "http://feedproxy.google.com/hitokuchi_5210"; #表示したい地域のURL
$incmd = "wget -O - $url";
open(IN, "$incmd|") || die;
$outcmd = "wkhtmltopdf -l --zoom 0.75 --encoding UTF-8 -B 0 -L 0 -R 0 -T 0 -g - - | pdftoppm | convert - -crop 200x96+8+8 -threshold 50000 -colors 2 bmp:- | cu --nostop -E '' -s 115200 -l /dev/ttyAMA0";
$outcmd = <<'EOS';
wkhtmltopdf -l --zoom 0.75 --encoding UTF-8 -B 0 -L 0 -R 0 -T 0 -g - - |
pdftoppm |
convert - -crop 200x96+8+8 -threshold 50000 -colors 2 bmp:- |
cu --nostop -E '' -s 115200 -l /dev/ttyAMA0
EOS
open(OUT, "|$outcmd") || die;
while (<IN>) {
last if m|の週間予報</h3>|;
}
while (<IN>) {
last if m/]]/;
s/border="1"/border="0"/;
print OUT;
}
close(OUT);
exit;
*部品 [#a2f5a0b8]
- ラズベリーパイ
- 電子ペーパー Y-Con P020 4500円 https://www.amazon.co.jp/dp/B01B5PVT4E
- 電子ペーパー Y-Con P020 4860円
-- メーカー http://www.yslab.co.jp/ycon_20.html
-- amazon https://www.amazon.co.jp/dp/B01B5PVT4E