注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
我不是技术宅的个人空间 https://home.eeworld.com.cn/space-uid-672860.html [收藏] [复制] [分享] [RSS]
日志

Zigbee白名单设计举例分享通俗易懂

已有 2703 次阅读2016-1-21 17:04 |个人分类:Zigbee

        罗总的ZigBee白名单应该算是中文社区中最早的白名单设计者了。不过个人认为,能在应用层上面解决的问题就劲量不去动协议栈(前提是协议栈并没有这个接口,有接口那肯定要好好利用啊),其实另外一个帖子也说了这个 解决方法的:https://home.eeworld.com.cn/my/space-uid-569827-blogid-242597.html(不好意思各位,那个就是楼主发的,只不过楼主忘了账号密码了,重新申请了一个账号)
        其实和罗总的起点思路是一样的,也是通过利用ZDO的ZDO_JoinIndicationCB函数进行判别,原理大家都清楚,如果要找方法,请参考我的那篇帖子,这篇帖子主要是给还不是很理解为什么要开发出这样一个白名单,换句话说就是:<什么是ZigBee白名单>

        Zigbee白名单其实是为了解决复杂网络环境情况下提出的一个解决方案,例如多网络防止冲突,区域化的网络节点管理等。

        下面举个简单的例子:

      
       比如你去网吧上网,是不是随便找台机器坐下来就能开机输入你的身份证号码就能开机玩儿LOL了呢?答案只有一个:NO   正确的做法是:你得先拿上你的身份证和软妹币去网关那里交钱后,系统录入了你的身份证号码后你再用你的身份证号码登录,就能开机了。否则只能看隔壁小学生玩儿(应该没有小学生玩儿Zigbee的吧)。为什么要这样做呢?
          第一,收费(商务部分,自己体会):网吧又不是社会主义公社,大家凭粮票就能上的,再说了,领粮食还要粮票呢。先买票,后上车。
          第二,鉴权(技术部分,程序专用):随随便便就来个人把机器占领了,给网管交了钱的人咋办?唯一的认证方式,就是身份证号码。
         
          看到这里我想大家都应该明白了,节点的Mac地址就是节点的身份证,认证过的才能通过ZDO_JoinIndicationCB函数加入网络层实现数据的传输。其实白名单就这么简单,没有大家想象辣么复杂,对吧。

         除了协调器,路由节点也适用(协调器本来也是路由),做上这玩意儿就可以区域化管理整个ZigBee网络了,这个房间的只能加到这个路由里面,那个房间的只能加到那个路由里面,路由是甲方,作为乙方的终端节点,只能乖乖当孙子。

         好了,到这里相信大家的瓜子儿也嗑得差不多了,撸主在最后再次分享下自己的白名单设计:
         1、实现了节点的可控制加入:只有指定的节点才可以加入这个ZigBee网络。
         2、添加了超时加入的机制:过时不候。
         3、实现了分布式的管理:协调器仍然是唯一的信任中心,不过所有未加入过当前网络的节点,仍然可以通过已存在于这个网络的任意一个路由节点加入。
         4、实现了黑名单机制:被认定为黑名单的节点将永世不得翻身。
         5、实现了未加入网络的终端设备的低功耗入网方式:搜索网络的功耗可以通过软件降低一点,可控时长,可控周期的查找并尝试加入网络。

         好了,白名单的设计分享就到这里,记得打扫嗑完掉地上的瓜子皮。


本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章