おはようございます!!
先日、こちら↓の記事を書かせていただきました。
スマートリモコンの学習キットの「sLab-Remo2」ですね!!
【データ利用③-2編】ということで、いつもと違って難易度が高くてついていけなかった為、2回にわけてプログラムを理解しました。
本日はその3回目で、(ようやく)プログラムを書き込んで動作させてみます!!
・・・あっ!ダメでした(泣)
目次
前々回、前回の内容は・・・
こちら↓に書きました。
2回に分けて、プログラムの中身を理解しただけですね。
正直言って、全て理解したとは言い難いです。いや、ホント難しいです。
sLab-Remo2【データ利用③編】
(前々回と同じなので省略します)
スマホで家電操作(屋内)
(前々回と同じなので省略します)
全体の構成
この図ですね。
- スケッチ部分(オレンジ)
Arduinoのスケッチファイルが2つで、通常のプログラムの書込。
. - Webサーバー部分(緑)
スマホで表示させるファイルが3つで、前回のSPIFFSのアップロードで書込。
今回はこれらのファイルを実際に作成して、転送して、動作させて・・・という流れになります。
その前に、やっておきたいハードのチェック!!
久しぶりのハードウエアになりますので、事前に動作確認しておきました。
まずは、こちらのリモコン(赤外線)受信の実験!!
そして、こちらのリモコン(赤外線)送信の実験!!
これらは真夏は涼しい和室の部屋に疎開しているときにやってましたので、今回は真冬は温かいリビングの環境でやってみました。(※ 和室の部屋は10度以下の環境なので(泣))
ターゲットは、(このブログで何度も出てきている)日立の蛍光灯ですね。
前者のプログラムを使ってボタンのデータを読み込み、それを後者のプログラムの送信データ部分にコピペしてファイル名を変えて保存しました。
これをCPUに書き込んで ・・・ポチ!!は、自動でやってくれるんでした(← 忘れてました)
これで終わりかと思いきや・・・これからなんですね(泣)
ファイルの準備
これまではいきなりIDEの画面に書き込んでましたが、ファイルの数が多いので手元にフォルダを作成し、ここにエディタ(※ 使っているのはこちら)で作成したファイルを入れました。
ただ、メインとなる4_3_remocon.inoだけはWifi設定を自宅のルーターに接続できるよう書き換えました。
ファイルの転送・・・えっ!?どうやるの??
まずは、プログラム本体のオレンジのところですね。
メインは4_3_remocon.inoなので、その名前でスケッチをつくるとして、rRecvSend.inoはどうすればいいのか??
あくまでもフォルダは4_3_remoconなので、(今までのように)それぞれのファイル名で作ると別々のフォルダになるのでダメですね。
コンパイルしてからファイルを移動??・・それもダメそうです。
ググってみたのですが解決策が見つかりません。
上級者には当たり前のことなのでしょうけど、初心者には検討もつきません。
困ったときのrobo8080さんに聞いてみました!!
4_3_remocon フォルダに4_3_remocon.ino, irRecvSend.inoをいれておき、4_3_remocon.inoをビルドするとirRecvSend.inoも自動的にコンパイルされて一つの実行ファイルになります。
おおっ!そんな仕組みなんですね!!(._.) φ メモメモ
・・・では、まず4_3_remoconのスケッチを作る為、先程作ったコードを貼り付け保存しました。
無事終了しました・・・が、メッセージはこれだけです。
残念ながら、どのファイルをコンパイルしたのかまでは表示してくれませんでした。
次は、Webサーバーの緑のところですね。
SPIFFSでの書込なので、SPIFFSデータのアップロード(書込)方法の(5)の手順を実施・・・(ほとんど忘れてました(泣))
まずは、先程のフォルダにdataフォルダをつくって、3つのファイルをポイッ!!
書き込みはArduinoIDEの「ツール」をクリックし「ESP32 Sketch Data Upload」を選択ですね。
これ、いつものようにリセット技が必要なんですね。そりゃそうか・・・
指がかじかんでる状態では堪えます(泣)
・・・はい!無事アップロードできました!!・・・たぶん
ハラハラドキドキ!動作確認!!
ハラハラドキドキですね。
ほとんど準備は終わっているので、本番の4_3_remoconを送り込むだけです。
・・・というか、ここまでの作業では動きは何も変わりませんでした。
(2秒毎に蛍光灯が切り替わってましたので間違いありません。)
これを転送して、初めて今回の動きになるわけですね!!(ドキドキ)
さて、どうなるか・・・あれ?つながらない!!
まとめ
とりあえず、今回わかったことは・・・
- 複数のプログラムを送る時は、メインプログラムのフォルダに入れておけば自動的にメインプログラムと一緒にコンパイルして送ってくれる。
- SPIFFSでファイルを送ると、メインのプログラムとは無関係で別の領域に保存される。
ですね。全てrobo8080さんに教えていただきました(感謝!!)
・・・ということで、申し訳ありません。
【データ利用③-4編】に続かせていただきます。
以上です!!
書き込み方も教えてもらって、これでいける!!・・・と思ったのにダメでした。
おそらく、1ヶ月の放置していたので怠け者の神が憑いてしまったのかと・・・(泣)
(おわり)