Zigbee2MQTT 첫 번째, CC2531 플래싱하기

Posted by JiYiNo
2019. 1. 18. 12:30 지이노/ReView & Using






이 전에 SmartThings(이하 ST)의 자동화가 Local로 동작하지 않아 스트레스를 받는 바람에


기존에 ST에 연결 해 두었던 Z-Wave 및 Zigbee(이하 지그비) 장비들을 전부 HomeAssistant(이하 HA)로 옮겼다.


HUSZBZ-1, Zigbee & Z-Wave USB Stick


HomeAssistant(HA)에 Z-Wave(Z웨이브) 추가하기


HomeAssistant(HA)에 Zigbee(지그비) 추가하기


처음에 연결한 뒤 잘 사용하는 줄 알았다.


어느 순간 부터 인가 지그비 장치들이 Offline으로 표기되기 시작했다.


도무지 이해를 할 수가 없더라.


지그비 장치들은 시간이 지나면 연결이 끊겨버리는 큰 문제점을 갖고 있었다.


덕분에 구글 홈으로 명령을 해도 장치를 제어 할 수 없었고


와이프의 불만이 생겨났다.


다른 방도를 찾아야겠다는 생각을 했는데 이미 테스트를 위해 준비한 녀석이 하나 있었다.


Zigbee2MQTT.


기존에 HUSZBZ-1을 이용한 zha는 HA에서 직접 사용하는 지그비 컴포넌트였는데


Zigbee2MQTT는 개별로 지그비장치와 통신하고 MQTT를 통해 HA에 연결해주는 방법을 사용한다.


자주가는 카페( Smartthings Korean's Community )의 eminat 님의 정보에 의하면 샤오미와 궁합이 좋다고 한다.


Zigbee2MQTT가 샤오미를 공식적으로 지원한다고 하고 있기 때문에 연결이 더 좋을 것이라는 정보이다.


바로 준비를 시작했다.






1. 준비물


Zigbee2MQTT에 관련된 상세 정보는 아래 링크에서 참고했다.


https://github.com/Koenkk/zigbee2mqtt


위 페이지를 따르면 몇 가지 준비물이 필요하다.


가장 중요한 것은 지그비 통신용인 CC2531 USB


그리고 이 CC2531을 플래싱 해줄 CC debugger와 Downloader cable


Zigbee2MQTT를 돌려줄 라즈베리파이, 마지막으로 연결할 지그비 장치가 있다.


준비물에 관련된 자료는 페이지에서 발췌한 아래 표를 참고.


NamePricePicture
CC debugger+-10$ on AliExpressCC debugger
CC2531 USB sniffer+-8.50$ on AliExpressCC2531 USB sniffer
Downloader cable CC2531+-2$ on AliExpressDownloader cable CC2531
Supported Zigbee device(s)-Zigbee devices
PC or Raspberry Pi to run bridge-Raspberry Pi

https://koenkk.github.io/zigbee2mqtt/getting_started/what_do_i_need.html 발췌 )


라즈베리파이는 이미 Hass.io가 설치된 녀석이 있기 때문에 그대로 사용하면 될 것이고


지그비 장치는 여러 개 이미 사용 중이고 잠들어 있는 녀석들도 많다.


그러므로 내게 필요한 것은 CC2531, CC debugger, Downloader cable이다.


  

알리 익스프레스에서 저렴한 가격에 구할 수 있으나 배송 속도는 암담하다.


참고로 이 녀석들 작년에 주문한 녀석들이다.


이제 하드웨어적인 준비물이 갖춰졌으니 소프트웨어적인 준비물이 필요하다.


필요한 소프트웨어는 


SmartRF Flash programmer


CC debugger driver


CC2531ZNP-Prod.hex


위의 세 가지를 준비해야 한다.


각각의 소프트웨어는 링크를 걸어두었으니 다운 받으면 된다.


 * SmartRF Flash programmer를 다운 받을 때 주의 사항이 있음.


    링크된 페이지의 V2버전이 아님.


    다운로드 시 회원 가입을 요구함.





2. 소프트웨어 설치


앞에서 다운 받은 3개의 소프트웨어가 무엇인가 하면


SmartRF Flash programmer는 CC2531을 플래싱 하는 프로그램이고


CC debugger driver 는 준비된 CC debugger를 PC에서 인식하기 위한 드라이버 파일이다.


CC2531ZNP-Prod.hex는 CC2531에 플래싱 할 파일이다.


그러므로 처음 설치할 프로그램은 SmartRF Flash programmer이다.


다운 받은 파일의 압축을 해제하고


Setup_SmartRF_Flash_Programmer-1.12.8.exe 라는 파일을 실행한다.


 

 


설치 방법은 매우 간단하고 아무나 설치 할 수 있다.


Next 누르고 I Agree 누르고 설치 위치를 설정한 뒤 Install 버튼을 누르면 설치하고 끝난다.



설치가 완료되면 위와 같은 프로그램이 실행됨을 확인 할 수 있다.


프로그램이 준비되었으니 CC debugger의 드라이버를 설치하도록 한다.


CC debugger를 PC에 연결하고 장치 관리자를 열어본다.


기타 장치에 CC Debugger라는 장치가 연결되었으나 왼쪽을 보면 노란색 느낌표가 표시된 것이 보일 것이다.


이놈이 연결은 되었는데 어떻게 써야 되는지 모르는 놈이라는 뜻이다.


마우스로 오른쪽 클릭을 하여 드라이버 업데이트 버튼을 눌러준다.


 


캡처를 깜박했는데 드라이버 업데이트를 누르면 드라이버 검색 방법을 묻는다.


이미 드라이버 파일을 다운 받았으므로 '컴퓨터에서 드라이버 소프트웨어 검색(R)' 을 클릭한다.


그 다음 화면이 첫 번째 캡처인데 '찾아보기' 버튼을 눌러 다운 받아서 압축을 풀어놓은 경로를 찾아간다.


이름 변경 없이 압축을 풀었다면 압축을 푼 경로에 swrc212a\cabal\win_64bit_x64 라는 경로를 추가적으로 더 들어간다.


내 경우 64비트 윈도우를 사용하고 있으므로 64bit로 적힌 경로를 사용하지만 사용자에 맞는 경로를 찾아가면 된다.


경로를 선택하고 '다음' 버튼을 누르면 드라이버 설치가 완료된다.



드라이버 설치가 완료되면 처음 기타 장치에 있던 CC Debugger가 'Cable controlled devices' 분류로 변경되었다.


정상적으로 드라이버 설치가 완료된 것이다.






3. CC2531 플래싱


모든 준비가 끝났으므로 CC2531을 Zigbee2MQTT용으로 플래싱 하도록 하자.


CC debugger - Downloader cable - CC2531 순서로 연결한다.



각각의 케이블이 크기가 다르므로 잘 못 연결 할 확률은 0%이다.


PC에서 사용해야 할 USB 포트는 총 2개 이다.


미리 2개의 포트를 비워둔다.


CC debugger의 미니 USB 포트에 같이 동봉 되어 온 USB 케이블을 연결해주고 반대쪽은 PC에 연결한다.


CC2531의 USB 부분을 PC에 연결해준다.


모든 연결이 완료되었다.


 


처음 연결하면 CC debugger의 램프가 붉은색으로 표시된다.


아래쪽 (사진 상 위쪽) 'reset' 버튼을 눌러주면 램프의 색이 초록색으로 변하는데


이 상태가 플래싱을 위한 모든 준비가 완료된 것이다.


미리 설치해 둔 SmartRF Flash programmer 를 실행한다.



처음 실행했을 때와 다르게 System-on-Chip 부분에 CC2531이 자동으로 검색된다.


Flash image 부분에 다운 받은 CC2531ZNP-Prod.hex 의 경로를 선택하고


그 외 설정은 위 사진과 동일하게 한 뒤 'Perform actions' 버튼을 클릭한다.



아래 bar가 채워지면 플래싱이 완료된 것이다.






4. 마치며


CC2531의 플래싱을 마치면 라즈베리파이에 연결하여 Zigbee2MQTT를 설치하여야 한다.


이 부분은 다음 포스트에 작성하기로 하고 이번 포스트를 마친다.


기대된다.

이 댓글을 비밀 댓글로
  1. iot 관련은 카페에도 올려주세요 ㅎ
    • ㅎㅎ 요즘 육아로 정신없어서 결말을 못내서요..
      3월에 글 마무리하고 카페에도 글 올릴게요 ㅎㅎ
    • SuSuDaddy
    • 2019.12.27 07:56
    궁금한게있는데 zigbee stick으로 zigbee2mqtt 이용은 안되는건가요? ㅎ
    • 덧글 감사합니다
      아래 링크를 확인하시면 제작자가 CC2531을 사용하라고 명시해두었습니다
      디버깅 된 CC2531을 사용하는 컴포넌트라고 생각하시면 될 것 같습니다

      https://www.zigbee2mqtt.io/getting_started/what_do_i_need.html