2025/01/03
Raspbery Pi を使ってデジタルサイネージを作成
Raspbery Pi Imager に、Anthias があり簡単に作成できるようだが、ローカルネットワーク環境ではうまく動かなかった、調査はそこそこにして作ってみることにした
欲しい機能、デジタル時計表示、画像表示、画像には時間表示ができる、曜日毎に表示制御、夜は表示しない
画像表示は、python と pygame を組み合わせて実現する
画像の入れ替えは、Apache と php を組み合わせて実現する
Raspbery Pi は、Imager を使って 32bit版を適用する
#セットアップ環境は他のWindows PCからSSH接続
#ユーザーID は、pi を使用
最新にアップデート
$ sudo apt-get -y update
$ sudo apt-get -y upgrade
pygame のセットアップ
$ sudo apt install -y python3-pygame
$ sudo apt-get install -y apache2
$ sudo systemctl restart apache2 (念の為)
Edgeなどで開くと起動確認できる
php のセットアップ
$ sudo apt install -y php
PHPの送信ファイルのサイズ拡大
$ sudo vi /etc/php/7.4/apache2/php.ini
7.4はインストールしたバージョン
upload_max_filesize = 50M
$ sudo systemctl restart apache2 (再起動して変更を適用)
samba のセットアップ
#ファイル送信のためにセットアップ、USBなどで転送するなら不要かも
$ sudo apt install -y samba
下記を最終に追加
------------------------------------------------
$ sudo service smbd restart (再起動して変更を適用)
$ sudo mkdir /var/www/html/DigtalSignage (表示する画像データ保管フォルダ)
wwwのフォルダにアクセスできるようにする(権限は最大化、適宜合わせる)
$ sudo chmod 777 /var/www
$ sudo chmod 777 /var/www/html
$ sudo chmod 777 /var/www/html/DigtalSignage
自動更新の停止(自動更新が働くと止まってしまう)
$ sudo apt-mark hold raspberrypi-kernel
$ sudo apt-mark hold firmware*
wwwページ作成
------------------------------------------------
/var/www/html/index.php
/var/www/html/update.php
/var/www/html/upload.php
/var/www/html/apply.png
/var/www/html/shutdown.png
/var/www/html/reboot.png
/var/www/html/up.png
/var/www/html/down.png
/var/www/html/delete.png
------------------------------------------------
初期のトップページを削除
$ sudo rm /var/www/html/index.html
画像表示 pythonスクリプト作成
$ mkdir /home/pi/DigtalSignage
------------------------------------------------
/home/pi/DigtalSignage/DigtalSignage.py
------------------------------------------------
自動起動の設定
$ mkdir /home/pi/.config/autostart
ファイル作成(/home/pi/.config/autostart/.desktop)
------------------------------------------------
[Desktop Entry]
Type=Application
Name=My Python App
Exec=/home/pi/startup.sh
------------------------------------------------
スタートアップスクリプト作成(/home/pi/startup.sh)
------------------------------------------------
#!/bin/bash
sleep 30 # 少し待たないと起動できない
cd /var/www/html/DigtalSignage/
/usr/bin/python3 /home/pi/DigtalSignage/DigtalSignage.py
------------------------------------------------
起動できるように変更
$ sudo chmod 777 startup.sh
画像の追加は、Edge等でラズパイに接続する
止めるには、SSHでログオンして、プロセスを KILL する
$ ps ax で、プロセス番号確認
$ kill -kill [プロセス番号]
ご自由にお使いください
一切の責任は負いません
Raspberry Pi 1:処理的に無理みたい
Raspberry Pi 2:画像ファイルサイズが大きくなければ使える
Raspberry Pi 4:そこそこ使える