月別アーカイブ: 2019年8月

解像度が違う?

先日来、色々やってたホームサイネージですが、画像が適正に表示されないという問題を抱えていました。やっと解決です。

説明書の解像度に関する記載

液晶ディスプレイの解説書や説明にも 1024×600( 私は縦置きで表示させているので、 600×1024) の解像度と記載があります。しかし、どうも使っている Python ライブラリの pygame はそうは思っていないっぽいのです。

大きい画像を縮小したり拡大させたりするオーバーヘッドをなくすため、あらかじめ 600×1024 サイズに変更してサイネージの表示用としていました。ソースコードや pygame の説明を読んでみてもボーダーが表示される理由がわからなかったのです。

しかし、もしかしたら解像度を違った数字で認識しているんじゃないかと思い、テストしてみるとビンゴでした。解像度は 768×1366 でした。このサイズでリサイズして表示させてみるとフルサイズで表示してくれます。冒頭の写真は上下にまだ余白がありますが、写真と液晶の縦横比が異なるためで、これは仕方がありません。全ての写真は 768px の横幅にリサイズしてありますので、最大の大きさで表示してくれていることになります。

しかし、説明書にも書かれているのに実際の解像度がそれを上回るというのはどういうことなんでしょうね。 pygame ライブラリだけの問題なのか、ホントにその解像度なのか。とりあえず目的は達成できたので、それ以上の深追いはやめておきます。


天が我が肉体を苦しめるならば、我は精神を安楽にして肉体の苦しみを補う。天が我が境遇を行き詰まらせるならば、我は我が道を高尚にして貫き通す。

洪子「菜根譚」

麺者 風天

毎週土曜日の昼はラーメンです。今まで記録を取っていなかったのでその記録です。今回は、麺者 風天さんの海老つけ麺です。

えーっと、海老つけ麺ですが、海老せんべいは余計だと思います。残しました。こういうお菓子系って好きじゃないんですよ。出てきたときに、思わず引きました。

という話をして、評価が下がるかというとそんなことはないんですよ。ご安心ください。自家製麺の太麺はモチモチしていて美味しかったです。特筆すべきは一口目に特に感じた、海老の風味ですね。タレの方にも、麺の上にも乾燥した海老が載っていましたのでその相乗効果でしょうね。

つけだれも美味しいですね。最後にストレートで飲んでみましたが、非常に美味しかったです。麺との組み合わせはなかなかです。好きですね。

あまり気にする方ではないのですが、具材は少ないです。メンマぐらいあってもいいのかもしれませんね。それと、大盛りをいただいたのですが、大盛り 10 円はコスパいいですね。特盛り 20 円だそうです。海老つけ麺は 850 円なので、トータル 860 円。大盛り 100 円だと思ったので、おつりで百円玉が返ってきて驚きました。入ってすぐの食券機で、購入するんですね、あんまり食券機って好きじゃないんですよ。まぁ衛生上は食券機の方がいいのかもしれませんね。

とても美味しくいただきました。ごちそうさまでした。


「ありえない」なんて事はありえない

鋼の錬金術師

Kubuntu

openSUSE いいディストリビューションだったんですが、どうも私の環境では不具合が多く、解決できなかったのでさっさと別のディストリビューションに映ってしまいました。今度は Kubuntu です。

Kubuntu というと、 Ubuntu 系の KDE 版というような位置づけで考えています。 GENOME 版はどうも苦手でして、 KDE 版を選択したという感じです。基本は Ubuntu ですので、何よりトラブルに陥ったときの情報がたくさんあるのは安心感が違います。テスト的な考え方で運用していますので、 19.04 を選択しても良かったのですが、 LTS 版の 18.04 をインストールしてみました。

インストールに関しては、さすがは Ubuntu 系だけあって、ほとんどの部分が日本語で表示され、迷うことはありませんでした。日本語入力も、インストールが終了した段階で使えるようになっていて、問題ありません。まぁ、日本語入力に関してはあまり使う機会が無いかもしれません。 SSH 接続で Mac から使うことが多いですからね。

使い勝手もさすが Ubuntu 系。全く問題ありません。必要なアプリケーションをインストールして、少し運用してみましたが特に問題が出たものはありません。細かい設定はこれからですが、十分に使える状態になっています。


なぜあの時、俺を打って叱ってくれなかったのか。

イソップ

液晶を縦にしてみた

前回の投稿で紹介した、ホームサイネージですが、縦長の画像が多いことから液晶そのものを縦置きにしてみました。

縦置きにするには、設定を変えてやる必要がありますが、これは簡単。

# /boot/config.txt を編集
sudo nano /boot/config.txt

# 末尾に以下の設定を追加
display_rotate=1

# 0 = 0°、1=90°、2=180°、3=270°

購入した 7inch の HDMI ディスプレイは 4 隅に固定用の穴が開いているので吊り下げるためのリングをつけて縦置き完成です。後は、画像ファイルの大きさを 1024×600 から 600×1024 に最適化すれば完成になります。これでも画像の周りに黒のフレームが発生していてあまり面白くないのですが、この縁取りはなぜか消えません。

そして謎のエラーが発生するようになっています。全ての画像ファイルは JPEG フォーマットなのですが、表示に使っている pygame ライブラリがアンサポーテッドフォーマットのエラーを吐く場合があります。どのファイルが問題なのか、ログにそのときのファイル名を書き込むようにしてみました。ところが、その後からそのエラーが消え代わりに Underrun エラーが! エー、何でぇ? って感じです。なんか私間違ったことしてるんでしょうかね。

エラーを吐く以外は、問題なく使えているので、このまま使ってみます。フレームの問題はボチボチやっていきますね。


愛してその人を得ることは最上である。愛してその人を失うことはその次によい

ウィリアム メークピース サッカリ

7inch の HDMI ディスプレイをホームサイネージにしてみた

先日、購入した 7inch の HDMI ディスプレイをホームサイネージにしてみた。起動すると自動的に画像をスライドショー表示してくれる。ただし、課題も多い

画像を見てもらってもわかるけど、ワイヤーで天井から吊ってある。ディスプレイの裏側には Raspberry Pi zero W がネジ止めされていて、コードが色々刺さっている。極めて見た目がよろしくない。根本的な問題として 7inch ではちょっと小さかったなぁ。

他にも問題はあって、記事にした python コーデックのスライドショーに手を加えたものを使っているのだけど、写真の周りに 50px ぐらいの幅でフレームができてしまっている。これなくしたいのだけど、どうもうまくいかない。 pygame というライブラリを使っているのだけど、フルスクリーンを指定しているにもかかわらずフレームができてるんですよね。これはソフトの改良で何とかなる問題なのだけど、現在のところはお手上げ状態。

画像は縦長のものが手元に多くあったので、それを使っているけど、見開きのような横長の方が見栄えがするので、画像を調整してみる。画像はいろんなサイトからダウンロードしたりしたものなので、ちょっとアレなんですが …

基本的に Zero W 君の 30 %程度の CPU パワーを使ってます。あんまりパワーがある CPU ではないので、このぐらいでいいのかしら。画像の追加は scp を使っていますが、 Samba を入れて画像フォルダを共有させた方が絶対楽ですよね。今はグラビア写真しか入れていませんが、グラビア以外の写真を入れてもいいかもしれませんね。


病を受くることも多くは心より受く。外より来る病は少なし。

吉田兼好

python のエラー

コピペして事を済まそうとする私が悪いんですけどね。 python 好きじゃないっす。

Raspberry Pi でスライドショーをするっていう話、先日したかと思うのですが、あまりうまくいってません。 Zero W 君のパワーが圧倒的に不足していることが原因なのですね。動画( MP4 )を再生させようと思っていたのですが、パワー不足でダメダメです。方向転換してトランジッションはなし。単純なスライドショーをしようとしましたが、いまいちでした。

そこで、ググってみたところ、良さそうな事例が載っていてソースコードも掲載されていたのでコピペでソースコードを持ってきました。私が考えていたのはランダムに表示させたいと言うことだったのですが、そのソースは順番に表示させるものでした。

それじゃ面白くないので、ソースコードの一部を変えてやろうと思ったわけです。まぁ、タイトルにもなっているとおり、ソースコードは python です。私は python をいじったことがありません。インデントの深さで意味が変わるんだ。ということぐらいしか知りませんでしたし、インデントの深さが括弧の代わりになるなんてとても信じられず、学ぶこともやめて頭の隅っこに置いていました。

エラー出るわけですよ。どこにも文法上のエラーなんぞ見当たらないのにエラー出るんですね。で、私の性格上、エラーコードとか見る前に「どこ間違ったかな?」とソースコードをのぞきに行きます。見当たらない。また実行する。エラーが出る。ちょこちょこ変えているうちに、元々のコードに戻したのにもかかわらずエラーが出るようになってしまいました。

どうなったんだ? お手上げ状態ですね。そこで初めてエラーを覗く。遅いですね。最初から見とけって言われそうですが、エラーを読んだのは切羽詰まってからでした。そこには …

TabError: inconsistent use of tabs and spaces in indentation

タブとスペースの一貫性のない使い方。とでも言うんでしょうか? これ見て、タブとスペースの混在が原因か? とピンときました。案の定、混在してましたよ。私はソースコードにはタブを使うのが決まりのようになっているんですが、コピペしたソースコードはタブではなく、スペースが使われていました。考えてみれば、 html の中にタブが入るのはほとんどありませんので、スペースですよね。

私が追記したりしたところにはタブが、元々のコードにはスペースが使われていました。そんなのもエラーとして吐き出すんですね。括弧使えばいいのに。こんな見えにくいものもエラーとしてしまう python は、やはり好きになれません(自分のことを棚に上げているのはもちろんです)。


平らな道でもつまずくことがある。人間の運命もそうしたものだ。神以外に誰も真実を知るものはないのだから。

チェーホフ

7pay 終了!

まさか本当に終わってしまうとは思っていませんでしたが、セブンイレブンの 7pay が終了することが発表されました。

前回記事にしたときには、社長のトンチンカンぶりにかなりの不安を覚えましたが、その段階では時間はかかっても何とかするだろう。という根拠のない感覚を持っていました。しかし、本日セブンイレブン・ジャパンが記者会見して終了を発表しました。チャージした分に関しては返金するということですが、不安なので使い切ってしまおうと思います。私の場合、チャージしたのは千円ちょっとで、残っているのは三百数十円なので、使い切ってしまおうと思います。ただ、 7pay と現金のコンビネーション支払いができるのか? できなそうなんですよね。そこは店頭で聞いてみようと思います。

セブンイレブン・ジャパンの黒歴史になってしまう今回の騒動ですが、トップの方が考えていたことが二転三転したこと、つまり仕様がコロコロ変わったことが今回の一番の原因だと思います。加えて、開始時期が決まっていた。スタートが決まっているのに仕様がコロコロ変わる。開発している人たちの立場に立ってみると、寒気がします。結果穴が開いてしまった。穴が開いてしまったことに気がついたのも今をときめくチャイナ・ピーポー。さすがですよね。お金になることに関しては嗅覚鋭い。

開発者も、犯罪者も悪いんです。もちろんそっちの肩を持つつもりはないんですが、トップの人間の指示が今回の原因だと思うんですよね。私の個人的な意見ですけどね。

品揃え的には、セブンイレブンがコンビニ大手の中で一番好きです。なので、がんばって欲しいのですが、今回の件で客足が遠のくなんてことは無いんでしょうか?

そして気になるのは nanaco のポイント制度。 7pay ありきでポイント利率を下げたので、 7pay がなくなって元に戻すのか? まぁ普通に考えて戻さないですよね。いや、戻すのがもしかしたら普通なのかもしれませんが、あの経営陣ですから。


「60歳になったから風俗で割り引くきくよね? え?きかないの?」

高田純次