全機種:スマートリモコンの学習キット「sLab-Remo2」【データ利用②編】

Google Home及び互換機ユーザーの方へ

おはようございます!!

先日、こちら↓の記事を書かせていただきました。

本日はスマートリモコンの学習キット「sLab-Remo2」の【データ利用①編】です!CPU内蔵のEE-PROMメモリを読み書きします!!

スマートリモコンの学習キット「sLab-Remo2」ですね!!

キット構成
ArduinoIDE ESP32と書込
スケッチ書込
ライブラリ等 実習①Lチカ
実習②照度センサ 実習③温湿度センサ 実習④人感センサ
実習⑤赤外線
リモコン受信
実習⑥赤外線
リモコン送信
実習⑦
超音波センサ
実習⑧赤外線
障害物センサ
Wifi利用①
Wifi無線接続
Wifi利用②
Webサーバ機能
Wifi利用③スマホ
でLEDを制御
データ利用①EE-
PROMデータ利用

【データ利用①編】ということで、回路は以前のものそのままで、EE-PROMの読み書きまで行いました。

・・・で、今回データ利用②編】で、SPIFFSによるファイル操作学習しました!!

スマートリモコン「sLab-Remo2」(エスラボリモ2)【Scratch・Arduino対応】環境センサ・カメラ付《IoT電子工作・AI学習・プログラミング》

こちらです!


詳しい話は以前の記事↓へ!!

本日はスマートリモコンの学習キット「sLab-Remo2」の紹介と【じっくり見てみた編】です!

4,290円でこれだけ遊べたら安いものです。(・・・と奧さんに言われています)

ちなみに、本キットの心臓部ESP32-DevKitCですが、Amazonさん1,500円ぐらいで普通に買えますね。


Espressif社純正 ESP-WROOM-32D開発ボード ESP32-DevKitC-32D

壊してしまったら一大事!と思ってましたが・・・昼ごはん1回我慢すれば買えます(泣)

昼ご飯は1コイン以下ちゃうのん? 見栄はったらあかんよ!!

では、スタートします。

sLab-Remo2【データ利用②編】

公式メニューデータ利用に入ります!(こちら


そろそろ中盤でしょうか?今回は データ利用を学習するわけですね!!

ESP32-DevKitC(ESP-WROOM-32)は4MByteのフラッシュメモリを実装しており、このフラッシュメモリを活用してデータを保存する方法が以下の2つあります。

(1)EEPROM(Electrically Erasable Programmable Read-Only Memory)
(2)SPIFFS (SPI Flash File System)

どちらかと言えば、パソコンやスマホにも使われている部品中身の話になってきましたね。

SPIFFSによるファイル操作

こちらですね。

SPIFFSってなんでしたっけ??Wiki・・・は無いですね。こじ研さんが詳しかったです。


ファイルシステムというとWindowsのFAT32とかNTFSみたいなものですね。SPIというと3線または4線式のデータ通信ですね。
もうちょっと読ませていただきます。


ESP32の内部構造の話ですね。

内部メモリー4MBのうちの1MBがスケッチ領域で、
残り3MBが今回のSPIFFSで扱う部分ですね。

スケッチ領域(1MB)にプログラムを書き込むには,従来どおり,prog スイッチを押しながら ESP をリセットし,Arduino IDE の Upload ボタンを押すだけです.一方,ファイルシステム領域にファイルをアップロードするには「ファイルアップローダ (ESP8266 Sketch Data Upload)」というプラグイン機能をインストール・利用することが必要です.

あ~っ!!思い出しました!!この記事↓の時にインストールしてましたね!!

本日はスマートリモコンの学習キット「sLab-Remo2」の【事前準備④編】です!ライブラリ及びSPIFFSなどで、これで事前準備終了です!!

・・・まぁ、やればなんとかなるでしょう!!(※ 一応A型です)

SPIFFSによるファイル操作1

ESP32-DevKitC(ESP-WROOM-32)には4MByteのフラッシュメモリが内蔵されていてSPIで接続されています。このフラッシュメモリをファイルシステムとしてストレージのように利用する事ができます。この機能をSPIFFS (SPI Flash File System)といいます。

これは上で予習してきました!(笑)

SPIFFSは数MByteまで利用できますので、ファイルなどの比較的大きなデータでも保存できます。ESP32-DevKitC(ESP-WROOM-32)の場合はEEPROMもSPIFFSもフラッシュメモリに保存されますが、設定値など小さなデータはEEPROMを利用する方が扱いやすいため用途によって使い分けて利用します。

フラッシュメモリ上に

  • EEPROM 1MB
  • SPIFFS     3MB

・・・の、2つの領域があるってことですね。


(書いていませんが)回路は前回と同じですね。

前回同様、上側だけで十分なのですが、配線が切れてないかチェックだけしてそのまま使いました。

スケッチ(制御ソフトウェア)

Arduino IDEの登場です!!
これでプログラミングしないと回路が動かないわけですね。

スケッチを作成!!

今回前回作ったArduinoフォルダの中のsLab-Remo2フォルダEEPROM_TestSPIFFS_Test名前をつけて保存しました。(※ 手順の画像はこれまでと同様なので端折ります)
今回はソースコードも新規なのでそのまま貼りました!!

スケッチの中身

今回も丁寧に解説してありますね。・・・読んだだけではサッパリよくわかりません(泣)

とりあえずフローチャートにしてみました。
(※ プログラムと解説を見比べながら、Webツール(こちら)を使って作りました。)

書き込んでから、読み出してるだけですね。
ホントに読み書きできているかはよくわかりません(エラーがでるとか、表示されるとか)が、とりあえずOKです。

ハラハラドキドキ!動作確認!!

ハラハラドキドキです。

ボードUSBケーブルを繋いでノートパソコンに接続、そして、プログラムを開きました。ボードへの書込は、忘れずにこの技↓ですね!!(※ 該当の部分に飛びます)
(※ 後半の「書き始めるまでBOOTボタン押しっぱなし技」です。)

本日はスマートリモコンの学習キット「sLab-Remo2」の【事前準備③編】です!Arduino IDEの検証と書き込み実習ですね。

今回も1回でうまくいきました!

・・・で、やってみました!!


あれ?何かズレてますね。
起動時に前回のが実行されて、その後書込の影響?でトウフが多数の後に、今回の結果が表示されています。

ちょっと気持ち悪いので・・・リセットして再実行!!

はい!ちゃんと出ました!!

※ sLabダンサーズ(仮称)

・・・いつもなら、これで終わりなのですが、もう1つありました。(泣)

SPIFFSによるファイル操作2

事前に作成したHTMLファイルをSPIFFSデータとしてESP32-DevKitC(ESP-WROOM-32)に保存しWebサーバで利用する方法を紹介します。

HTMLファイルというと、ブラウザで表示させるのに使っていたものですね。

3-2.Webサーバ機能ではテキストデータをプログラムに記載し端末へ送信していましたが、今回は保存されたHTMLファイルをWebサーバが送信するように変更します。
SPIFFSデータとしてESP32-DevKitC(ESP-WROOM-32)に保存するためには、SPIFFSデータアップローダーが必要となりますのでインストール方法を以下に説明します。

ふむふむ・・・今回はSPIFFで書込するんですね。

SPIFFSデータアップローダーをインストール

確認したところ、以前やったことと同じ(=インストール済み)でしたので端折りました。

本日はスマートリモコンの学習キット「sLab-Remo2」の【事前準備④編】です!ライブラリ及びSPIFFSなどで、これで事前準備終了です!!

バージョンも、「ESP32FS-1.0.zip」が最新のままでした。

SPIFFSデータのアップロード(書き込み)方法

まずはhtmlファイルを作らなければ!!
ちょっと7行目のテキストだけ変更しました(笑)


そして、このデータをArduino-IDEにセット・・

dataフォルダを作って・・・htmlファイルを放り込みます!・・・ポイッ!!

これで準備ができましたので、書き込みます!!


あれ?失敗しました。
どうやら、いつものリセット技を使わないとダメみたいですね。

もう1度!・・・はい、OKです!!

スケッチ(制御ソフトウェア)

Arduino IDEは開いたままですね。
またここからやり直しか・・・(泣)

スケッチを作成!!

以前作ったArduinoフォルダの中のsLab-Remo2フォルダWeb_ServerWeb_Server2名前をつけて保存しました。(※ 手順の画像はこれまでと同様なので端折ります)


・・・で、ここから改造ですね(泣)

まずは、コメント追加して、ライブラリ読み込みを追加!


次はsetup()の中の2箇所の追加と変更ですね。


後者は旧⑬を今回の⑭へ入れ替えですね。

そして、最後に、sendHtml()部分をloop()の手前に配置しました。


今回はかなり変更したので、コンパイルだけしておきました。


ハードの時もそうですが、ソフトの時もドキドキしますね。

スケッチの中身

前回のフローチャート変更してみました。
(※ プログラムと解説を見比べながら、Webツール(こちら)を使って作りました。)

※ フローチャートの作法はムチャクチャやけん、わかればよかばってんくさ~(福岡弁?

黄色い部分が変更点ですね。
HTMLファイルの表示時に、追加した関数SendHtml()に丸投げしています。

こんな感じでやれば、SPIFFSでデータを読み出して、HTMLでブラウザに表示できるということがわかりました。

実際は・・・

ハラハラドキドキ!動作確認!!

ボードUSBケーブルを繋いでノートパソコンに接続、そして、プログラムを開きました。書込は忘れずにこの技↓ですね!!(※ 該当の部分に飛びます)
(※ 後半の「書き始めるまでBOOTボタン押しっぱなし技」です。)

本日はスマートリモコンの学習キット「sLab-Remo2」の【事前準備③編】です!Arduino IDEの検証と書き込み実習ですね。

撮り忘れたので上のと同じ~♪

今回も1回でうまくいきました!

・・・あと、我が家はWifiルーターMACアドレスフィルタリングONにしているので、今回も暫定でOFFにしました。(※ 登録数オーバーしてるんです(泣))


・・・で、やってみました!!


はい!ちゃんと表示されました!!

※ sLabダンサーズ2(仮称)・・・って、NizuUが4人だけ??

もしSPIFFSで書き込んだものでないなら「Hello World」のままなので、ちゃんと書き込んだhtmlファイルを読み込んでくれてるんですね!!

ちょっと早くね?

まとめ

今回は2回分あって疲れました・・・と言っても、最初の頃のようにハードが無い分、楽ですけどね。

次回【データ利用③】スマホで家電操作(屋内)ですね!

かなり近づいてきましたね!!
このペースなら年内に完成する!!・・・はず(汗)

以上です!!

もう無理しません。
なんとか、制限時間完走を目指します!!

(おわり)

人気ブログランキング

↓ この記事よかったよ!!という方はクリックお願いいたします。

人気ブログランキング

ブログ村

↓ この記事よかったよ!!という方はクリックお願いいたします。
ブログランキング・にほんブログ村へ
にほんブログ村

シェアする

  • このエントリーをはてなブックマークに追加

フォローする