AliOS Things SIG BLE Mesh网络的介绍和搭建

摘要: 在最新的版本(1.2.1)中,AliOS Things 开始支持SIG BLE mesh。本文对SIG BLE mesh及如何使用AliOS Things搭建BLE mesh网络进行了详细的说明。

点此查看原文:http://click.aliyun.com/m/42946/

在最新的版本(1.2.1)中,AliOS Things 开始支持SIG BLE mesh。目前,SIG BLE mesh还处于起步阶段,能够查找到的材料里面对于如何一步一步搭建SIG BLE mesh,并部署应用的案例并不多,且不够详尽。本文首先介绍SIG BLE mesh;然后详细介绍如何使用AliOS Things SIG BLE mesh搭建传感监测网络;最后,分析SIG BLE mesh使用过程中遇到的问题,并提出解决办法。

SIG BLE mesh介绍

SIG BLE mesh是随着BLE 5.0一起发布的标准,但它与BLE 5.0并没有强绑定的关系,在BLE 4.2的芯片上也能够工作。BLE mesh的推出扩展了BLE技术的拓扑选项,由原来支持的点到点和广播,扩展到可以支持更加灵活与自组织的mesh网络,目前主要的应用场景是智能照明。

网络的拓扑和节点

图片源自[1]

SIG BLE mesh的拓扑是全连通的mesh网络。链路主要包括两种类型,一种是广播链路,另外一种是GATT (Generic Attribute Profile)链路。GATT链路主要是为了兼容不支持广播链路的节点加入mesh网络设计。

节点包括四种类型:普通节点,中继节点,朋友节点,和低功耗节点。中继节点是具有数据转发能力的节点。朋友节点是低功耗节点的朋友。低功耗节点的所有数据都需要朋友节点帮助发送和接收,来实现低功耗节点在一段时间能够进入休眠状态的目的。目前,低功耗节点只能够是叶子节点。

协议栈结构

图片源自[1]

在标准中,BLE mesh协议栈被分为了很多层,简化版本应该可以分为两层,一层是和应用业务相关,另一层是和网络链路相关。标准中,将每层进行了非常细致的功能细化。网络链路相关细分为了以下层次:
Access Layer: 主要定义了上层应用业务层次如何使用网络传输的能力
Upper Transport Layer: 主要定义了数据的加解密,及基本数据传输功能
Lower Transport Layer: 主要定义了数据的分包与组包逻辑
Network Layer: 定义了数据的寻址与转发
Bearer Layer: 定义了如何利用核心层在点到点设备之间传输数据

Provisioning

SIG BLE mesh需要一个特殊的节点完成网络的配置,这个节点是provisioner。provisioner通常是手机或者一个联网设备。目前开源可以直接使用的provisioner有Bluez meshctl工具。
Provisioning主要功能是节点认证,配网和传输网络配置信息到节点。主要交互包括: beaconing,发出邀请,交换公钥,认证,和分发provisioning data。provisioning成功后,SIG BLE mesh网络链路即建立完成,网络节点之间可以收发数据。
在provisioning完成后,还需要再次建立连接,用于传输应用相关的配置信息,包括: 应用层使用的密钥,绑定使用的model,及配置这些model (如数据发送次数与周期等)。配置完成后,应用业务逻辑即开始工作。

关于SIG BLE mesh标准相关内容,可以移步SIG下载,https://www.bluetooth.com/specifications/mesh-specifications 。

AliOS Things SIG BLE mesh网络搭建

硬件环境

Raspberry PI3一块
乐鑫ESP32 Devkitc两块
微雪NRF51822开发板两块
ESP32和NRF51822开发板跳线图

软件环境
  • Raspberry PI kernel
为了能够运行Bluez meshctl工具,需要更改Raspberrian默认的安全加密加密相关配置,需要重新编译kernel。
  • json-c
json-c主要作用是解析meshctl所需的网络相关配置文件。
  • Bluez
Bluez是Linux的蓝牙协议栈,这里我们使用的是5.48版本。主要使用meshctl工具作为provisioner。
  • Bluetooth controller
烧录在nrf51822上作为controller使用。
  • Server端和Client端应用程序
烧录在ESP32上,和nrf51822组合在一起作为BLE mesh节点使用。

传感数据监测网络

传感监测网络包括三种角色,provisioner,server和client。provisioner是网络的配置者,server是传感信息的发布者,client是传感信息的订阅者。

使用AliOS Things一步一步搭建SIG BLE mesh网络指南,请移步https://github.com/alibaba/AliOS-Things/wiki/AliOS-Things-SIG-BLE-mesh-Setup-Guides

一些想法和解决方案

在开发和使用AliOS Things搭建SIG BLE mesh网络过程中,主要遇到的痛点是配网不方便,和低功耗支持。
目前,SIG BLE mesh需要使用provisioner逐个配置网络节点,有时候还可能由于网络不稳定导致失败。这样当街点规模较大时,即使是配置一遍,也是一件足够头痛的事情。我们正在做的一件事情是将AliOS Things uMesh网络自动认证的能力赋能给BLE mesh,使得SIG BLE mesh网络的配置更加方便和高效。

另一方面,目前SIG BLE mesh除了叶子节点,其余节点都需要保证100%的监听时间,其实已经不再是低功耗了,我们另外正在做的意见事情是将正在开发中的AliOS Things uMesh低功耗网络的能力赋能给BLE mesh,降低BLE mesh的功耗。

最后,我们会增加更多的硬件平台支持,方便开发者快速建立自己的业务应用。敬请期待,更多内容请移步https://github.com/alibaba/AliOS-Things 。

References:
[1] Bluetooth Specification Mesh Profile v1.0

识别以下二维码,干货

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

02年六代雅阁的整备质量_2020年宝安第八批更新计划:联投地产5.4万㎡“工改”项目...

今日(10月22日),宝安区更新整备局发布关于《2020年深圳市宝安区城市更新单元第八批计划》(草案),共2个工改项目,即大田洋工业区东方三队、四队片区更新项目、沙民马安山工业区更新项目,合计拆除用地面积112446㎡。龙华区更新整备局…

被吹得天花乱坠的无服务器架构,究竟是什么?

戳蓝字“CSDN云计算”关注我们哦!无服务器计算(Severless computing,简称 Serverless)现在是软件架构圈中的热门话题,国外三大云计算供应商(Amazon、Google 和 Microsoft)都在大力投入这个领域&…

idea配置的导入导出

摘要:每当更新了工具,或者其他电脑想使用idea工具,配置不可能重新配置,这时只要把已配置好的导出来,打开新的idea时,直接导入即可。 文章目录一、导出配置二、导入配置一、导出配置 打开工具,找…

基于阿里云移动推送的移动应用推送模式最佳实践

摘要:### 一、概念 以下概念对应系统设计时的语义,对于如何合理使用移动推送有借鉴意义 #### 1.1 设备 安装并使用开发者移动应用的装置 #### 1.2 设备ID 阿里云移动推送为设备分配的唯一ID,可以通过阿里云移动推送SDK端提供的接口获取 点此阅…

android 底部滑动效果怎么做,Android实现简单底部导航栏 Android仿微信滑动切换效果...

android仿微信滑动切换最终实现效果:大体思路:1. 主要使用两个自定义view配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标;2. 底部导航栏的设置方法类似于tablayout的关联,view需要创建关联方法,用来关联viewpag…

cgi进程设置多少 宝塔_宝塔面板安装完的一些列操作

推荐教程虚拟机建站总目录 - 辉哥博客​www.haah.net前言新安装的宝塔会有很多地方需要配置,如果懂的大佬可以跳过,如果是小白可以按照辉哥的教程一步步操作,辉哥是以虚拟机进行操作的,但是服务器也是一样的道理!安全入…

白话中台战略:中台是个什么鬼?

戳蓝字“CSDN云计算”关注我们哦!来源:健荐作者:王健从去年开始,好像就有一只无形的手一直将我与“微服务”、“平台化”、“中台化”撮合在一起,给我带来了很多的困扰和思考与收获。故事的开始源于去年的技术雷达峰会…

用WEB技术栈开发NATIVE应用(二):WEEX 前端SDK原理详解

摘要: WEEX依旧采取传统的web开发技术栈进行开发,同时app在终端的运行体验不输native app。其同时解决了开发效率、发版速度以及用户体验三个核心问题。那么WEEX是如何实现的?目前WEEX已经完全开源,并捐给Apache基金会&#xff0c…

cad查看_CAD与天正软件对齐命令实例讲解

好课推荐:1、CAD2014:点击查看 2、室内&全屋:点击查看 3、CAD2019:点击查看4、CAD2018:点击查看5、Bim教程:点击查看 6、室内手绘:点击查看7、CAD三维:点击查看8、全屋定制&…

Storm精华问答 | storm与Hadoop区别?

戳蓝字“CSDN云计算”关注我们哦!Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架,具有最高的摄取率。今天,我们就挑一些Storm的安装配置问题来看看吧。1Q:…

weex 在 iOS 上如何实现常见的网络缓存

摘要:weex 旨在兼顾web动态性与native的用户体验,如果想将两者的优势最大化,那么缓存就显得格外重要,本文介绍如何利用缓存,实现weex页面迅速打开,甚至“秒开”的效果。点此查看原文:http://cli…

python实现多智能体一致性_促进产学研,多智能体协同控制——科研与实践教学齐飞...

对多智能体感兴趣欢迎Wangzaixiaolatiao(VX)沟通。一、引言1.1、概述多智能体协同控制系统即多个智能体组成的集合,它的目标是将大而复杂的系统集成设成小的、彼此互相通信和协调的、易于管理的系统。多智能体协同控制系统在表达实际系统时&a…

android 汇编 参数,安卓ARM汇编基础知识

ARM 是 Advanced RISC Machine 的缩写,可以理解为一种处理器的架构,还可以将它作为一套完整的处理器指令集。RISC(Reduced Instruction Set Computing) 精简指令集计算机:一种执行较少类型计算机指令的微处理器。处理器指令集: 计算机处理命令…

移动推送消息送达常见问题与解决办法

摘要: 一、 收到重复的推送内容 * 收到重复的推送内容,排除了业务自身的推送逻辑之外,重点介绍一下部分机型多渠道推送可能带来的重复推送问题。 * 对于Android系统,对于设备已经在某些三方系统中注册过,并且通过该三方…

帮助你驾驭 Kubernetes 的 4 个工具 | Linux 中国

学习如何驾驭 Kubernetes 比如何建造它更重要,这些工具可以帮助你更快上路。-- Scott Mccarty译者|Xinyu Wang来源|Linux中国在本系列的第三篇文章中,Kubernetes 基础:首先学习如何使用,我强调你应该学会使用 Kubernetes&#xff…

三大新功能发布 阿里云短视频SDK玩法多 优惠更多

摘要: 近日,阿里云短视频SDK进行了重大升级,对视频滤镜和视频特效方面进行了功能更新,助力用户快速接入带来更多的玩法。 短视频SDK介绍 短视频SDK提供短视频录制、导入和编辑的高级功能,支持多种分辨率选择、实时美颜…

html asp 日历_全球第一本《2021世界艺术日历》,正式发售!

原标题:全球第一本《2021世界艺术日历》,正式发售!艺术,人类精神文明的美丽结晶。作为一名资深艺术爱好者,多希望 每天都能和名画为伴,接受各个时期艺术佳作的熏陶。 记得2020年的开头, 我买了好…

三星计划替换所有日产半导体材料;美企过度响应“禁令”,华为被曝祭出数亿索赔;苹果iPhone 11发布日期刚刚泄露...

戳蓝字“CSDN云计算”关注我们哦!嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周五第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

button hover逐渐变色_两当水库界桩@产品长久不变色 - 两当安全防护

河北合诺电力设备有限公司成立于2009年,位于河北省石家庄市新华区,是一家富有高科技生产力与完善服务体系的综合性企业。公司集科研、生产、销售及服务于一体,厂区占地50余亩,现有员工135人,专业资质技术人员26人&…