ファームの取り扱い

最初のファームを吸い出しておくことが必要。まあ戻す必要がなければ不要だと思うけど。結構ここで引っかかってる。それと関連することが周りを取り込み始めた。マイコンで開発するそのものになってきた。やはりラズベリーパイとは違うね。ラズパイは秀逸だ。ラズパイZeroという選択肢もありだ。
しかし、簡単でないからいい。小生の仕事だったことが丸々活きるからね。

●esp32tool
Windowsd10のesptools.exeで行う場合とWindows10に入れたpythonでやる方法があるらしい。調査中。Pythonのツールは以下で導入できた。
$ pip install esptool

引用:いくつかのPythonのインストールでは、これはうまくいかず、エラーがpython -m pip install esptoolうpython -m pip install esptoolまたはpip2 install esptool試してみてください。インストール後、デフォルトのPython実行可能ファイルディレクトリにesptool.pyインストールし、 esptool.pyコマンドで実行する必要があります。

最初のプログラム

●スケッチ
さて、いよいよスケッチでプログラムを実行させることに。あちこち読んでいくとそれなりの簡易ツールなようだ。例題が使えるなど複雑なことをやらせなければ便利に使えるようだ。
本格的にならメーカー専用の開発ツールを使用とある。さっと見ただけだが、おいらの昔のツール使いという感じだな。まあAuduino自体が専門家でなくてもマイコンが扱えるということに特化してるようでc++のクラスとしての実装だろうか、うまくまとまったライブラリを持っている。スケッチはcだろと思ってたが、c++のご利益かと関心!
以下はスケッチのESP32のサンプルコード。

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.println("Hello World.");
  delay(10000); 
}

※ESP32のファームウェアは、ArduinoIDEで開発をすると上書きされてしまうので、ArduinoIDEで開発を行ったあとにATコマンドモードに戻したくなった場合、別の手順を踏む必要があります。

●MicroPython
このところ会社でちょっとしたプロトタイプをPythonで頑張っている。仕事がらGPIBとかSerial(RS232C)。
ESP32とは違うけどIoTはラズパイも当然視野に入っていて、こちらでもI2Cで冶具をc#でプログラムする前ににプロトタイプ用で使用している。ということでESP32もPython環境にしたい。
スケッチでプログラムはこのままでいいらしいが、Pythonでとなるとファームを書き換える必要があるらしい。スケッチ用というか最初のファームを吸い出して後で戻せるようにするとかあるな・・・。

 

開発環境

USBでつなげば電源が開発基板に供給される。5Vから3.3VへはドロッパかDCDCかまだ調べていないけど考えないでもいいようだ。
安い開発用もあるけれど、まずは純正で慣れてからがいい。金額的にもそれほどの痛みはないからね。それよりバッタものでトラブル方が時間がもったいない。
USBはPCに(Window10)つなぐとドライバが自動で入るとあるが、まずは開発環境を構築だ。毎度思うけど結構簡単にこういうのが行った例(ためし)がない。それでもやらねばだ。どきどき感はあるが体に悪いな。これに耐えられなくなったら引退だ。

1.arduinoを入れる
(1)ダウンロード
スケッチは聞いてはいるがアマチュアの開発環境と舐めていたので触ることはなかった。以下寄付と出てくるが取りあえず無しで進む。
https://www.arduino.cc/en/Main/Donate
結構ファイルが大きいようで時間がかかる。モバイルルータだからね。
さて終わったかなとこれを書きながら見て進めている。
ファイルサイズは≒105Mbytesだった。
(2)インストール
 聞いてくるすべて「インストール」で進めて終了だ。Windowsのメニューに追加されている。起動すると以下の画面が表示される。さて次だ!

2.ESP用のツール(ESP-WROOM-32開発ツール)
ライブラリやファイル群を下記gitHubからダウンロードして入れるとある。
https://github.com/espressif/arduino-esp32

そうではなく、開発ツールを起動して以下のように指定する。

これだけでは駄目だ。以下のように追加しないと一覧にESP32が出てこないらしい。定義ファイルのダウンロードがかなりのろのろとしている。ルーターの10G制限に入ったか?待つしかない。全然数字が変わらないな。受信してるか?

結果、ストールしてた。これを停止と思ったがタスクマネージャーでどうするかがWin10では分からない。win7でならいつものことだが。勉強しないと。
仕方ないから再起動して再度ツールを起動した。そして同じようにやったらできた。これがまた同じようにダウンロードが遅い。やっぱWinMaxでなく固定も欲しいな。会社のプロクシを回避するためといPhoneのデータ通信を行うために導入して普段使いは快適だけど、macのOSアップデートなども負荷が大きいから固定は要るな。
閑話休題
ボードマネージャに追加された一覧(結構あるなサードパーティのESP32ボード用まである)から自分の購入したESP32 Dev Moduleを選択して組み入れた。
●USB
電源を入れるためとつなぎということでUSBケーブルを挿し込む。基板のLEDが点灯した・・・。次はなんだ。ボートしてしまう。
思い出した。teratermでつながるとあった。teraを起動してみると、文字化け。これも思い出した。いいぞ!ボーレートを115200すれば。思った通りだ。プロンプト :> が出た。基板左のボタンを押す。確かRESET。一気に以下の表示が出た。続きは明日だな。0時過ぎだ。

●この段階で何か確認する方法は?
スマホでこのモニタにWIFI接続を表示できるとの記事発見。やってみた。
少し感動!!

●最初のプログラム
基本であるスケッチとかのc++とかでプログラムをしてみよう。例題はLEDチカチカと思ったがLEDは会社に持っていってしまった。IDかなんかをターミナルに送るとかあった気がする。検査してみよう。
おお開発環境でVisualStudioを使用するという記事発見。普段はC#で仕事なのでこれはいいね。過去にもc++で便利さ実感してたし。

長くなってきたプログラムについては次回に