맥(Mac)에서 소노프 지그비(Sonoff Zigbee) 업데이트 하기

맥(Mac)에서 소노프 지그비(Sonoff Zigbee) 업데이트 하기

HA에 Zigbee 코디네이터를 달고자 알아보니 카페에서 많이 추천하는 장비가 SonoffZB Dongle-P란 제품이었습니다.

해당 제품을 받으면 최신 펌웨어로 업데이트를 시켜주어야 하는데, 윈도우환경에서는 SmartRF Flash Programmer v2를 다운받아서 업데이트를 해주는데, 맥은 지원하지 않아서 찾은 방법을 소개시켜주고자 합니다.

해당 방법은 다음링크 를 참고하였습니다.

일단 다음 링크로 들어갑니다 그 다음 launchpad_coordinator가 포함된 파일을 클릭해줍니다.

그럼 위와 같은 화면이 나타나는데 이름 확인하고 우측의 다운로드 아이콘을 눌러서 다운로드 해줍니다. (따로 저장 경로를 설정해주지 않았다면 Downloads에 저장이 될 것입니다.)

pip3 install pyserial intelhex

그 다음 맥의 터미널을 열고 아래 명령어를 입력해서 pyserial, intelhex를 설치해줍니다.

(반드시 먼저 파이썬3 버전이 설치되어있어야 하는데 맥은 기본적으로 파이썬이 설치되어 있습니다. 없는 경우 Homebrew를 통해서 파이썬을 설치해줍니다.)

그 다음 아래 명령어를 입력해줍니다. mkdir이런 명령어는 update란 이름의 디렉토리를 만들겠다는 명령입니다. 여기서 update는 임의로 주었으므로 이름을 변경해도 괜찮습니다.

mkdir update

그 다음 위에서 만든 update란 디렉토리로 이동해주겠습니다. 아래 명령을 입력합니다.

cd란 명령어는 터미널내에서 디렉토리간 이동을 위해 사용하는 명령어입니다. 아래 명령어를 입력하면 update란 디렉토리로 이동이 됩니다.

cd update

이번에는 설치를 위한 파일을 다운로드 하도록 하겠습니다. 아래 명령어를 복사하여 붙여넣고 엔터를 눌러서 다운로드 받도록 합니다.

curl -sSL https://github.com/JelmerT/cc2538-bsl/archive/refs/heads/master.tar.gz | tar xz --strip 1

그럼 위와 같이 다운로드 받은 파일들이 보일것입니다.

그 다음 먼저 동글을 맥에 연결해줍니다.

그리고 아래 명령어를 입력해줍니다.

ls /dev/tty* | grep usb

그럼 /dev/tty.usbserial-3130 같이 출력 결과가 나오는데, 여기서 3130은 기기마다 다르기때문에 본인의 기기 ID를 확인합니다.

그 다음은 맨 위에서 받았던 펌웨어를 update로 이동해줍니다.

터미널 상태에서 아래 명령어를 입력하면 파인더가 열리므로 다운로드에 있는 파일을 옮겨줍니다.

open .

저는 파일명이 CC1352P2_CC2652P_launchpad_coordinator_20230507.zip이었습니다.

이동한다음에 zip 압축 파일을 풀명 CC1352P2_CC2652P_launchpad_coordinator_20230507.hex란 이름의 파일이 나타납니다.

그럼 update 디렉토리에 다음과 같이 파일들이 있는걸 확인할 수 있습니다.

그 다음 아래 명령어를 입력해주면 설치가 완료가 됩니다.

python3 cc2538-bsl.py -ewv -p /dev/tty.usbserial-[자신의 USB Serial ID] --bootloader-sonoff-usb ./[설치한 펌웨어 파일명].hex
ex) python3 cc2538-bsl.py -ewv -p /dev/tty.usbserial-3130 --bootloader-sonoff-usb ./CC1352P2_CC2652P_launchpad_coordinator_20220219.hex