Arduino IDEで作成したバイナリをArduino IDEがない環境でESP32基板に書き込む方法。
Windows 10
Windows 10でesptool.exeを使いESPマイコン基板に書き込む。尚、esptool.exeとバッチファイルは書き込むバイナリと一緒に配布する。
同じフォルダ(ここではDesktop)にesptool.exe、バッチファイル(uploadbin.bat)そして書き込むバイナリファイル(ここではLOBDAS.ino.esp32.bin)を置きます。
USBシリアル変換基板をUSBコネクタに挿入し、マイコン基板に接続する。デバイスマネージャでCOMポートを確認する。ここではCOM3とする。
引数にCOMポートとバイナリファイル名(****.ino.esp32.bin)の****を指定してuploadbin.batを実行する。
C:¥Users¥username¥Desktop>uploadbin.bat COM3 LOBDAS
実行結果
C:¥Users¥username¥Desktop>set PORT=COM3 C:¥Users¥username¥Desktop>set APP=LOBDAS C:¥Users¥username¥Desktop>.¥esptool.exe --port COM3 --baud 961600 --chip esp32 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x10000 ./LOBDAS.ino.esp32.bin esptool.py v2.6 Serial port COM3 Connecting........____ Chip is ESP32D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core, Coding Scheme None MAC: 24:0a:c4:0d:ce:3c Uploading stub... Running stub... Stub running... Changing baud rate to 961600 Changed. Configuring flash size... Auto-detected Flash size: 4MB Compressed 237680 bytes to 123316... Wrote 237680 bytes (123316 compressed) at 0x00010000 in 2.4 seconds (effective 795.6 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... C:¥Users¥username¥Desktop>pause 続行するには何かキーを押してください . . .
macOS
macOSではesptool.pyを使う。標準でPhtyon 2.7がインストールされているので、pipでインストールしようとすると
$ pip install pyserial -bash: pip: command not found
となったので、初めにpipをインストールする。
$ sudo easy_install pip $ pip install pyserial
USBシリアル基板をUSBコネクタに挿入し、マイコン基板にシリアル接続してCOMポートを確認する。
$ ls -l /dev/tty.* crw-rw-rw- 1 root wheel 9, 2 4 21 09:19 /dev/tty.Bluetooth-Incoming-Port crw-rw-rw- 1 root wheel 9, 38 5 20 13:20 /dev/tty.SLAB_USBtoUART
マイコン基板に書き込むバイナリファイルとuploadbin.shを同じディレクトリに置き、引数にCOMポートとバイナリファイル名(****.ino.esp32.bin)の****を追加してsh ./uploadbin.shを実行する。
実行結果
$ sh ./uploadbin.sh tty.SLAB_USBtoUART LOBDAS esptool.py v2.6 Serial port /dev/tty.SLAB_USBtoUART Connecting........_ Chip is ESP32D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core, Coding Scheme None MAC: 24:0a:c4:0d:ce:3c Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Configuring flash size... Auto-detected Flash size: 4MB Compressed 237680 bytes to 123316... Wrote 237680 bytes (123316 compressed) at 0x00010000 in 2.2 seconds (effective 861.5 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
Ubuntu 18.04
Linux(Ubuntu 18.04で確認)ではmacOSと同様esptool.pyを使う。macOSの場合を殆ど同じ。
python2.7がインストールされていることとします。
$ sudo apt install python-pip $ pip install pyserial
USBシリアル変換基板をUSB接続して、マイコン基板にシリアル接続する。
シリアルポートの確認をする
$ ls -l /dev/serial/by-id/ 合計 0 lrwxrwxrwx 1 root root 13 5月 21 14:54 usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB0
ttyUSB0の権限を変更する
$ sudo chmod 666 /dev/ttyUSB0
マイコン基板に書き込むバイナリファイルとuploadbin.shを同じディレクトリに置き、引数にCOMポートとバイナリファイル名(****.ino.esp32.bin)の****を追加してsh ./uploadbin.shを実行する。
$ sh ./uploadbin.sh ttyUSB0 LOBDAS
実行結果
esptool.py v2.6 Serial port /dev/ttyUSB0 Connecting........___ Chip is ESP32D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core, Coding Scheme None MAC: 24:0a:c4:0d:ce:3c Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Configuring flash size... Auto-detected Flash size: 4MB Compressed 237680 bytes to 123316... Wrote 237680 bytes (123316 compressed) at 0x00010000 in 2.2 seconds (effective 869.0 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
この記事はesp32 arduino バイナリ配布 を参考にしています。