micropython : esp32 使い方 #1 Lチカ

python

開発環境

reference

Arch linux

windows 10 WSL2 インストール方法

arch linux の導入方法

Install esptool

reference

mkdir micropython

cd micropython

ダウンロード ファームウェア

必ず現在の階層にダウンロード

sudo pacman -S esptool

sudo esptool.py flash_id

esptool.py v3.0
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:9d:51:1c
Uploading stub...
Running stub...
Stub running...
Manufacturer: 20
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...

serial poat /dev/ttyUSB0

/dev/ttyUSB0 の部分を確認

sudo esptool.py --port /dev/tty??????? erase_flash

自分の開発環境では /dev/ttyUSB0 なので

sudo esptool.py --port /dev/ttyUSB0 erase_flash

esptool.py v3.0
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:9d:51:1c
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 8.5s
Hard resetting via RTS pin...

sudo esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 esp32-idf3-20210202-v1.14.bin

esptool.py v3.0
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:9d:51:1c
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 1445632 bytes to 925476...
Wrote 1445632 bytes (925476 compressed) at 0x00001000 in 82.2 seconds (effective 140.8 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

REPL 接続

sudo pacman -S picocom

sudo picocom /dev/ttyUSB0 -b115200

Exit picocom

Ctrl + a 次に、Ctrl + x

add main.py in ESP32

yay -S adafruit-ampy

sudo ampy -p /dev/ttyUSB0 get boot.py

マイコンの中に入っている boot.py の中身を出力

# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
import webrepl
webrepl.start()

Lチカ してみる

touch main.py

micro main.py

import machine
import time

pin13 = machine.Pin(13, machine.Pin.OUT)

while True:
  pin13.on()
  time.sleep_ms(500)
  pin13.off()
  time.sleep_ms(500)

sudo ampy -p /dev/ttyUSB0 put main.py

main.py を マイコンへアップロード

ampy チートシート

sudo ampy -p /dev/ttyUSB0 ls

リスト表示

sudo ampy -p /dev/ttyUSB0 get ??????

?????? の中身を出力

sudo ampy -p /dev/ttyUSB0 put ??????

?????? を アップロード

sudo ampy -p /dev/ttyUSB0 rm ??????

?????? を削除

基盤回路図

key

ESP32/io13 → LEDアノード(+, 足が長い) --| LEDカソード(-、足が短い) → 470オーム抵抗 → ESP32/GND

key

参考画像

マイコン Boot or Reset スイッチを押して実行

参考動画 twitter

LEDが点滅したら成功

thank you

最後までご覧いただきありがとうございました。参考になれば幸いです

いつも助けてくださってありがとうございます

amazon ギフト券 投げ銭リンク

これからもお役に立てる情報を更新します。皆さんのお助けに飛び跳ねて喜びます。ありがとうございます。