本帖最后由 damiaa 于 2021-6-23 15:20 编辑
【EVK-NINA-B400 评估套件】+跑zigbee light_control例程
1,安装keil 5.25以上环境。
2,下载nRF5_SDK_for_Thread_and_Zigbee_v4.1.0_32ce5f8解压。
3,下载安装NordicSemiconductor.nRF_DeviceFamilyPack.8.27.1
4,打开例子..\nRF5_SDK_for_Thread_and_Zigbee_v4.1.0_32ce5f8\examples\zigbee\light_control\light_coordinator\pca10100\blank\arm5_no_packs
5, 修改如下:
6,修改button和led IO
如果板子为pca10100 board.h==> pca10100.h=>
#define LED_1 NRF_GPIO_PIN_MAP(0,13)
#define LED_2 NRF_GPIO_PIN_MAP(0,14)
#define LED_3 NRF_GPIO_PIN_MAP(0,15)
#define LED_4 NRF_GPIO_PIN_MAP(0,16)
#define BUTTON_1 11
#define BUTTON_2 12
#define BUTTON_3 24
#define BUTTON_4 25
修改为好操作的对应led和按键IO,没有的外接。
7,编译,下载,运行。
8,编译运行light_bulb和light_switch需要前面4,5动作重复。
9,如果用其他板子要对应板子。目前b400和对应的pca10100接近。
10,实验,至少三块板子。B400可以做其中之一。
Light coordinator
Light switch
Light bulb
LED和button
led3 网络形成和连接状态指示(如果是协调器,表示网络是打开还是关闭,如果是设备,表示是否连接进zigbee网路)
led4 (Light switch) LED4 – 如果做switch,表示发现a light bulb 去控制 (Light bulb) LED4 – 如果做Light bulb,表示 dimmable light option(灯亮).
(协调器) Button 1 – Used to reopen the network.
(Light switch) Button 1 SWTICH开关,短按开,关,长按调节亮度,本板子的灯。
(Light switch) Button 2 成功入网后 (LED3 state), 按下控制网络上 light bulb (LED4)的亮灭,长按调节亮度.
(Light switch) Button 3 – When pressed while resetting the board, enables the Sleepy End Device behavior.
(Light switch) Button 4 – When pressed, toggles the Finding & Binding mode on the local endpoint on or off.
测试:
1,为每个板子编译烧写程序: Light coordinator, Light switch, and Light bulb.
2,开启 Light coordinator 节点. LED3 亮. 节点变成 网络中的Coordinator.
3,Turn on the Light bulb node. LED3 亮. 节点变成 网络中的Router Device.
4,Turn on the Light switch node. LED3 亮. 节点变成网络中的End Device.
5,等到 light switch 上的LED4亮. 表示 switch 发现了a light bulb可以控制.