스마트싱스에서 home assistant로 플랫폼 변경하면서 지그비 네트워크 신뢰성이 정말 좋아지긴 했는데 가끔씩 화장실이나 세탁실 같은 곳에서는 아주 간헐적으로 기기 오프라인이 뜨기도 하고 연결신호도 낮은 편이긴 하다. 신호 리피팅 목적으로 스마트 플러그를 많이 배치하긴 했는데 특히 화장실은 구조상 기기 배치를 천장 위에다 해야 해서 어떻게 배치를 해도 좀처럼 나아지지 않았다. 그래서 보통 코디네이터로 많이 쓰는 sonoff zigbee dongle-p를 router firmware를 올려서 라우터로 사용하기로 했다.
<sonoff zigbee 3.0 USB Dongle Plus-P>
적용해보니까 일반적인 스마트 플러그와 sonoff dongle을 적용했을 때의 차이점은, 지그비 네트워크 지도 관점에서 sonoff dongle이 스마트 플러그 대비 좀 더 넓은 영역의 많은 기기와 연결이 되어 있는 것을 볼 수가 있었다. 즉 커버리지가 넓다는 점이 있을 것 같고, 두 번째로 sonoff dongle의 경우는 신호 출력을 최대 20 dBm까지 매뉴얼로 조정을 할 수가 있었다.
라우터 기능만 필요하다면 가격면에서 스마트 플러그보다는 sonoff dongle에 라우터 펌웨어를 올려 쓰는게 훨씬 싸고 성능도 좋은 걸로 생각이 된다.
펌웨어를 올리는 방법은 몇가지가 있는데, 내 경우에는 dongle을 노트북 USB에 연결했을 때 알려진 방법대로 버튼을 누르고 있어도 부트모드로 진입을 안 해서 결국 파이썬을 이용한 방법을 활용했다.
펌웨어를 올리는 과정은 아래의 동영상을 참고를 했다.
https://youtu.be/4eYnURcDrWw?feature=shared
일단 위의 방법은
1번 파이썬 설치, 2번 dongle을 윈도우 노트북에 연결할 때 바로 인식을 안하기 때문에 이를 위한 드라이버 설치, 3번 dongle의 부트 모드로 진입하기 위해 필요한 부트로더 설치, 4번 플래싱할 펌웨어를 다운 받기, 5번 윈도우 명령 프롬프트에서 몇 가지 명령어를 통해 플래싱 하기 순으로 진행된다.
파이썬 다운로드 : https://www.python.org/downloads/
드라이버 다운로드 : https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
부트로더 다운로드 : https://github.com/JelmerT/cc2538-bsl
코디네이터 펌웨어 다운로드 : https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin
라우터 펌웨어 다운로드 : https://github.com/Koenkk/Z-Stack-firmware/tree/master/router/Z-Stack_3.x.0/bin
※ 24년 1월 기준 최신 펌웨어는 sonoff zigbee donlge의 경우에는 CC1352 P2_CC2652 P_launchpad_coordinator_20230507.zip 혹은 CC1352 P2_CC2652 P_launchpad_router_20221102.zip을 다운로드하였다.
■ 순서
1. 파이썬 설치(다운로드 링크)
2. dongle을 USB 연결 후 드라이버 설치(다운로드 링크)
3. 명령 프롬프트에서 아래 3개의 명령을 차례로 실행
python -m pip install --upgrade pip
pip install wheel pyserial intelhex python-magic
pip install zigpy-znp
4. 윈도우 장치 관리자에서 dongle이 연결된 포트 단자 확인 ex) COM3 or COM5 등등
5. 명령 프롬프트에서 아래 1개의 명령 실행
python -m zigpy_znp.tools.nvram_read COM3 -o nvram_backup.json. // 여기서 COM3는 장치관리자에서 확인한 포트
6. 부트로더 파일(cc2538-bsl-master.zip)을 다운로드하고 압축 풀기(다운로드 링크)
7. 플래싱 할 펌웨어(코디네이터 혹은 라우터 펌. zip) 다운로드하고 압축을 푼 후, 앞에서 압축을 풀었던 부트로더 파일 폴더 안에 옮겨 넣는다.
(펌웨어를 cc2538-bsl-master라는 폴더 안으로 옮긴다.)(다운로드 링크)
8. 명령 프롬프트에서 "cc2538-bsl-master" 디렉터리로 경로를 변경 (ex. C:\Users\xxx\Desktop\Sonoff Dongle\cc2538-bsl-master)
9. 아래의 1개의 명령을 명령 프롬프트에서 실행
python cc2538-bsl.py -p COM3 -e -v -w --bootloader-sonoff-usb cc1352 P2_CC2652 P_lauchpad_coordinator_20220219.hex
// COM3(dongle 연결된 USB포트, 장치 관리자에서 확인한 포트)
// cc1352 P2_CC2652 P_lauchpad_coordinator_20220219.hex <- 플래싱 할 펌웨어 파일명
여기까지 해주면 플래싱 과정이 나타나고 10초 후에 완료된다.
'스마트홈 구축기' 카테고리의 다른 글
[스마트홈 구축기 28] HA(Home Assistant)의 HACS에서 Naver 날씨 설치하기 (0) | 2024.04.06 |
---|---|
[스마트홈 구축기 27] HA 머신을 mini PC(ASUS PN42, N100)로 교체하기 (0) | 2024.02.12 |
[스마트홈 구축기 25] 알리발 USB to RS485 컨버터 고장 및 넥스트 컨버터 제품으로 교체 (0) | 2024.01.01 |
[스마트홈 구축기 24] Home assistant에서 코맥스(commax) wallpad 제어하기 후속 (1) | 2024.01.01 |
[스마트홈 구축기 23] Remote Home-Assistant 설치해서 2대의 HA 머신을 원격으로 제어하기 (1) | 2023.12.23 |