版权声明:本文为博主原创文章,未经博主允许不得转载,转载请注明出处 https://blog.csdn.net/qq_21231413/article/details/88966096
一.点灯例程简介
本例所基于的LED灯开关的来演示了mesh网络的主要组成部分。它由三个小例子组成:
- Light switch server:一个实现通用OnOff服务器模型的最小化服务器,该模型用于接收状态数据并控制板上LED 1的状态
- Light switch client:一个最小的客户端,实现了四个通用的OnOff客户端模型的实例。当用户按下任何按钮时,一个OnOff消息将发送到配置的目标地址
- Mesh Provisioner:一个简单的启动配置设备实现,它配置mesh网络中的所有节点。此外,它还配置这些节点上mesh模型实例的key绑定、发布和订阅设置,使它们能够彼此通信。在下面的部分中,这三个例子应用程序将分别称为服务器、客户端和启动配置折别。下图给出了将在本例中设置的mesh网络的总体框图。括号中的数字表示由启动配置设备分配给这些节点的地址
二.例程运行过程的一些状态
Server:
- 在配置过程中:LED3和LED4闪烁表示设备识别开始。LED1到LED4闪烁4次表示配置过程已经完成
- 配置完成后:LED1反映Server上OnOff的状态。当LED ON时OnOff状态值为1 (true);当LED OFF: OnOff状态值为0 (false)
Client:
- 在配置过程中,LED3和LED4闪烁表示设备识别开始。LED1到LED4闪烁4次,表示配置过程已经完成
- 配置和配置完成后,Client上的按键用于向Server发送OnOff Set消息,按键1向奇数组(地址:0xC003)发送消息以打开LED1,按键2向奇数组发送消息(地址:0xC003)关闭LED1。按钮3发送一条消息到偶数组(地址:0xC002)打开LED 1。按键4向偶数组发送消息(地址:0xC002)关闭LED1
Provisioner:
- 当按下按键1启动配置过程
- LED1 ON表示节点的配置过程正在进行中,LED1 OFF表示没有进行配置,LED2 ON表示节点配置正在进行中,LED2 OFF表示没有进行配置
三.运行例程的步骤
1、按Provisioner上的按键1开始配置:
- Provisioner配置客户端,并将地址0x100分配给客户端节点
- OnOff客户端模型的两个实例在单独实例化,它们获得从0x101开始的连续地址
- 最后Provisioner随机获得可用设备分配给它们的连续地址,并将它们添加到奇数组和偶数组中
2、观察Provisioner、Client和Server板上LED的状态
3、等待Provisioner板上的LED1 ON保持几秒钟后,表示所有可用的板都已并配置完毕
4、按下Client板上的按键,改变服务器板上LED 的状态:
- 按下Client板上的按键1,打开所有地址为奇数的Server上的LED1
- 按下Client板上的按键2,关闭所有地址为奇数的Server上的LED1
- 按下Client板上的按键3,打开所有地址为偶数的Server上的LED1
- 按下Client板上的按键4,关闭所有地址为偶数的Server上的LED1
5、按下Server上的按键1,改变Server端上LED1的状态,并观察Client是否从对应的Server接收到包含新状态值的状态消息