ESP-01は2.5cm × 1.5cmの寸法にESP8266チップが搭載された極小ボード。
配送に2〜3週間かかるがAliexpressなら100円ちょっとで買える。
- Aideepen 2個セットESP8266 ESP-01 ESP01シリアルワイヤレスWIFIモジュールトランシーバ(Amazon)
- KKHMF ESP8266 ESP-01 リモート シリアル ポート WiFi トランシーバー ワイヤレス モジュール(Amazon)
- ESP01 Programmer Adapter UART ESP-01 Adaptater ESP8266 CH340G USB to ESP8266 Serial Wireless Wifi Developent Board Module(Aliexpress)
ESP-01ボードは小さいながらMicroPythonが動作する(正確には1MBフラッシュが載っているESP-01Sである必要がある)のだが、PCと接続するためのインタフェース回路が無いため別途外付けで用意する必要がある。今回は、上記Aliexpressのリンクで販売されているESP-01専用プログラマを試してみた。プログラマの価格は本体54円+送料34円と合計でも100円を切る激安、ESP-01ボードとセットで買っても送料込み約200円と格安だ(自分が購入した当時の価格)。
価格はだいぶ違うが、日本のアマゾンにも出品されているようだ(同一品かどうかは未確認)。
専用プログラマのくせに追加配線が必要
さて、商品名に”Programmer”と書いてあるのでてっきりこのままでプログラムの書込みが出来るのかと思いきや、GPIO0とRESETに配線が必要。GPIOをGNDに落とすと書込みモードとなり、オープンにすると実行モードとなる。
上の配線図ではESP-01基板に直に配線している図になっているが、実際にはプログラマの方に配線をした(下の写真)。
トグルスイッチで書込みモードと実行モードを切り替える。
ESP-01を装着しPCに接続した状態。スイッチ類は熱収縮チューブで端子の処理をした。
基板から線が出ているのはイマイチだが、コンパクトだし悪くはないかな。
スイッチで実行モードにしておけば(要するに買ってきたままの状態)、CH340が搭載された普通のUSBシリアルインタフェースとして動作するので、シリアルコンソール経由でMicroPython等が使える。
MicroPythonファームウエアの書き込み手順
このプログラマを使ってESP-01ボードにMicroPythonを書き込む方法は基本的に以前の記事にてWeMos D1ボードで行ったのと同じなのだが、ところどころスイッチ操作が必要になる。手順は以下の通り(Linuxの場合)。
- トグルスイッチを書き込みモード側にする(GPIO 0をGNDに落とす)
- リセットスイッチを押す
- フラッシュの消去コマンドを実行
$ esptool.py --port /dev/ttyUSB0 erase_flash |
- リセットスイッチを押す
- MicroPythonファームウエアを書き込む
$ esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fm dio -ff 20m --flash_size=detect 0 esp8266-20190529-v1.11.bin |
- トグルスイッチを実行モード側にし、リセットスイッチを押す
上記手順が完了すればリセット後フラッシュに書き込んだMicroPythonが起動するので、ホストPCからシリアル接続でMicroPythonのインタープリタを使うなど好きに使う事が出来る。こんなに小さいボードでMicroPythonが動くのはちょっとした感動モノだ。
ただ、プログラムを書き込むのにいちいちスイッチ操作しないといけないのはちょっと面倒くさい。
そこで、次回記事ではESP-01ボードの自動書き込みの回路制作を試みた。
コメント