博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mesh(一)----System Architecture
阅读量:6608 次
发布时间:2019-06-24

本文共 1369 字,大约阅读时间需要 4 分钟。

架构

整体基于BLE,搭建一套上层体系。

clipboard.png

  • Model layer
    定义一个model,标准化一些操作或用户场景,例如灯和传感器
  • Foundation Model layer
    定义状态,消息和配置及管理整个mesh网络
  • Access layer
    应用层和较底层的交互接口。定义和控制加密等一些东西
  • Upper transport layer
    加密,解密,认证。
  • Lower transport layer
    数据的分段和重组
  • Network layer
    控制消息的接受和转发
  • Bearer layer
    控制消息如何在节点间传递,两个bearer,advertising和GATT。其实就是广播和连接两种方式。

特点

  • 一对一或一对多
  • 允许消息转发,拓展距离
  • 消息加密
  • 与已有BLE兼容
  • 消息发送及时
  • 一个或多个节点丢失后仍可以正常工作

组成

  • 地址
    确认消息的起点和终点
  • Network key
    在Network layer层加密和认证信息
  • application key
    在Access layer层加密和认证信息
  • IV index
    拓展网络的lifetime,避免重复消息的发生

一个网络可以有多个子网(比如酒店可以有多个房间),一个设备可以属于多个子网(通过拥有多个Network key)。

这里有一个primary NetKey的概念,在primary里,节点可以参与IV update procedure。其他子网则只能传播。
Network resource通常由model server来管理(一般是手机)。

Architectural concepts

几个概念

  • States
    设备的状态信息
  • Bound states
    绑定的状态信息。几个状态信息绑定在一起,一个发生改变,另一个也随之改变
  • Messages
    操作states的信息
  • Elements
    一个节点可以有多个elements
  • Models

    models定义一个节点的一些通用的信息。

    • Server model
      一个server model由一个或多个节点的一个或多个element组成
    • Client model
      client不含state,client通常去请求,改变,消费server的states。
    • Control model
      一个control大概含有client去与其他server或其他server的client交流。

    一个device可以有server,client和control。

  • Publish-subscribe和message change
    消息订阅机制

一个消息可以从推送消息到单播,组播或者虚拟地址上。其他节点如果对这些消息有兴趣,就可以订阅这些消息。

  • Friendship
    Friendship用于低功耗节点。通常低功耗节点不能持续监听mesh消息,所以低功耗节点可以和附近正常节点建立Friendship关系,由附近节点接收并缓存低功耗节点的mesh消息到队列中,灯带低功耗节点唤醒后,在推送这些消息过去。

一个低功耗节点只能有一个friend节点。

  • Feature

    一个节点有四种features:

    • Relay feature
    • Proxy feature
      支持GATT
    • Low Power feature
    • Friend feature

转载地址:http://unwso.baihongyu.com/

你可能感兴趣的文章
DataTable转换成json字符串
查看>>
RecyclerView重用导致的元素重复问题
查看>>
iOS网络协议----HTTP/TCP/IP浅析
查看>>
ubuntu 12.04 安装 redis
查看>>
IOS_CGRect
查看>>
Sql Server中不常用的表运算符之APPLY(1)
查看>>
【DM642】ICELL Interface—Cells as Algorithm Containers
查看>>
linux所有命令失效的解决办法
查看>>
力扣算法题—085最大矩阵
查看>>
svs 在创建的时候 上传文件夹 bin obj 这些不要提交
查看>>
mysql-用命令导出、导入表结构或数据
查看>>
Tinkphp
查看>>
EntityFrameworkCore 一对一 && 一对多 && 多对多配置
查看>>
How to temporally disable IDE tools (load manually)
查看>>
Vue.js学习 Item4 -- 数据双向绑定
查看>>
几种排序方式的java实现(01:插入排序,冒泡排序,选择排序,快速排序)
查看>>
server application unavailable
查看>>
浅谈尾递归的优化方式
查看>>
eclipse 的小技巧
查看>>
频率域滤波
查看>>