ESPRESSIF (104) 썸네일형 리스트형 [ESP32C6 SSM] Zigbee 온습도 장치(SHT20) 제작 및 슬립모드 구현 Zigbee 온도 센서 장치 제작 코드를 이용해서 온습도센서 SHT20의 온습도 데이터를 전송할 수 있는 Zigbee ED 장치를 만들어 보자.이번에는 상용품에서 사용될 수 있도록 평소에는 슬립모드로 전류소모를 줄이다 특정 시간마다 깨어나서 온습도 정보를 전송할 수 있도록 할 예정이다. 온습도 센서는 SHT20 이 실장되어 있는 I2C 온습도 모듈을 이용 하였다. 슬립모드 테스트 예제는 ESP32C6 Deep Sleep Mode Test 예제를 사용하였다. #ifndef ZIGBEE_MODE_ED#error "Zigbee end device mode is not selected in Tools->Zigbee mode"#endif#include "Zigbee.h" // ESP Zigbee 라이브.. [ESP32C6 xBee] Zigbee Gateway 제작 - 온도 센서 ZB End Device 붙이기 Adruino를 이용하여 입력에 해당하는 Zigbee 온도 센서 End Device를 제작 하였으니 Zigbee Gateway에 붙이는 코드도 작성해 보자 디바이스 바인딩은 ESP32C6 Light ZB End Device 붙이기 예제에서 처럼 simple_desc_cb 함수에 온도 센서 장치일 경우 바인딩 부분만 추가하면 쉽게 해결된다.// Simple Descriptor 응답 처리 콜백static void simple_desc_cb(esp_zb_zdp_status_t zdo_status, esp_zb_af_simple_desc_1_1_t *simple_desc, void *user_ctx){ if (z.. [ESP32C6 SSM] Arduino에서 Zigbee 써모커플 온도 센서 장치 제작 ESP32C6 Arduino에서 Zigbee End Device 제작예제 작성에서 Zigbee 출력 장치에 대한 ESP32C6 Arduino Zigbee 세팅 방법을 알아으니 이제는 입력에 해다하는 온도 센서 데이터를 입력 받을 수 있는 End Device를 만들어 보자. 이전 예제에서도 그렇지만 Arduio를 이용하면 아주 쉽고 간단하게 표준화된 코드를 작성할 수 있다. 그리고 기존에 작성된 라이브러리를 이용하면 다양한 장치들을 쉽게 연결 할수도 있다.이번 예제처럼 써모커플 온도 센서를 연결하려면 ESP-IDF코드에서는 I2C부터 MAX31855코드 작성까지 코드 수정이 많이 해야 하는데 Arduino 를 이용하면 간단히 써모커플 온도 센서를 아주 쉽게 추가 할 수 있다. 온도 센서는 MAX31856.. [ESP32C6 XBee] Arduino 에서 Zigbee Light End Device 전등 제어 장치 제작 ESP32C6 Gateway 장치에 연결할 다양한 End Device를 테스트 하려고 하다보니 좀더 쉽고 간단하게 End Device를 작성할 방법을 알아보게 된다. 알아보니 ESP32C6 Arduino 예제에 Zigbee 장치에 대한 다양한 것들이 존재한다. Arduino를 이용하면 코드도 간단하고 기존에 작성한 다양한 라이브러리를 이용할 수 있어서 쉽게 Zigbee EndDevice를 제작 할수 있을것 같다. 우선 ESP32C6에서 Zigbee 예제를 사용하려면 Arduino의 Tools 설정에서 Zigbee 관련 세팅을 해 주어야 한다.Tools->Partition Scheme ->Zigbee 2MB with spiffs 로 설정한다. 그리고 Tools->Zigbee Mode -> Zigbe.. [ESP32C6 xBee] Zigbee Gateway 제작 - Light ZB End Device 붙이기 ESP32C6는 다른 Zigbee 디바이스들(https://nexp.tistory.com/3861) 과 비교해 저전력 구동에 있어 여러 단점이 있다. 다른 디바이스들은 슬립모드에서 nA 단위로 설명하는데, ESP32C6는 uA단위로 이야기 하고 있다. 3~4년 적어도 5년 이상을 구동해야하는 Zigbee 디바이스 특성상 최대한 소모 전류를 줄여야 하기에 ESP32시리즈로 저전력 구동은 어려운 점이 많다. 일단 동작 전원이 3V 이상이라 더이상 손쓰기가 어려울것 같다.그래서 ESP32C6로 ZigBee 프로젝트를 진행한다면 전원에 민감하지 않는 Gateway 장치를 만들기에 적합하지 않을까.. WiFi, BLE도 있어 저렴하게 구성하기에 좋을것 같다. Gateway 예제코드를 베이스로 해서 ZigBee .. [ESP32C6 XBee] ZigBee Sniff 제작 - ZBOSS, WireShark 를 이용한 프로토콜 분석하기 ESP32C6 SSM 보드로 다운로더 CCLoader 를 만들고 Zigbee Sniff 펌웨어를 다운로드한 Sniff 보드를 이용하여 Zigbee 프로콜을 분석해 보자 zboss_sniffer.exe 를 실행하면 장치를 인식하고 ZigBee page와 원하는 채널 번호를 선택하여 Start 버튼을 누르면 Wireshck 프로그램이 자동 실행된다. Wireshck 프로그램이 실행되면 Zigbee 장치의 패킷이 캡쳐되는것을 확인 할 수 있다. ESP32C6 Zigbee 코디네이터와 엔드 디바이스를 구동하고 패킷 캡쳐를 해 보자코디네이터의 MAC가 Espressif 로 확인되고 주기적으로 장치를 찾기위해 브로드 캐스트 하는것을 확인 할 수 있다. 장치기 인식되고 Gateway에 등록 될때 까지의 패.. [ESP32C6 XBee] Zigbee Sniff 제작 - CCLoader 만들기 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 에서.. [ESP32C6 xBee] Zigbee 테스트 - Switch Coordinator Device 제작 및 코드분석 ESP32C6 Zigbee 장치를 테스트 하기 위해 Gateway 에 해당하는 Coordinator 장치가 필요한데 HA_on_off_switch 예제로 테스트 하면 된다. ESP32C6 OnOff light EndDevice 를 제어 할 수 있는 코디네이터 장치를 제작해 보자. Zigbee EndDevice 코드의 메인 함수프로그램이 실행되면 Zigbee 관련 Task esp_zb_task() 함수를 수행한다.주요 코드의 뼈대만 되면 아래와 같은 구조로 심플하다.void app_main(void){ /* Zigbee 플랫폼 설정 (라디오, 호스트 기본값 사용) */ esp_zb_platform_config_t config = { .radio_config = ESP_ZB_DEFA.. 이전 1 2 3 4 ··· 13 다음