おはようございます!!
先日、こちら↓の記事を書かせていただきました。
スマートリモコンの学習キットの「sLab-Remo2」ですね!!
【事前準備③編】ということでESP32-DevKitCへのスケッチの書込練習を行いました。
私の環境ではうまくいかない現象があったものの、なんとか裏技で攻略できました!!
(Alexaの開発環境もそうでしたが、WindowsよりMacの方が問題少ないんですね。)
・・・で、事前準備ばかり続きますが、しっかり基礎を固めたいと思います。
梅雨時は基礎工事は避けた方が・・・
今回は【事前準備④編】ということで、続きの内容を書かせていただきます!!
目次
スマートリモコン「sLab-Remo2」(エスラボリモ2)【Scratch・Arduino対応】環境センサ・カメラ付《IoT電子工作・AI学習・プログラミング》
こちらです!
今は普通に在庫ありですね~
ちなみに、本キットの心臓部ESP32-DevKitCですが、Amazonさんで1,500円ぐらいで普通に買えますね。
Espressif社純正 ESP-WROOM-32D開発ボード ESP32-DevKitC-32D
壊してしまったら一大事!と思ってましたが・・・昼ごはん1回我慢すれば買えます(泣)
では、スタートします。
sLab-Remo2【事前準備④編】
事前準備が続きますが、今回はライブラリ及びSPIFFS《Remo2》ですね。
あと、もう1つ。その下にスケッチダウンロードがありますが、これはリンクをクリックすればいきなりダウンロードが始まるだけなので一緒にやってしまいます。
この2つが終われば、ようやく事前準備が終わりですね!!
ライブラリ及びSPIFFS《Remo2》
こちらですね。
大きく2つあるようですので、順番にやってみます。
ライブラリのインストール
ライブラリというのは、あらかじめ作られた共通で使えるプログラムみたいなイメージでしょうか? メインは各人が作るとしても、同じハードやソフトを扱うところは共通で作っておけばみんなラクチン!って感じですね。
・・・あっ、公式ページで説明されてました(汗)
ライブラリとは新たに追加する特定機能をまとめたソフトウェアとなります。インストールすることで追加した機能を利用することができます。
更に・・・
Webサーバなど各機能には多くのライブラリがありますが、機能面と動作時の安定性がもっとも良いと思われるライブラリを選定しています。
これは嬉しいですね!!
手作りカレーを作るには、一般のカレールーを使うよりも○印良品のカレーキットを買ってくる方がスパイスなどしっかり作り込まれててメッチャ美味しい!!・・・みたいなものです。
(※ 昼ご飯前の空腹時に書いているのでお許してください)
・・・で、Arduino IDEにインストールするのは、次の6種類です!!
- DHT11温湿度センサのライブラリ
- Beebotte接続用のMQTTライブラリ
- Beebotte受信データ解析用にJSONデータ解析ライブラリ
- ESPAsyncWebServerライブラリ【Webサーバ機能】
- OV7670-ESP32ライブラリ【カメラ用】
- arduinoWebSocketsライブラリ【WebSocket(カメラ映像通信)用】
専門用語だらけでサッパリわかりませんが、温湿度センサーやカメラなどワクワクする言葉が含まれてますね!!
とりあえず最初の温湿度センサーのところを見てみると・・・これはわかりやすい!!
DHT11温湿度センサのライブラリ
Arduino IDEを立ち上げて・・・
[スケッチ]-[ライブラリをインクルード]-[ライブラリを管理]-[dht]ですね。
その結果から「DHT sensor library by Adafruit」を探すと・・・
※ 候補として出てきた中から、対象のものを上に上げて画面コピーしています。
おおっ!入った入った!!(← 単純)
ちなみにバージョンは1.3.10に上がってましたね。
Beebotte接続用のMQTTライブラリ
これでも同様ですね。
[スケッチ]-[ライブラリをインクルード]-[ライブラリを管理]-[pussub]ですね。
その結果から「PubSubClient by Nick O’Leary」を探すと・・・
(※ 結果だけ貼ります)
ちなみにバージョンは2.8.0でした。
これで2つ・・・あと4つ・・・
Beebotte受信データ解析用にJSONデータ解析ライブラリ
これでも同様ですね・・・あっ!こちらはバージョンは指定された古いのを入れるんですね。
[スケッチ]-[ライブラリをインクルード]-[ライブラリを管理]-[json]ですね。
その結果から「ArduinoJson by Benolt Blanchon」を探し、バージョンを[5.13.5]に戻してインストールと・・・
バージョンは5.13.5でした・・・当たり前ですね!!
ちなみに、バージョン切替の画面コピー撮っていたら選択してても最新に戻っちゃうんですよね。ホント!焦る焦る・・・どうでもいい話でした。
ESPAsyncWebServerライブラリ【Webサーバ機能】
ここからはちょっと手順が違いますね。
ESPAsyncWebServerとAsyncTCPの2つのサイトからファイルを落としてきます。
まずは、ESPAsyncWebServerです・・・あ、かの有名なGitHubですね。
これを「スケッチブックの保存場所」の「librariesフォルダ」に入れるのですが、場所はArduino IDEで確認ですね。
私の場合「C:\Users\(私のログインID)\Documents\Arduino」でした。
この下の「librariesフォルダ」に入れればOkですね。
ここでちょっと面倒な話ですが、日本語環境ではこのように変換されて表示されるんです。
[Users]→[ユーザー]、[Documents]→[マイドキュメント]に名前を置き換えてフォルダを探さないと見つからないので注意です。
では、先程の2つのフォルダを放り込みます!!
OV7670-ESP32ライブラリ【カメラ用】
次は、上のと同じ手順ですね・・・あっ!解凍したフォルダを開いて「OV7670-ESP32」だけをライブラリに入れるんですね。
まず、OV7670-ESP32からOV7670-ESP32-master.zipというファイルを落としてきます。
README.mdは無視して、これだけをArduino IDEのlibrariesフォルダに入れます!!
arduinoWebSocketsライブラリ【WebSocket(カメラ映像通信)用】
2つ上のと同じ手順ですね。
まず、arduinoWebSocketsからarduinoWebSockets-master.zipというファイルを落としてきます。
そのままArduino IDEのlibrariesフォルダに入れるんですね!!
はい、これで6つのライブラリのインストールが終わりました。
長い道のりでした・・・え?まだSPIFFS利用準備が??
SPIFFS利用準備
SPIFFって何でしょう??こんな説明が書かれています。
SPIFFSはリモコン信号を保存するために利用します。そのため、SPIFFSを利用可能な状態にする必要がありますので以下の通り作業を実施してください。
ちょっと何言ってるかわからない((C)サンドイッチマン)のでググってみましたら、Qiitaというサイトにありました。
SPIFFSの機能を使うと、ESP32のフラッシュメモリの一部をストレージとして使うことができます。
ああ!ESP32内部のメモリーをデータの記憶媒体として使えるようにするって感じですね。
そこにリモコン信号のデータを書き込んでおけば、電源切っても忘れないわけですね。
プログラムの領域とは別にデータの領域を確保する感じでしょうか?
また調べておきます。
では、公式ページを読みながら進めます!
SPIFFSデータアップローダーをインストール
こちらのページを開いて、release pageへのリンクを開いて、書かれている最新ファイルを落とすんですね。
今のところ、公式ページの説明と同じESP32FS-1.0.zipが落とせました。
(※ 今後バージョンアップする可能性があります)
・・・えっ!今度は[Tools]フォルダを作らないといけないんですか!!
上の階層に上がって
Toolsフォルダを作ります。
フォルダを開いて、解凍したフォルダを移します。
ここまでで、フォルダの関係を再確認ですね。
esp32fs.jarが入っているフォルダは・・・
C:\Users\(私のログインID)\Documents\Arduino\tools\ESP32FS\tool\esp32fs.jar
・・・はい、大丈夫ですね!!
SPIFFSデータのアップロード(書き込み)方法
作成したデータの書き込みですね・・・あっ!試し書きですね。
セッティングした後にやってみます!!
公式のと表示がちょっと違いますが、同じ意味ですね。
もちろん、データが無いけど書き込みます!!
あれ?失敗してしまいました・・・そうそう!!この技↓を忘れてました!!
(※ 後半の「書き始めるまでBOOTボタン押しっぱなし技」です。)
どうなるか・・・
スケッチダウンロード
こちらから落とすだけですね。
こちらにサンプルスケッチが入っているので、解凍して見ておきます!!
うわぁ・・・たくさん入ってますね。
まとめ
今回は覚悟してました・・・しててもキツイです(泣)
まとめます!!
- ライブラリのインストール方法は2種類あるので注意!!
ライブラリマネージャを使う方法と、スケッチ作成フォルダの下のライブラリフォルダに解凍したフォルダを自分で入れる方法ですね。
前者はバージョン違いに注意、後者は入れる内容に注意でした!
. - SPIFFSデータアップローダーのインストールはフォルダ構成に注意!!
ライブラリの方はフォルダが作られてましたけど、こちらは作らないといけないんですね。間違ってライブラリフォルダに入れるとアウトです。
. - SPIFFSデータのアップロードは、環境によっては
スケッチのアップロードと同様に裏技が必要!!
よく考えれば当たり前かもしれませんが、失敗事例を確認しておきたかったので試しにやってみました(笑)
. - サンプルスケッチはたくさん!!
ありがたいことなのですが、夏休みの宿題のページ数を見た気分ですね(泣)
とりあえず、これで事前準備編は終わりです。
振り返ると、面倒で手間ばかりでしたが、いろいろ勉強になりました。
次回は・・・電子部品利用・・・って、何するんでしょうね?(泣)
続きの記事はこちら↓です!
以上です!!
今回はこちら↓の記事でお世話になったrobo8080さんにいろいろ教えていただきました。
ググってもわからないことって、ホントに多いです。
世の中頭の良い人ばかりじゃありません。私のような私のような・・・(泣)
今後ともお世話になります(ペコリ)
(おわり)