[XMOVE自主设计的体感方案] XMove 4.0 无线组网协议

简介:

一. 综述

  XMove 4.0需要支持多节点混合组网,在用户超过两个或两个以上时,可能会有多达40个以上的节点接入到系统之中。这些节点可能包括来自前几代的兼容节点,也可能是4.0的超微节点和手持节点。如何使这些节点正常无干扰的工作,并处于低功耗,是一个非常复杂而艰巨的任务。

  无线协议有以下具体任务:

  •   尽可能准确有效无丢包的将节点数据传递给上位机
  • 将上位机的控制信息有效的传递给节点,并使节点改变为相应的工作状态
  • 支持多节点多拓扑混合组网

  

  作者为通信专业出身,对无线协议有一定的了解。我通过以下方式来解决该问题:

  •   扁平的节点类型,尽可能简化的无线协议
  • 建立上行链路(从节点到PC机)和下行链路(从PC机到节点)
  • 所有协议全部内置PC端,由PC端发送指令实现控制逻辑,节点只负责按照工作模式执行工作
  • 使用多信道方式解决无线干扰问题,采用自动信道分配算法,实现最优接收结构

二. 节点状态描述

  所有节点都继承于XNode类,该类为基本的通信,工作模式提供了服务。具体细节请参看文集中的节点设计部分。

  1. 节点区分标记

  节点通过NodeType字段表明节点类型:

  

  

    例如,超微型节点XNodeMini处于XMOVE4.0,类型号为1,因此nodeTypeID=1。

  节点通过RawID确定其硬件ID号。

  注意,不同类型的节点允许存在相同ID,但相同类型节点不允许存在相同ID,否则系统无法判断。

   2. 节点能力描述

  

  六个属性分别给出该节点是否包含对应传感器是否存在的标识。

  3.节点工作状态描述

  对于节点工作状态,有两个类来描述,它们分别是描述节点自身工作状态,以及系统要求的工作状态。此处只介绍节点自身工作状态描述。

  

  三. 上行链路:从节点到PC机

  XMove上行信道统一采用24byte包长形式,其各位标记如下:

  其中,电池电量,三轴传感器数据的定义随节点不同而不同,此处不硬性规定。

四. 下行链路:从PC机到节点

  XMove下行链路控制更为简单,包长与上行一致,为24byte. 由于PC机通常没有2.4GHz无线通信能力,必须经过转接节点。转接节点收到数据后转发给各子节点。

  

  TransferID是要发送到的桥接节点ID,桥接节点发现本机ID与该字段一致时,才会认为是己方数据。

  PacketType是包类型描述,1代表是RF信道配置,用于配置本机不同射频模块的RF参数,后面每两个字节代表一个射频模块,分别是模块ID和要配置的信道ID。

  2代表配置子节点状态,桥接节点收到后,不经过任何处理,直接转发给子节点。子节点收到数据后,在该包中找到匹配的RawID,并通过该位下一位的WorkMode修正自身的工作模式。

五.  工作模式和信道控制逻辑

  控制信道涉及对节点工作模式和射频的控制两大部分。但实际上,它们是在一起发送的,下面我们分别介绍它们。

  1. 工作模式控制

  为了尽可能的降低节点功耗,节点的刷新速率和陀螺仪开启状态是应该根据需求动态调整的。在不需要节点传输数据时,节点应该以最低的4s一次的“呼吸包”通知管理器该节点依旧“存活”。而实际上,可能有多种应用同时需要该节点的数据,他们对该节点的工作状态需求是不同的。应该找到能满足这些应用的最低需求。为解决这个问题,我们设计了这个类:

  该类从NodeWorkMode继承,多了一个新属性:myNeededList ,它存储了所有应用对该节点的所有需求。当外界读取该类的WorkMode值时,它会返回满足这些需求的最低需求。它实际上是一个字典: Dictionary<IProgramWPF, Tuple<bool, NodeFreshSpeed>>。

  至于应用如何给出节点的工作模式需求,请参考XMove Studio应用开发API介绍。

  2. 信道分配算法

  为了尽可能提升系统的无线性能,硬件上采用了多个信道分配的策略,但这也造成了如何分配信道的问题。我们设计了如下的信道枚举:


/// <summary>
    /// 信道ID
    /// </summary>
    public enum RFChannel
    {
        /// <summary>
        /// 基础信道,默认节点开启时,处在该信道
        /// </summary>
        RF0=0,
        RF1=1,
        RF2=2,
        RF3=3,
        RF4=4,
        RF5=5,
        RF6=6,
        RF7=7
    }

 当节点开启时,所有的RF节点都以一秒一次的速度在RF0信道上工作。

  当所有节点都在通信方法的节点映射表中注册之后,系统会自动启动信道分配算法,并开始控制逻辑。其原则如下:

  •   系统中可能包含多个桥接节点,它们的RF信道数量可能不同,
  • 系统中包含大量子节点,它们都默认工作在RF0信道,应该将其均匀的分配在各信道中。
  • 若某信道的误包率太大,则应该将该节点切换到信道状态良好的信道。

  作者设计了RFChannelDistributor类专门解决信道分配问题:

  其具体操作流程如下:

  

  3. 发送控制信息

  当系统发现节点的工作模式与系统需求的工作模式不匹配时,系统就会启动控制信息发送过程。

  由于下行链路的包长为24字节,因此一次最多只能控制11个节点。系统只发送状态不正确的节点控制信息,若一次发不完,则分开发送。每个包发送后,都会经过300ms的延时,再发送一次,总共发送三次,保证数据发送无误。

六. 节点工作状态监视

  系统提供了节点工作状态监视组件。

  左边的列表给出了所有激活的节点队列,点选其中任意一项,右边的监测器就会对其工作状态进行监视,具体属性可参看使用说明,此处不赘述。

  若您希望手动更正所有节点工作模式和频段,在菜单栏中的“通信”一栏的“重配射频信道”选项,可以帮您完成该过程。

七. 总结

  本文详细介绍了XMove4.0的组网问题和工作模式描述。一篇文章无法描述完整内容。在上下行链路中,也仅仅介绍了2.4G射频信道的数据格式,手机蓝牙信道等都没有提及。

  实践证明,该配置可以简单高效的解决信道分配的问题,在实现各应用需求下实现最佳性能和最低功耗。

  有任何问题,欢迎讨论。

相关文章
|
传感器 网络协议 物联网
基于CC2530(ZigBee)设计的景观照明控制系统+配套手机APP
基于CC2530(ZigBee)设计的景观照明控制系统+配套手机APP
459 0
基于CC2530(ZigBee)设计的景观照明控制系统+配套手机APP
|
监控 前端开发 安全
智能家居弱电布线设计注意事项
智能家居弱电布线设计注意事项
智能家居弱电布线设计注意事项
|
5G 调度
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.3多点传输协作(三)
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.3多点传输协作
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.3多点传输协作(三)
|
5G 调度 UED
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.3多点传输协作(一)
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.3多点传输协作
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.3多点传输协作(一)
|
缓存 5G 调度
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.3多点传输协作(二)
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.3多点传输协作(一)
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.3多点传输协作(四)
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.3多点传输协作
|
存储 机器学习/深度学习 边缘计算
MEC|带你读《5G无线网络规划与设计》之六
在 5G 的服务化架构中,NF 既是服务的提供者,又是服务的使用者。任何NF 都可以提供一个或多个服务。5G 系统架构提供了对服务的使用者进行身份验证和对服务请求授权所必需的功能,并支持高效灵活的公开和使用服务。对于简单的服务或信息请求,可以使用请求-响应模型。对于长期存在的进程,5G架构还支持订阅-通知模型。
MEC|带你读《5G无线网络规划与设计》之六
|
算法 5G UED
5G 无线关键技术|带你读《5G无线网络规划与设计》之九
高频频段可泛指 6 GHz 以上频段,主要针对毫米波频段,该频段频谱资源丰富,易于获得大带宽连续频谱,适用于有极高用户体验速率和小区容量要求的热点区域。但其覆盖能力弱,无法实现连续覆盖,因此,5G 仍然需要依托中、低频段满足覆盖需求,保障网络的连续性和可靠性。
5G 无线关键技术|带你读《5G无线网络规划与设计》之九
|
人工智能 运维 物联网
5G 承载技术|带你读《5G无线网络规划与设计》之八
在性能方面,5G承载网需具有更大带宽、超低时延和高精度同步,以满足 5G 三大应用场景的需求。在组网及功能方面,5G 承载网应实现多层级承载网络、灵活化连接调度、层次化网络切片、智能化协同管理、4G/5G 混合承载以及低成本高速组网等,促进承载资源的统一管理和灵活调度。
5G 承载技术|带你读《5G无线网络规划与设计》之八
【实践】工业用变频器上云 【3】 硬件开发,使用嵌入式硬件通过485通讯的ModBusRTU协议控制变频器
本系列介绍,如何将一台台达变频器接入阿里云物联网,并且实现云端操控的实践案例。本章着重解决让硬件正确的驱动变频器实现下面级的正确控制

热门文章

最新文章