ESP32マイコン基板にコンパイルしたバイナリを書き込む

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 バイナリ配布 を参考にしています。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする