1강. iFLine Firmware 이미지 퓨징하기
iFLine에 USB 케이블 연결
제품을 처음 구매한 상태에서는 아래 그림처럼 조립이나 선이 연결되어 있지는 않습니다.
보드와 모터, 바퀴, 배터리, IR센서보드, 초음파센서 등을 조립하고 마지막으로 iFZero 보드를 소켓에 장착을 합니다.
먼저, 프로젝트를 시작하기 전에 아래 그림과 같이 iFLine에 USB 케이블을 연결합니다.
CP210x USB-UART 드라이버 설치하기
두번째는 반드시 시리얼 드라이버를 설치를 해야 합니다. iFZero 기반 제품은 시리얼toUSB 변환을 위해 실리콘랩사의 CP210x 칩셋을 사용하고 있습니다.
CP210x USB-UART 브리지 VCP(가상 COM 포트) 드라이버는 CP210x 제품과의 호스트 통신을 용이하게 하기 위해 가상 COM 포트 장치로 동작하도록 해당 PC에 설치가 필요합니다.
따라서 CP210x 칩 제조사 싸이트의 다운로드 URL에서 자신의 데스크탑 PC에 적당한 드라이버를 찾아 직접 설치를 해 주어야 합니다.
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
Firmware 이미지 퓨징하기
Windows 사용자
다음과 같은 순서로 Firmware 이미지 퓨징하기 위한 절차를 진행합니다.
1. 먼저 검색창에서 PowerShell 을 실행하세요.
2. VSCODE를 설치했으므로 시스템에 C:\Users\user\.platformio\packages\tool-esptoolpy
폴더가 존재합니다.
3. PS C:\Users\user> python3
: python3를 설치할거냐고 묻는 화면이 나옵니다. python을 설치해야 합니다.
4. 설치가 정상적으로 완료가 되고 나서 다시 python을 입력하면 python IDLE이 실행이 됩니다.
python IDLE를 종료하기 위해서는 exit(), Enter 키를 입력해서 명령행으로 나옵니다.
5. PS C:\Users\user> pip install pyserial
: 시리얼 포트로 업로드하기 위해 pyserial을 설치합니다.
6. 이제 Firmware 이미지를 업로드할 준비가 되었습니다.
iFLine 펌웨어 이미지 파일 : iFLine_firmware_20200801.zip
iFBalance 펌웨어 이미지 파일 : iFBalance_firmware_20200801.zip
Firmware 이미지 업로드 ( Windows )
Windows에서는 iFLine 폴더에 펌웨어 이미지 압축파일을 풀고 나서 PowerShell에서 iFLine 폴더로 이동(cd 명령어)한 후 하기 명령어를 복사해서 Enter키를 입력합니다.
python C:\Users\user\.platformio\packages\tool-esptoolpy/esptool.py --chip auto --port COM3 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x8000 ./partitions.bin 0x10000 ./firmware.bin
Firmware 이미지 업로드 ( OSX )
Mac에서는 기본으로 Python이 설치가 되어 있으므로 VSCODE가 설치가 되어 있다면 바로 하기 명령어를 수행할 수 있습니다.
iFLine 폴더에 펌웨어 이미지 압축파일을 풀고 나서 터미널에서 iFLine 폴더로 이동(cd 명령어)한 후 하기 명령어를 복사해서 Enter키를 입력합니다.
% $HOME/.platformio/packages/tool-esptoolpy/esptool.py --chip auto --port "/dev/cu.SLAB_USBtoUART" --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x10000 ./firmware.bin
위의 명령행에서 “$HOME/“는 사용자 이름의 PATH를 표시합니다.
아래는 업로드 결과입니다.
esptool.py v3.0
Serial port /dev/cu.SLAB_USBtoUART
Connecting....
Detecting chip type... ESP32
Chip is ESP32-PICO-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 50:02:91:95:52:44
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 3072 bytes to 128...
Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.0 seconds (effective 3822.6 kbit/s)...
Hash of data verified.
Compressed 780400 bytes to 445714...
Wrote 780400 bytes (445714 compressed) at 0x00010000 in 8.2 seconds (effective 758.8 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...