Zigbee Gateway 장치를 만들기 위해 다양한 장치들에서 오는 패킷을 캡쳐해서 분석할 필요가 있다. 저렴한 Zigbee 스니퍼 장치를 이용하기 위해 CC2531 동글을 많이 사용한다고 한다.
CC2531 동글을 이용하여 sniff 장치를 만들어 보자
캡쳐 도구로 ZBOSS(https://dsr-iot.com/files-info/zboss-sniffer/)을 이용하고 분석은 Wireshark를 사용하면 된다.
CC2531 동글은 ZBOSS 에서 제공하는 펌웨어를 다운로드 해야 하므로 CCLoader 장치가 필요하다.
TI의 정식 Loader를 사용하거나 없다면 Arduino 로 만들 수 있다.
CCLoader 만들기
우선 https://github.com/RedBearLab/CCLoader 에서 받은 CCLoader.ino 파일을 이용하여 남는 Aduino 보드에 다운로드 한다. Arduino는 아무거나 사용해도 되지만 ESP32C63 SSM 보드가 많기 때문에 ESP32C6를 사용했다. JTAG 핀맵은 보드에 맞게 수정해 주면 된다.
sniffer 펌웨어 다운로드
ZBOSS 에서 다운 받은 파일에 CC2531 펌웨어를 zbos_sniffer.hex 형태로 제공한다.
HEX파일을 BIN파일로 변경해야 하는데 HEX파일에서 특정 영역을 제거해야 하므로 objcopy.exe 프로그램으로 변환하면 된다.
objcopy.exe 파일은 https://sourceforge.net/projects/mingw/ 에서 다운받아 설치하면 C:\MinGW\bin 에서 찾을 수 있다.
objcopy.exe --gap-fill 0xFF --pad-to 0x040000 -I ihex zbos_sniffer.hex -O binary zbos_sniffer.bin
CCLoader사이트에서 다운받은 CCLoader_x86_64.exe 프로그램으로 zbos_sniffer.bin 파일을 다운로드 한다.
ESP32C6 SSM 보드로 제작한 스니퍼 장치의 시리얼 포트 번호를 확인해서 기입한다. 여기서는 포트3이다.
CCLoader_x86_64.exe 3 zbos_sniffer.bin 0
펌웨어 다운로드 하면 30초~1분정도 걸려서 펌웨어를다운로드 하게 된다.
CC2531 동글보드에 펌웨어가 정상적으로 다운로드되면 녹색 LED가 점등되고 시리얼 장치로 인식되는 것을 확인 할 수 있다.
zboss_sniffer.exe 프로그램을 실행하면 TI CC25xx 장치라 인식되면 Zigbee sniffer 가 정상 동작하는 것이다.