top of page
検索
  • 開発

3年ごしで、サイネージ(Raspberry Pi Zero W)が安定動作



トラブル1:ダッシュボードが固まる1

 一番頻発して困っていたのが、ダッシュボード(Chromium-browser)が数日から数週間すると固まってしまう問題でした。一旦この症状が発生すると、再起動してもすぐに固まってしまい、SDカードのイメージコピー(初期構築イメージファイル)する以外に復旧しません。


 たぶん、SDカードに何か書き込まれていき、それが悪さしていると思っていたのですが、数か月前に、Chromiumのキャッシュファイルに思い至りました。試しにOS再起動時に、キャッシュファイルを削除する設定にしたところ、この症状はずいぶん軽減されました。

rm -r /home/pi/.cache/chromium/Default/Cache/*

トラブル2:時々、最初のページが開かない

 キャッシュファイルの定期削除のため、毎日0時に再起動するようにしました。しかし、時々、ブラウザが真っ白になってしまい、今度は所定の初期ページが開かなくなりました。再起動すれば、開くこともあるのですが、原因がわからず困りました。


 あまりにZero Wでのトラブルが多いので、Zero 2 Wでも試してみたのですが、まったく症状が改善しません。ならばと4Bで試していたら、今度は、自動起動自体しない(手動なら起動する)という別なトラブルに見舞われました。


 こういうときは、ChatGPTの出番です。その回答にヒントがあり、実行プログラム(Chromium)が起動条件を満たしていないと、サービスが開始されないらしいのです。


下記の、Afterからの2行を追加したところ、このトラブルは発生しなくなりました。


/etc/systemd/system/open-browser.service

[Unit]
Description=launch chromium-browser
After=network-online.target graphical.target
Wants=network-online.target

[Service]
User=pi
Environment=DISPLAY=:0
ExecStart=/usr/bin/chromium-browser --disable-cache --kiosk --app=https://...

[Install]
WantedBy=user@.service

 推測ですが、4Bは処理速度が速いので、onlineやgraphicalが開始される前に、このサービスが実行されてしまい、Chromiumが起動せず、サービス開始されない状態だったようです。Zero Wは遅いので間に合った時には起動し、間に合わなかった時には真っ白になっていたのではないかと思います。


トラブル3:ダッシュボードが固まる2

 再起動すればダッシュボードが見えるようになったものの、それでも時々固まってしまうトラブルはありました。この解決は、Zero 2 Wの設定記事で偶然みつけました。Zeroでは、スワップファイルサイズが100KBの設定になっており、これだと、Chromiumの使用には不十分とのこと。これを1GBにしたところ、固まらなくなりました。


sudo nano /etc/dphys-swapfile

CONF_SWAPSIZE=1024

反省

 ESP32などのマイコンだと、メモリーにシビアになるのですが、貧弱なZeroでも、RaspbianのようなOSなら、とりあえず動いてしまうのが盲点でした。今思えば、topなどで見れば、すぐに気が付く問題だったと思います。


 大昔のMS-DOSや、Windows95の時代は、動作が不安定だとすぐにメモリー不足を疑っていたのですが、メインメモリーやストレージ容量がじゃぶじゃぶの時代を経て、すっかり、カンが鈍ってしまっていたようです。

閲覧数:680回0件のコメント

Comments


bottom of page