Differences

This shows you the differences between two versions of the page.

Link to this comparison view

iothings:laboratoare:2025:lab5 [2025/10/22 10:50]
dan.tudose [Zigbee Router + End Device]
iothings:laboratoare:2025:lab5 [2025/10/22 11:33] (current)
dan.tudose [Zigbee Router + End Device]
Line 102: Line 102:
 As a coordinator we will be using a [[https://​www.home-assistant.io/​green/​|Home Assistant Green]] gateway with a [[https://​www.home-assistant.io/​connectzbt1|Connect ZBT-1]] Zigbee Coordinator attached. As a coordinator we will be using a [[https://​www.home-assistant.io/​green/​|Home Assistant Green]] gateway with a [[https://​www.home-assistant.io/​connectzbt1|Connect ZBT-1]] Zigbee Coordinator attached.
  
-===== Platformio Project Setup  ===== 
  
 You will need to edit platformio.ini and add these compile flags and libraries: You will need to edit platformio.ini and add these compile flags and libraries:
Line 149: Line 148:
 </​code>​ </​code>​
  
-===== Zigbee ED Example ​ ===== 
  
 Then you can add the main.cpp contents. ​ Then you can add the main.cpp contents. ​
Line 160: Line 158:
 The device registers itself on the Zigbee network with manufacturer and model identifiers,​ sets reporting intervals and tolerances for each sensor type, and reacts to identify commands by blinking its LED. If Zigbee fails to initialize or connect, it restarts the ESP32. ​ The device registers itself on the Zigbee network with manufacturer and model identifiers,​ sets reporting intervals and tolerances for each sensor type, and reacts to identify commands by blinking its LED. If Zigbee fails to initialize or connect, it restarts the ESP32. ​
    
-===== Zigbee Router + End Device =====+====== Zigbee Router + End Device ​======
  
 In this next example we will simulate a Zigbee smart lightbulb controlled by a Zigbee light switch, using two ESP32-C6 Sparrow nodes. In this next example we will simulate a Zigbee smart lightbulb controlled by a Zigbee light switch, using two ESP32-C6 Sparrow nodes.
Line 186: Line 184:
  
 <code bash platformio.ini>​ <code bash platformio.ini>​
 +; PlatformIO Project Configuration File
 +;
 +;   Build options: build flags, source filter
 +;   ​Upload options: custom upload port, speed and extra flags
 +;   ​Library options: dependencies,​ extra library storages
 +;   ​Advanced options: extra scripting
 +;
 +; See https://​docs.platformio.org/​page/​projectconf.html for details.
 +
 [platformio] [platformio]
 default_envs = sparrow-switch default_envs = sparrow-switch
Line 202: Line 209:
   ;-D CORE_DEBUG_LEVEL=5   ;-D CORE_DEBUG_LEVEL=5
  
-; Use a partitions.csv that contains Zigbee NV partitions+; Use a partitions.csv that contains Zigbee NV partitions ​(see step 2)
 board_build.partitions = partitions.csv board_build.partitions = partitions.csv
  
Line 212: Line 219:
   -D ZIGBEE_MODE_ED   -D ZIGBEE_MODE_ED
   -D SPARROW_SWITCH   -D SPARROW_SWITCH
 +  -D CONFIG_ZB_ENABLED=1
 +  -L$PLATFORMIO_PACKAGES_DIR/​framework-arduinoespressif32-libs/​esp32c6/​lib
 +  -lesp_zb_api.ed
 +  -lzboss_stack.ed
 +  -lzboss_port.native
 +  -lzboss_port.remote
  
 [env:​sparrow-light] [env:​sparrow-light]
Line 218: Line 231:
   -D ZIGBEE_MODE_ROUTER   -D ZIGBEE_MODE_ROUTER
   -D SPARROW_LIGHT   -D SPARROW_LIGHT
 +  -D CONFIG_ZB_ENABLED=1
 +  -L$PLATFORMIO_PACKAGES_DIR/​framework-arduinoespressif32-libs/​esp32c6/​lib
 +  -lesp_zb_api.zczr
 +  -lzboss_stack.zczr
 +  -lzboss_port.native
 +  -lzboss_port.remote
 lib_deps = lib_deps =
   adafruit/​Adafruit NeoPixel@^1.12.0   adafruit/​Adafruit NeoPixel@^1.12.0
 +
  
 </​code>​ </​code>​
  
-When building and deploying on the two nodes, switch between ''​sparrow-switch''​ and ''​sparrow-light''​.+When building and deploying on the two nodes, switch ​''​default_envs'' ​between ''​sparrow-switch''​ and ''​sparrow-light''​.
  
 Keep the same partitions.csv file. Keep the same partitions.csv file.
iothings/laboratoare/2025/lab5.1761119422.txt.gz · Last modified: 2025/10/22 10:50 by dan.tudose
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0