カテゴリー
ESP8266+ESP32+RISC-V

M5Stackで My デジタル・サイネージの実験

Raspberry Pi をコンテンツ・サーバにした M5Stack用 My デジタル・サイネージの製作方法について説明します。

サーバに Raspberry Pi

M5Stack だけでもデジタル・サイネージに必要な全機能を搭載することが出来ますが、本稿ではあえてコンテンツ・サーバ機能を分離し、(Raspberry Piで)様々な情報を見やすく処理してからM5Stackに配信するようにしました。

本稿ではあえてコンテンツ・サーバ機能を分離し、Raspberry Piで様々な情報を見やすく処理してからM5Stackに配信する

使用する機器

  • M5Stack CORE または M5Stack CORE2
  • Raspberry Pi
  • インターネット接続環境
本例で使用する M5Stack CORE2。コンテンツはNHKニュースから取得(2023年5月28日)した

ソフトウェア実行例

Raspberry Pi から M5Stackへコンテンツを配信したときの一例です。時計の時刻は、M5StackがNTPサーバにアクセスして取得し、コンテンツに重ねて表示します。

Raspberry Pi から M5Stackへコンテンツを配信したときの一例。時刻は、M5Stackが取得し、コンテンツに重ねて表示する

BMP画像で配信

下図は、Raspberry Pi がNHKニュースから取得した情報を、M5Stackで受信した時のようすです。Raspberry Pi側は、M5Stackで読みやすいように編集してから2値BMP画像に変換して配信します。

下図は、Raspberry Pi がNHKニュースから取得した情報を、M5Stackで受信した時のようす。M5Stackで読みやすいように編集してから2値BMP画像に変換して配信する

美咲フォントで1200文字表示

Raspberry Pi 側で処理するので、様々なフォントが扱えます。下図は日本語を8ドット×8ドットで表示可能な美咲フォントを使って小説(人間失格、太宰治、青空文庫)の冒頭を表示したときの一例です。

Raspberry Pi 側で処理するので、様々なフォントが使える。本図は美咲フォントを使って小説(人間失格、太宰治、青空文庫)の冒頭を表示したときの一例

M5Stack用ソフトウェア

下記のサイト(筆者の GitHub Pages)からダウンロードできます。ページ上部のボタン「Download .zip」をクリックしてダウンロードしてください。

筆者 GitHub Pages レポジトリ m5
https://git.bokunimo.com/m5/

ボタン「Download .zip」をクリックしてダウンロードする

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 のブログ
by bokunimo.net

「M5Stackで My デジタル・サイネージの実験」への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es