目次
サーバに Raspberry Pi
M5Stack だけでもデジタル・サイネージに必要な全機能を搭載することが出来ますが、本稿ではあえてコンテンツ・サーバ機能を分離し、(Raspberry Piで)様々な情報を見やすく処理してからM5Stackに配信するようにしました。
使用する機器
- M5Stack CORE または M5Stack CORE2
- Raspberry Pi
- インターネット接続環境
ソフトウェア実行例
Raspberry Pi から M5Stackへコンテンツを配信したときの一例です。時計の時刻は、M5StackがNTPサーバにアクセスして取得し、コンテンツに重ねて表示します。
BMP画像で配信
下図は、Raspberry Pi がNHKニュースから取得した情報を、M5Stackで受信した時のようすです。Raspberry Pi側は、M5Stackで読みやすいように編集してから2値BMP画像に変換して配信します。
美咲フォントで1200文字表示
Raspberry Pi 側で処理するので、様々なフォントが扱えます。下図は日本語を8ドット×8ドットで表示可能な美咲フォントを使って小説(人間失格、太宰治、青空文庫)の冒頭を表示したときの一例です。
M5Stack用ソフトウェア
下記のサイト(筆者の GitHub Pages)からダウンロードできます。ページ上部のボタン「Download .zip」をクリックしてダウンロードしてください。
筆者 GitHub Pages レポジトリ m5
https://git.bokunimo.com/m5/
M5Stack CORE用のプログラムと、M5Stack CORE2用のプログラムは、下記に収録しました。
M5Stack CORE用(日時のテキスト文字表示版):
m5/core/ex17_signage_basic/
ex17_signage_basic.ino
M5Stack CORE2用(アナログ時計風):
m5/core2/ex17_signage/
ex17_signage.ino
Arduino IDEで開き、#define SSIDと、#define PASSをお持ちの無線LAN環境のSSIDとパスワードに変更してから、M5Stackに書き込んで、動作確認してみてください。
実行すると、インターネット上のコンテンツを取得し、M5Stackに表示します。
Raspberry Pi 用ソフトウェア
Raspberry Pi 側は、前述のZIPと同じものを下記のコマンドでダウンロードして、実行することが出来ます。
$ cd ⏎
$ git clone https://bokunimo.com/git/m5 ⏎
$ cd m5/tools ⏎
$ ./signage_serv.py ⏎
M5Stack 側は、コンテンツ取得先を Raspberry Piに変更する必要があります。
#define BMP_SERVER の「http://192.168.1.2:8080/」の「192.168.1.2」の部分をRaspberry Pi のIPアドレスに書き換えて下さい。また、#define BMP_SERVER が重複しているので、httpsから始まる方の行を削除してください。
Arduino IDEでM5Stackに書き込むと、Raspberry Pi からコンテンツを取得するようになります。
操作方法
- 左ボタンを押すと、JPEG画像を取得して表示します。
- 中央ボタンで、2値BMP画像を取得して表示します。
- 右ボタンで、時計表示の有無を切り替えます。
- BMP画像表示のときは時計表示の有無でコントラストを変更します。(2023/6/4 仕様変更)
応用例 NHKニュース
NHKニュースから情報を取得するには、以下のコマンドを実行します。3時間ごとにニュースを取得し、2値BMP画像に変換してから、ファイル名 out.bmp をhtmlフォルダ内に保存します。
$ cd ~/m5/tools ⏎
$ nohup ./signage_serv_get_news.sh &> /dev/null &
M5Stackへの配信には、前述の signage_serv.py を使用します。もし、signage_serv.py を止めてしまっていたら、再度、 signage_serv.py を起動してください。
M5StackのLCD面にある、3つのボタンのうち中央ボタンもしくは、右ボタンをタッチすると、ニュースを表示します。
デジタル・モニタです。
本例は、デジタル・サイネージの実験用に製作しました。
M5StackのLCDの画面サイズは僅か2インチです。また、LCDの輝度も室内向けです。屋外などで掲示板として使用することは出来ません。
「M5Stackで My デジタル・サイネージの実験」への1件の返信
[…] M5Stackで My デジタル・サイネージの実験 […]