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

Amazonタイムセール祭りなど

おはようございます!!

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

本日はスマートリモコンの学習キット「sLab-Remo2」の【データ利用②編】です!SPIFFS・・・なんじゃそりゃぁ!!

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

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

【データ利用②編】ということで、回路は以前のものそのままで、SPIFFSによるファイル操作を行いました。

・・・で、今回データ利用③-1編】で、スマホで家電操作(屋内)学習しているところです。難易度高かったので2回に分けさせていただきました(泣)

スマートリモコン「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)

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

スマホで家電操作(屋内)

こちらですね。

スマホで家電操作!・・・結構きましたね!!

過去に勉強した内容を使って、自宅内のみで使える赤外線リモコンを作成するんですね。

全体の構成

読み始めて面食らいました!!
これまでの内容から数段上がる内容ですので、ゆっくり理解していきたいと思います。

まず、この図ですね。


あまりフォルダ構成なんて考えていなかったのですが、今回はしっかり把握しておく必要があります。

公式の図にオレンジでグループ分けしました。

  • スケッチ部分(オレンジ)
    Arduinoのスケッチファイルが2つで、通常のプログラムの書込。
    .
  • Webサーバー部分(緑)
    スマホで表示させるファイルが3つで、前回のSPIFFSのアップロードで書込。

まずはプログラムの把握をしないと始まりませんね。

スケッチ部分のプログラム

先程のオレンジのところですね。


はて・・・ino.ファイルってなんでしょうか?
拡張子なんてこれまで気にしてなかったのですが、Arduino-IDEのプログラムファイルだったんですね!!

前回の最後に作った「WebServer2」というスケッチは、こんな感じ↓で保存されていました。

・・・では1つ1つ確認してみます・・・長ぁっ!!

4_3_remocon.ino の内容は・・・

こちらはリモコンのメイン部分のプログラムですね。
長すぎて、初心者には辛いです(泣)


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

内容的には、これまでのWebサーバープログラムを拡張し、ホームページにアクセスされる内容によって、処理を細かく変えています。

後半getRemocon()という関数で、EEPROMに保存されたリモコンデータを読み出してJSONという形式にして返す内容ですね。

・・・あっ、まだもう1つのプログラムがありました。

ぜぇぜぇ

irRecvSend.inoの内容は・・・

こちらは残りの関数ですね。
(※ ファイルのサイズとかライン数とか、何らかの制限があるのかもしれません)

これもフローチャートを作りました。(かなりボロボロですが(泣))
ちょっと長いので4つに分けました。

1つ目setRemocon()ですね!!


こちらはリモコン信号を学習させる関数ですね。

2つ目saveIr()ですね!!
ボタン名をEEPROMへ書き込み、リモコンデータをファイルへ保存します。

3つ目contRemocon ()ですね!!赤外線送信処理です。

4つ目microWait()ですね!!・・・これは過去にも出てきた時間待ちの関数ですね。

疲れました・・・

Webサーバー部分のプログラム

先程のグリーンのところですね。Webブラウザで表示される部分です。


先程のsaveIr()のところでも出てきましたし、しっかり動きを把握しておいた方が良いのですが・・・今回は端折らせていただきます。

まとめ

申し訳ありません。かなり長かったので【データ利用③-2編】に続かせていただきます。

・・・ちょっとやばくなってきました。
年内完成は無理かも(泣)

以上です!!

正直に言います。
あまりhtmlもjavaScriptも理解していません。
それを言うと、ここまでのC++(だそうです。今日知りました(汗))も適当です。

・・・でも、今後の為には理解しておいた方がいいのでしょうか?
ちょっと考えます。

(おわり)

Amazonタイムセール等

人気ブログランキング

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

人気ブログランキング

ブログ村

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

シェアする

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

フォローする