ACRB_READERer / PWR_POINTERer
概要
ダウンロードファイル
使用するための要件
インストール
M5Stack Basic 以外の設定
ボタンの名前と画面の説明
基本の使いかた(Acrobat Reader)
スライドの途中で動画(mp4 等)を見る
スライド途中で静止画や GIF アニメを見る
PowerPoint を使う
デジタルサイネージ風に表示する
SD カードで設定する
現在開いているファイルから選択する
ストップウォッチとして使う
画面が暗いときは
トップメニューはどこにある?
Bluetooth 接続が安定しないとき
ライセンス表示
概要
LCD ディスプレイと物理ボタンが3個搭載されているマイコン M5Stack BASIC を Windows PC に Bluetooth 接続し,ワイヤレコントローラーとしてプレゼンテーション用資料の操作をさせます。 自分は普段は PDF ファイルを複数立ち上げてプレゼンの最中にファイルを切り替えながら使っています。 そのあたりの操作を PC に一切触れずに,プレゼンをスムーズに進めることを目指して開発しました。
Acrobat Reader でプレゼンをする場合は ACRB_READERer(アクロバットリーダラー)を, PowerPoint でする人は PWR_POINTERer(パワーポインタラー)をご利用ください。 後述するように,ACRB_READERer から PowerPoint を,PWR_POINTERer から Acrobat Reader を 操作することもできます。
PowerPoint のスライド操作用のワイヤレスプレゼンターは市販されていますが,せっかくの自作なので, プレゼンの途中でランチャーアプリから動画ファイルを再生させたり, 手持ちのストップウォッチとして機能させたり,ラップタイムを PC の表計算ソフトに送ったり, PDF ファイルや PowerPoint のデータをデジタルサイネージ風に自動で繰り返し表示させたりできるなど, いろいろ機能を詰め込みました。
ダウンロードファイル
ACRB_READERer
version 1.4.2 (2021.08.01) - Arduino ソースファイル(GitHub)
- バイナリファイル(LavyanLauncher 登録用データ付き)
PWR_POINTERer
version 1.4.2 (2021.08.01)
- バイナリファイル(LavyanLauncher 登録用データ付き)
使用するための要件
デバイス
+ M5Stack Basic (16 MB フラッシュメモリ)
出荷の時期によって 4 MB のものと 16 MB のものとがあります。 初期のものでなければだいたい 16 MB のようです。
+ microSD カード (16 GB 以下)
M5Stack Basic に挿して利用します。無くても普通に使用できますが,あれば, 画面に表示されるユーザー名を好みのものに変えたり, プレゼンテーション中に PC をスリープさせない設定ができたりします。
PC
+ Microsoft Windows 10
+ Bluetooth 受信機能
PC のソフトウェア
プレゼンテーション用として
+ Adobe Acrobat Reader または
+ Microsoft PowerPoint
ランチャー
+ Orchis Launcher
動画再生
+ Media Player Classic BE
Windows の設定で,MP4 ファイル等の動画ファイル再生の標準のソフトウェアを Media Player Classic BE に指定しておいてください。
Arduino ライブラリ(ソースファイルをコンパイルする場合)
+ M5Stack
+ ESP32 BLE Keyboard version 1.0.4 を使ってください。1.0.5 以降では不具合が生じます。
+ ArduinoJson
+ M5StackUpdater
使用を推奨(無くても困りません)
+ M5Stack LovyanLauncher
M5Stack に複数のアプリを登録できるなどする多機能なランチャーです。
+ M5Stack 用電池モジュール
M5Stack Basic 標準搭載のバッテリーだけでも何とか1時間くらいは使えますが, バッテリー容量を増やしておけば安心して使えます。
M5Stack へのインストール
1.Arduino IDE を使う方法
ダウンロードした Arduino ファイルは ZIP 形式でフォルダごと圧縮されているので,適当な場所で解凍し, Arduino IDEで開いてから M5Stack Basic に書き込んでください。 ボードの設定は以下のようにしてください。
+ ツール → ボード → ボードマネージャ...→ esp32 version 1.0.6
+ ツール → ボード → ESP32 Arduino → M5Stack-FIRE
2.LavyanLauncher を使う方法
あらかじめ M5Stack Basic に LavyanLauncher をインストールしておいてください。 つぎに,ダウンロードしたバイナリファイルを microSD カードにコピーして,M5Stack Basic に挿してください。 LavyanLauncher から ACRB_READERer / PWR_POINTERer を選択して読み込んでください。
M5Stack Basic 以外の設定
Bluetooth のペアリング
はじめに Windows PC に M5Stack Basic を Bluetooth のデバイスとして登録をしておきます。 一度登録しておけばそれぞれの電源を切っても再登録の必要はないと思います。
PC から見たデバイスの名前は,ACRB_READERer / PWR_POINTERer ともに「PRSNTERer 1.n.n」( n は数字) となっています。
ACRB_READERer / PWR_POINTERer 以外の各アプリケーションの PC や M5Stack へのインストールは, それぞれのマニュアルに従ってください。
Orchis Launcher
+ 右クリック → 設定... → ■ 表示方法 → 全般 →
☑ 表示中にそれを表示するキーボード操作を... にチェックマーク
☑「常に表示」状態でも閉じる にチェックマーク
ランチャーを閉じるキーボードショートカットは Ctrl + Alt + Space にしてください。(デフォルト値)
ボタンの名前と画面の説明
はじめに M5Stack Basic のボタンの確認です。
左側面に電源ボタン,上面に左ボタン,中ボタン,右ボタン
正式には M5Stack の上面の3つのボタンに Button A,B,C と名前がついていますが,ここでは簡単のために ,それぞれを「左ボタン」「中ボタン」「右ボタン」と読むことにします。
次に,典型的な画面の表示例です。
画面の表示例。①~⑥の番号を付しました。
① PC との Bluetooth の接続状況です。Disconnect になっていると,各ボタンを押しても何も動作しません。
② バッテリー残量
③ 電源投入時からのカウントアップタイマー
プレゼンテーションを始めるタイミングで M5Stack Basic の電源を ON にすると, 普通に持ち時間の経過表示として使うことができます。
④ 左ボタン,中ボタン,右ボタン を短く(0.3秒以下)押したときの動作
⑤ 左ボタンを PC の Shift キーのように長押ししながら中ボタン,右ボタンを押したときの動作
⑥ 左ボタン,中ボタン,右ボタンを長く押したときの動作
基本の使いかた
以降は ACRB_READERer での説明です。 PWR_POINTERer の場合もだいたい同じです。
プレゼンテーションをスムーズに進めるために,逐一画面を見ないで触感だけでボタンを押すには, 各画面でのボタンの割り当てを覚える必要がありますが,基本, 右ボタンだけ押していれば多くの操作はこと足りる ということを覚えておいてください。
1.M5Stack Basic の電源を入れます。

[ NO ] 左ボタン
ACRB_READERer のトップメニューに移ります。
[ YES ] 右ボタン
Acrobat Reader の操作画面に移ります。プレゼンテーションに使う PDF ファイルがすでに開いている場合, PC の画面表示を自動的に最大化します。
プレゼンテーションに使う(複数の)PDF ファイルは, ACRB_READERer の電源投入前に開いておくことをお勧めします。 よりスムーズにプレゼンテーションを始められます。
2.トップメニューから Acrobat Reader 操作画面へ

[ Ac.Reader ] 右ボタン
プレゼンテーションに使う PDF ファイルを開いたら,このボタンを押してください。 PC での画面表示を自動的に最大化し,Acrobat Reader の操作画面に移ります。
3.Acrobat Reader 操作画面

[ next pdf ] 左ボタン
複数の PDF ファイルを開いているときに,表示させる PDF ファイルを切り替えます。
[ PgUp ] 中ボタン
前のページを表示します。
[ PgDn ] 右ボタン
次のページを表示します。
[ FULLSCREEN ] Shift + 中ボタン
Acrobat Reader の通常表示/全画面表示を切り替えます。
[ NEXT TAB ] Shift + 右ボタン
Acrobat Reader を通常表示させているときにタブを切り替えます。
[ MENU ] 左ボタン長押し
ACRB_READERer のトップメニューに戻ります。
[ BRIGHTNESS ] 中ボタン長押し
ACRB_READERer の画面表示の明るさを 暗い/明るい の二段階で切り替えます。
[ LAUNCHER ] 右ボタン長押し
ランチャーソフト(Orchis launcher)を起動します。PDF ファイルを見せている最中に 動画や静止画ファイルを閲覧するなどができます。 あらかじめランチャーソフトに,挿入する動画や静止画のファイルを登録しておきましょう。
スライドの途中で動画(mp4 等)を見る
ランチャーソフト Orchis Launcher から再生したい動画ファイルを選ぶと,動画ファイルが自動再生されます。 手許の ACRB_READERer の操作画面を,動画再生ソフト Media Player Classic BE(以下 MPC-BE と呼びます) に切り替えます。
1.Acrobat Reader 操作画面から,

[ LAUNCHER ] 右ボタン長押し
Orchis Launcher のメニューが開きます。
2.再生する動画ファイルを選択します。

[ Up ] 左ボタン
Orchis Launcher 上のファイルリストで,選択しているハイライトを上に移動します。
[ Down ] 中ボタン
選択しているハイライトを下に移動します。
[ SELECT ] 右ボタン
ハイライトのあるファイルを開きます。Orchis Launcher は自動的に閉じます。 MPC-BE が正しく設定されていれば,小さなウィンドウで動画の再生が始まります。
[ ESC ] 右ボタン長押し
Orchis Launcher を閉じます。M5Stack Basic の画面は,ランチャーを開く前の状態に戻ります。
3.手許の ACRB_READERer を MPC-BE 操作画面に移します。

Orchis Launcher を閉じた後,ACRB_READERer はトップメニューを表示しているので,
[ MPC-BE ] 中ボタン
を押すと,MPC-BE を制御するモードに移ります。同時に MPC-BE のウィンドウの大きさが最大化されます。 (完全なフルスクリーンではない)
4.あとはいろいろ MPC-BE の操作を。
MPC-BE の操作画面は5ページあります。個々の操作については,画面表示を見て察してください。 各ページで [ next ] 左ボタン を押すと,次のページに移っていきます。





5ページ目で [ Close ] 右ボタン を押すと, PC では MPC-BE のウィンドウが閉じ,動画を呼び出す前の Acrobat Reader のスライドに戻ります。 手許の ACRB_READERer も Acrobat Reader 操作画面に戻ります。
スライド途中で静止画や GIF アニメを見る
ランチャーソフトを呼び出し,そこから静止画,GIF アニメのファイルを開き, ファイルを閉じると元のスライドに戻る,という点では,前述の「動画を見る」と同じです。
1.右ボタン長押しで,ランチャーを開く。
2.ランチャーから表示したいファイルを選択し,[ Select ]。
3.Windows フォトを操作する画面を出します。
ランチャーでファイルを選択した後,ACRB_READERer の画面はトップメニューを表示します。

[ next ] 左ボタン
を1回押すと,メニュー画面の2ページ目に移ります。

ここで
[ Photo ] 中ボタン
を押すと,Windows フォトを操作する画面に移ります。

[ FullScrn ] 中ボタン
写真/GIF アニメをフルスクリーン表示させます。
[ CLOSE ] 右ボタン
写真/GIF アニメファイルを閉じ,元のスライドの表示に戻ります。
PowerPoint を使う
PowerPoint 用のモードも用意してあります。スライド上映中のページ送り/戻し操作はもちろん, ひと通り話が終わった後の質疑応答のときに,ぱっと前のページに戻る操作をしやすくしました。
1.PowerPoint 操作画面の出しかた その1
トップメニュー[ PwrPoint ] SHIFT + 右ボタン を押すと,次のページに移っていきます。

1a.PowerPoint 操作画面の出しかた その2
M5Stack の電源を ON するときに, 「右ボタン」を長押ししながら「電源ボタン」を押す と, ACRB_READERer ではなく PWR_POINTERer が立ち上がります。 最初の質問で NO と答えても YES と答えても,PowerPoint をプレゼンで使う前提のモードになります。


トップメニューから [ PwrPoint ] 右ボタン を押すと,PowerPoint 操作画面に移ります。
2.PowerPoint の編集画面からスライドショーへ
[ START ] 右ボタン を押すと, 最初のページからスライドショーが始まります。
[ Up ] 左ボタン[ Down ] 中ボタン で ページを移動させてから
[ SHOW THIS ] SHIFT + 中ボタン を押すと,
該当のページからスライドショーを始められます。

3.スライドショー中の操作
多くの説明は不要かと。
[ Return ] 左ボタン を押すと,PowerPoint も PWR_POINTERer も編集画面に戻ります。

4.スライドショー終了後の質疑応答中の操作
ひととおり説明が終わってご清聴ありがとうございましたの後, 質疑応答などで前のページに戻ってスライドを見せたい場合があります。 PWR_POINTERer では,編集モードに戻らずにページの一覧を表示させて該当ページを開くことができます。

スライドショー操作画面から [ PAGE LIST ] SHIFT + 中ボタン を押します。
PC の画面ではスライドの一覧が表示されます。
PWR_POINTERer の画面ではスライド一覧上のカーソルを移動させるボタン等が表示されます。

[ Left ] 左ボタン[ Right ] 中ボタン
スライド一覧で,選択するページを選びます。
[ SELECT ] 右ボタン
選択されているスライドのページを PC で表示します。 PWR_POINTERer はスライド操作画面に戻ります。
[ ESC ] SHIFT + 中ボタン
どのページも選択せずに,もとのスライドショーのページに戻ります。
デジタルサイネージ風に表示する
PDF ファイルまたは PowerPoint のファイル中の連続したページ(○○ページから○○ページまで)を 順に一定の時間間隔で自動的に切り替えて表示させることができます。
設定はトップメニューから始めます。

[ D.SIGNAGE ] SHIFT + 中ボタン で設定画面へ。

1. 表示させる PDF ファイルまたは PowerPoint のファイルを開いてください。
2. Acrobat Reader なのか PowerPoint なのかを [ Ac.Reader ] 左ボタン または [ PwrPoint ] 右ボタン で指定してください。

繰り返し表示の最初のページを指定します。
[ PgUp ] 左ボタン または [ PgDn ] 中ボタン を使って該当ページに移動し,
[ ENTER ] 右ボタン で確定させてください。

繰り返し表示の最後のページを指定します。
[ PgUp ] 左ボタン または [ PgDn ] 中ボタン を使って該当ページに移動し,
[ ENTER ] 右ボタン で確定させてください。

1ページあたりの表示時間を指定します。
[ decrease ] 左ボタン または [ increase ] 中ボタン を使って時間を選び,
[ START ] 右ボタン で確定させてください。
デジタルサイネージ風の表示が始まります。
ストップウォッチ機能
トップメニューから [ next ] 左ボタン を3回押して,メニューの4ページ目にストップウォッチ機能への入口があります。

[ stopwatch ] 中ボタン で ストップウォッチに。

[ Start ] 左ボタン, [ Stop/Clear ] 中ボタン
説明略。
[ HIDE STOPWATCH ] SHIFT + 中ボタン
ストップウォッチ表示から,電源 ON からのカウントアップタイマー表示に戻ります。 ストップウォッチが動作中の場合は,裏で動作を続けます。
[ Write ] 右ボタン
PC に 秒単位(1/100 秒精度)でテキストを送ります。Excel や SpreadSheet などの表計算ソフトが開いているときは データを書き込んで次の行(1つ下のセル)にカーソルを移動します。
必ず IME の日本語入力は OFF にしておいてください。 データがずれます。
[ NEXT COL. ] SHIFT + 右ボタン
表計算ソフトの入力カーソルを次の列(1つ右)の一番上の行に移動します。
途中で PC のキーボード等で矢印キーを押したりしていなければ,それまでに入力してきたデータの最初の行に 戻ってくれるはずです。
SD カードで設定する
16 GB 以下の microSD カードを M5Stack Basic に挿すことができます。 あらかじめ設定ファイルを指定フォルダに作っておくことで,以下のものを設定することができます。
- 画面に表示するユーザー名
- PC がスリープモードに入るまでの時間( ACRB_READERer が働いている最中は PC がスリープモードに入らないようにする)
microSD カードのルートディレクトリの下に json フォルダを作り, その中に以下の内容の presenterer.json という名前のファイルを置いてください。
presenterer.json をダウンロード
{
"username": "YOUR NAME",
"sleep": 5
}
YOUR NAME のところに,表示したい名前を入れてください。
"sleep": 5 は PC がスリープモードに入るまでの時間を設定します。単位は「分」。 5 の場合は,ACRB_READERer が5分間何も操作されないときに (正確には30秒短い4分30秒間操作されていないときに) ダミーのキーを押したことにして,PC をスリープさせないようにします。 PC の設定に合わせて適当な数字を指定してください。
"presenterer.json" での指定がない場合(デフォルト値)は5分となっています。 また,"sleep": 0 の場合は,PC のスリープモードを無効化しません。
現在開いているファイルから選択する
Windows では Alt キーを押しながら Tab キーを押すと現在開いているウインドウの一覧が表示できて, 一番上に表示するウインドウを選択することができます。
トップメニューから [ next ] 左ボタン を2回押して,メニューの3ページ目にこの操作への入口があります。

[ Alt+Tab ] 右ボタン を押すと,PC では現在開いているウインドウの一覧が表示され, ACRB_READERer ではウィンドウを選択する操作画面に変わります。

画面が暗いときは
ほとんどの画面から,[ BRIGHTNESS ] 中ボタン長押し で ACRB_READERer の画面を明るい/暗いの切り替えができます。画面が暗いほうが,M5Stack のバッテリーの持ちが良いです。
トップメニューはどこにある?

ほとんどの画面から,[ MENU ] 左ボタン長押し でトップメニューを表示できます。
Bluetooth 接続が安定しないとき
すでにペアリング済みの ACRB_READERer でも,電源を入れてから PC と Bluetooth 接続が確立するまで, 最大10秒程度かかることがあります。 始めは少し気長に待ってください。
LovyanLauncher から ACRB_READERer を起動したとき(原因は不明ですが) Bluetooth の接続が不安定になることがあります。 PC 側の Bluetooth の設定で,ペアリング済みの「PRESENTERer 1.x.x」( x は数字) のデバイスをいったん消去してから,改めて Bruetooth のデバイスとして追加しなおすと,接続が安定します。
ライセンス
[ MIT Licence ]
Copyright (c) 2021 TsuKaPon (@cos_TH)
以下に定める条件に従い,本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」) の複製を取得するすべての人に対し,ソフトウェアを無制限に扱うことを無償で許可します。 これには,ソフトウェアの複製を使用,複写,変更,結合,掲載,頒布,サブライセンス, および/または販売する権利,およびソフトウェアを提供する相手に同じことを許可する権利も 無制限に含まれます。
上記の著作権表示および本許諾表示を,ソフトウェアのすべての複製または重要な部分に記載するものとします。

ソフトウェアは「現状のまま」で,明示であるか暗黙であるかを問わず,何らの保証もなく提供されます。
ここでいう保証とは,商品性,特定の目的への適合性,および権利非侵害についての保証も含みますが, それに限定されるものではありません。 作者または著作権者は,契約行為,不法行為,またはそれ以外であろうと,ソフトウェアに起因または関連し, あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求,損害,その他の義務について 何らの責任も負わないものとします。
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.