상세 컨텐츠

본문 제목

update esp8266(esp-01) firmware use to esptool on MacOS

embedded/ESP Module

by ZelKun 2020. 1. 12. 02:50

본문

반응형

esp-01 모듈을 편하게 쓰려고 구입했는데

정작 모듈을 연결해도 반응이 없다..

전용 펌웨어가 따로있나보다


AT 펌웨어 문제로 보이니 펌웨어를 바꿔보기로 했다

참고로 2015년쯤? 국내자료가 많지 않을때 구입해서

이제까지 안써보고 있었다...

 

아두이노를 이용해서 esp01 펌웨어를 업데이트 하려고 했는데 실패...

배선을 잘못 연결한건 아닌듯한데

전혀 반응이 없다..

 

 

https://www.elec-cafe.com/esp8266-esp-01-firmware-update/

참고한 배선은 TX <-> TX, RX <-> RX 로 연결 되있다

따라해보고 안되면 TX/RX 선을 바꿔서 해보시길

 

ESP8266 <-> Arduino UNO / USB-TTL

  • Tx <->  Rx
  • Rx <-> Tx
  • VCC <-> 3.3v
  • GND <-> GND
  • CH_PD <-> 3.3v
  • GPIO0 <-> GND

윈도우에서 실패하고 하던데로 맥에서 다시 진행해봤다

새로 해보는김에 usb-ttl 모듈로 진행했다

아두이노는 5v 출력이라 안되는건가 싶기도...

3.3v 변경하려면 저항같은걸 달아야하는데 심히 귀찮... 3.3v에 연결하면 되긴하다

 

작업을위해 utils 디렉토리를 만들고

esptool 소스를 github에서 받아서 사용했는데

 

카탈리나 업뎃후로 뭔가 꼬였는지 git 명령이 안먹힌다...

무튼 zip 파일로 받아도 된다

GitHub Desktop App 사용해도 된다

 

esptool: https://github.com/espressif/esptool

펌웨어: https://github.com/mlwmlw/esp8266-workshop/tree/master/firmware


Esptool 설치

mkdir utils & cd utils

git clone https://github.com/themadinventor/esptool.git

cd esptool

sudo python setup.py install

admin@admin ~ % mkdir utils

admin@admin ~ % cd utils

admin@admin utils % git clone https://github.com/themadinventor/esptool.git

admin@admin utils % cd esptool

 

admin@admin esptool % ls -al

total 592

drwxrwxr-x@ 19 admin  staff     608  1  6 09:09 .

drwxr-xr-x   5 admin   staff     160  1 11 03:04 ..

drwxrwxr-x@  4 admin  staff     128  1  6 09:09 .github

-rw-rw-r--@  1 admin  staff      87  1  6 09:09 .gitignore

-rw-rw-r--@  1 admin  staff    1865  1  6 09:09 .gitlab-ci.yml

-rw-rw-r--@  1 admin  staff    1529  1  6 09:09 .travis.yml

-rw-rw-r--@  1 admin  staff    2499  1  6 09:09 CONTRIBUTING.md

-rw-rw-r--@  1 admin  staff   18092  1  6 09:09 LICENSE

-rw-rw-r--@  1 admin  staff     276  1  6 09:09 MANIFEST.in

-rw-rw-r--@  1 admin  staff   26812  1  6 09:09 README.md

drwxrwxr-x@ 14 admin  staff     448  1  6 09:09 ecdsa

-rwxr-xr-x@  1 admin  staff   42922  1  6 09:09 espefuse.py

-rwxr-xr-x@  1 admin  staff   22174  1  6 09:09 espsecure.py

-rwxr-xr-x@  1 admin  staff  154332  1  6 09:09 esptool.py

drwxrwxr-x@ 15 admin  staff     480  1  6 09:09 flasher_stub

drwxrwxr-x@  6 admin  staff     192  1  6 09:09 pyaes

-rw-rw-r--@  1 admin  staff     111  1  6 09:09 setup.cfg

-rw-rw-r--@  1 admin  staff    3618  1  6 09:09 setup.py

drwxrwxr-x@ 12 admin  staff     384  1  6 09:09 test

 

admin@admin esptool % sudo python setup.py install

Password:

/usr/local/lib/python2.7/site-packages/setuptools/dist.py:398: UserWarning: Normalizing '2.9-dev' to '2.9.dev0'

  normalized_version,

running install

running bdist_egg

running egg_info

 

 . . .

 

Installed /usr/local/lib/python2.7/site-packages/six-1.13.0-py2.7.egg

Finished processing dependencies for esptool==2.9.dev0

admin@admin esptool % 

설치가 끝나면

USB-TTL 연결하고 포트를 찾아야 한다

 

ls /dev/tty.*

사용하면 2개의 목록이 뜨는데

하나는 블루투스이니 나머지 하나가 해당된다

경우에는 tty.usbmodem14101 으로 보인다

 

참고한 사이트에는 esptool 명령에 속도를 9600으로 햇는데 115200으로 해주니

연결되고 업데이트가 진행되었다

 

sudo python esptool.py --baud 115200 --port /dev/tty.usbserial-1410 write_flash -fm dio 0x00000 ../v0.9.2.2\ AT\ Firmware.bin 

admin@admin esptool % ls /dev/tty.*

/dev/tty.Bluetooth-Incoming-Port /dev/tty.usbmodem14101

admin@admin esptool % sudo python esptool.py --baud 115200 --port /dev/tty.usbserial-1410 write_flash -fm dio 0x00000 ../v0.9.2.2\ AT\ Firmware.bin 

esptool.py v2.9-dev

Serial port /dev/tty.usbserial-1410

Connecting....

Detecting chip type... ESP8266

Chip is ESP8266EX

Features: WiFi

Crystal is 26MHz

MAC: 18:fe:34:f9:42:d5

Uploading stub...

Running stub...

Stub running...

Configuring flash size...

Auto-detected Flash size: 1MB

Flash params set to 0x0220

Compressed 520192 bytes to 134837...

Wrote 520192 bytes (134837 compressed) at 0x00000000 in 13.5 seconds (effective 308.8 kbit/s)...

Hash of data verified.

 

Leaving...

Hard resetting via RTS pin...

admin@admin esptool % 

펌웨어 업데이트 완료


AT Command 테스트

http://www.sharetechnote.com/html/Arduino_WiFi_ESP8266.html

마찬가지로 TX/RX 연결에 주의

 

배선을 바꿔주고 AT Command 테스트를 진행했다

GPIO0 을 제거하고 진행하면된다

아두이노 스케치에 딸린 터미널로 진행해주면 편하다

Both NL & CL 선택하고 9600 으로 맞춰주고

AT-GMR 입력하면 OK 반환해준다

 

 

참고

https://diyprojects.io/esptool-update-of-firmware-nodemcu-esp8266-on-macos/#.Xhi8Ky0681I

https://www.elec-cafe.com/esp8266-esp-01-firmware-update/

http://remotexy.com/en/help/esp8266-firmware-update/

https://www.electrodragon.com/w/ESP8266_AT-Command_firmware

http://www.sharetechnote.com/html/Arduino_WiFi_ESP8266.html

반응형

관련글 더보기

댓글 영역