macsbug

Just another WordPress.com site

M5Stack-SD-Updater

leave a comment »

Micro SD にアプリを入れ メニューから ロードすると アプリが動作します。 2018.03.12

使用方法:
ボタン: INFO = 名前とサイズ , LOAD = アプリをロード , > = アプリ選択。
M5STACKを起動すると メニューにアプリが表示されます。
> ボタン:アプリを選択します。
LOAD ボタン:選択したアプリをロードして アプリが起動します。
メニューに戻す:電源ボタン+Aボタン -> 電源ボタンを離す -> Aボタンを離す。
INFOボタン:アプリの名前とサイズを表示します。

効果:
M5STACK 1台で複数のアプリの動作が可能になります。
M5STACK へのアプリの書込みは不要になります。
他の M5STACK や 他の人に渡して直ぐ使用する事ができます。
Micro SD に 沢山のアプリを入れて持ち歩く事ができます。

作成者はフランス パリ在住の tobozo 氏です。tobozo 氏 からは
当ブログ Audio Spectrum Display with M5STACK ( 2017.12.31 ) で
ESP32_Spectrum_Display_03.ino」を M5STACK に移植させて頂きました。
この原型となる 「M5Stack-SAM」は Github Tomáš Suchan の tomsuch 氏の作品です。
そして「ArduinoJson」は  Github Benoît Blanchon の bblanchon 氏による 作品です。
tobozo 氏 , tomsuch 氏 , bblanchon 氏 に感謝致します。

YouTube:M5Stack Apps loaded from SD Card


.
準備と手順:tobozo の M5Stack-SD-Updater に 説明があります。
_ memu.bin の作成と アプリを bin タイプにコンパイルし Micro SD に保存します。
_ メニューのアプリ(M5Stack-SD-Menu.ino) を M5STACKへ書き込みます。

Micro SD の用意:
01.  FAT32 Formatの Micro SD を用意します。(通常の市販品です)

Library の DownLoad:
02.  tobozo から M5Stack-SD-Updater を DL します。
03.  M5StackSAM を DL します。
04.  ArduinoJSON を DL します。
05.  上記の3つのフォルダーを Arduino IDE の Library へ入れます。

「menu.bin」を作成:
06.  M5Stack-SD-Updater 内の example 「M5Stack-SD-Menu.ino」を
_ 「コンパイルしたバイナリーを出力」します。
_ 出力先は 「M5Stack-SD-Menu.ino」と 同じ場所に
_ 「M5Stack-SD-Menu.bin」と言う名前で作られます。
_ 

07.  名前「M5Stack-SD-Menu.bin」を 「menu.bin」に変更します。
08.  「menu.bin」を Micro SD に保存します。

アプリをコンパイルし bin を作成:
09. Arduino IDE で 使用する アプリ を用意します。
10. #include <M5Stack.h> の下に #include “M5StackUpdater.h” を追加します。

#include <M5Stack.h>
#include "M5StackUpdater.h" 

11. setup() 内の

M5.begin(); 
Wire.begin(); 

の下に

if(digitalRead(BUTTON_A_PIN) == 0) {
   Serial.println("Will Load menu binary");
   updateFromFS(SD);
   ESP.restart();
}

を追加します。
この定型文は 「M5Stack-SDLoader-Snippet.ino」 に書かれています。
12. アプリを「コンパイルしたバイナリーを出力」で 「xxx.bin」 を出力します。
13. 「xxx.bin」 アプリを Micro SD に保存します。
14. 同様に 必要なアプリを bin にして Micro SD に保存します。

M5Stack-SD-Menu.ino を書き込む:
15. 「M5Stack-SD-Menu.ino」 を M5STACKへ書き込みます。
_  M5STACK は Micro SD 内にあるアプリを表示します。

以上で Micro SD と M5STACKの準備は終了です。


.
表示機能:
リストのアイコンに jpg画像を表示できます。最大200 x 100 です。
jsonファイルを記載します。{“width”:xxx, “height”:yyy}

SD ファイルの最大サイズは 255 の様です。
_ M5Stack-SD-Menu.ino:
_ #define MAX_FILES 255 // this affects memory


.
感想:
M5STACKの発売時から 待ち望んでいた機能が実現し 衝撃的な日となりました。
Micro SD内にアプリを複数保存し 希望のアプリを起動できます。
INFO に メモなどを表示できると便利かと思います。
M5STACKの機能が強化され、再度 tobozo 氏 に感謝致します。

Micro SDへアプリを収集し どの M5STACKでも 即動作する事と Micro SD を
必要な人へ渡す事ができ 簡単に使用する事が出来ます。とても便利になります。
この事から ESP32ボードの設計は SD SLOT の装備が必要条件になります。

アプリの bin タイプが動作する事、setup 内で updateFromFS(SD); と ESP.restart();
でメニューに戻す方法に感心致しました。

メモ:3/12 M5StackUpdater.h 内にバグがありましたが 直ぐ訂正が実施されました。
_ 変更内容:114行目:”menu.bin” -> “/menu.bin”
_  Arduino での SDファイル操作 “/” は不要ですが ESP32 では “/” が必要です。

M5STACK 一口メモ:
スピーカーのノイズを消す方法:
_ 方法:setup() に dacWrite(25, 0); // Speaker OFF // を入れます。
_ 現象:ADC:analogRead() 時に Speaker (GPIO25) からノイズがでます。

画像の方向を正しく表示する方法:
_ 方法:画像横:tft.setRotation(6);
_    画像縦:tft.setRotation(7);
_ 現象:これまでの ILI9341 Library ( TFT_eSPI.h 等 ) を使用すると
_    画像横:tft.setRotation(0); は 画像がが左右反転する。
_    背景:恐らく M5STACK の TFT の配線は従来と異なると思われます。
_     その為に robo8080氏の M5Stack_SokobanfillImage ルーチン
_     作成されたと思われます。
_ 他の画像問題:
_  現象:これまでの ILI9341 Library ( TFT_eSPI.h 等 ) を使用すると
_     画像表示の範囲が 320×240 で表示せず 240×240 程度の範囲にしか
_     表示しません。


 

広告

Written by macsbug

3月 12, 2018 @ 3:00 pm

カテゴリー: ESP32

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

w

%s と連携中

%d人のブロガーが「いいね」をつけました。