协调器向网关传输的数据格式

协调器向网关传输的数据格式,第1张

协调器向网关传输的数据格式是0xFD。数据传输的格式为0xFD(数据传输命令)+ 0x0A(数据长度)+(目标地址)+(数据)。协调器接收到数据后通过串口把数据转发给 2K1000 通讯网关,2K1000 通讯网关完成数据汇总,解析,打包,并通过 GPRS 上传数据至云服务器,上位机部分接收云端返回数据并进行本地显示。

(一)消费者和消费者组

1、消费者:订阅并消费kafka消息,从属于消费者组

2、消费者组:一个群组里的消费者订阅的是同一个主题,每个消费者接受主题一部分分区的消息。

注:同一个消费者可以消费不同的partition,但是同一个partition不能被不同消费者消费。

(二)消费者群组和分区再均衡

1、再均衡:分区的消费所有权从一个消费者转移到另一个消费者称为再均衡,为消费者组带来了高可用性和可伸缩性。

注:分区何时重新分配:加入消费者或者消费者崩溃等

2、如何判断消费者崩溃:消费者通过向群组协调器(某broker,不同群组可以有不同的群组协调器)发送心跳(一般在拉取消息或者提交偏移量的时候)表示自己仍旧存活,如果长时间不发送心跳则协调器认为期死亡并进行再均衡。

注:在0101版本中,心跳行为不再和获取消息和提交偏移量绑定在一起,有一个单独的心跳线程。

3、分配分区:消费者加入消费者组是,会像群组协调器发送请求,第一个加入的成为“群主”。群主从协调器那里获取成员列表,并负责给每一个消费者分配分区。完毕之后,将分配结果发送给协调器,协调器再将消息发送给所有的消费者,每个消费者只能看到自己的分配信息。只有群主知道所有的消费信息。

(三)参数配置

1、bootstrapserver:host:port

2、keyserializer:键序列化器

3、valueserializer:值序列化器

注:以上为必须设置的

4、groupid:从属的消费者组

5、fetchminbytes:消费者从服务器获取记录的最小字节数。

6、fetchmaxwaitms:消费者等待消费消息的最大时间

7、maxpartitionfetchbytes:服务器从每个分区返回给消费者的最大字节数(需要比broker的设置maxmessagesize属性配置大,否则有些消息无法消费)

8、sessiontimeoutms:指定该消费者在被认为死亡之前可以与服务器断开连接的时间,默认3秒

9、heartbeatintervalms:制定了poll方法向协调器发送心跳的频率。

注:一般9是8的三分之一

10、autooffsetreset:消费者在读取一个没有偏移量分区或者无效偏移量分区的情况下如何处理(latest:从最新记录开始读取,earliest:从最早的记录开始读取)

11、enableauthcommit:消费者是否自动提交偏移量,默认为true

12、autocommitintervalms:自动提交偏移量的时间间隔

13、partitionassignmentstrategy:分区分配给消费者的策略:

(1)range:会把主题若干个连续分区分配给消费者

(2)roundRobin:会把主题的所有分区逐个分配给消费者

14、clientid:任意字符串,broker用来区分客户端发来的消息

15:maxpollrecords:控制poll方法返回的最大记录数

16:receivebufferbytes/sendbufferbytes:tcp缓冲池读写大小

(四)订阅主题

consumersubscribe(list)

(五)轮训(消费者API的核心)

1、轮训作用: 只要消费者订阅了主题,轮训就会处理所有的细节(群组协调、分区再均衡、发送心跳、获取数据)

(1)获取数据

(2)第一次执行poll时,负责查找协调器,然后加入群组,接受分配的分区

(3)心跳的发送

(4)再均衡也是在轮训期间进行的

2、方法:poll(),消费者缓冲区没有数据时会发生阻塞,可以传一个阻塞时间,避免无限等待。0表示立即返回。

3、关闭:close(),网络连接随之关闭,立即触发再均衡。

4、线程安全:无法让一个线程运行多个消费者,也无法让多个线程公用一个消费者。

(六)提交和偏移量

1、提交:更新分区当前位置的 *** 作

2、如何提交:消费者往一个特殊主题(_consumer_offset)发送消息,消息中包含每个分区中的偏移量。

3、偏移量:分区数据被消费的位置。

4、偏移量作用:当发生再均衡时,消费者可能会分配到不一样的分区,为了继续工作,消费者需要读取到每个分区最后一次提交的偏移量,然后从偏移量的地方继续处理。

5、提交偏移量的方式

(1)自动提交:经过一个时间间隔,提交上一次poll方法返回的偏移量。每次轮训都会检测是否应该提交偏移量。缺陷:可能导致重复消费

(2)手动提交:commitSysn()提交迁移量,最简单也最可靠,提交由poll方法返回的最新偏移量。缺点:忘了提交可能会丢数据,再均衡可能会重复消费

(3)异步提交:同步提交在提交过程中必须阻塞

(4)同步异步提交组合

(5)提交特定的偏移量

(七)再均衡监听器

(八)从特定偏移量读取数据(seek)

1、从分区开始:seekToBegining

2、从分区结束:seekToEnd

3、ConsumerRebalanceListener和seek结合使用

(九)如何退出

1、前言:wakeup方法是唯一安全退出轮训的方法,从poll方法中退出并抛出wakeupException异常。如果没有碰上轮训,则在下一次poll调用时抛出。

2、退出轮训

(1)另一个线程调用consumerwakeup方法

(2)如果循环在主线程里可以在ShutdownHook里面调用该方法

3、退出之前调用close方法:告知协调器自己要离开,出发再均衡,不必等到超时。

(十)独立消费者(assign为自己分配分区)

无线传感器网络是由大量的传感器节点采用无线自组织方式构成的网络 其应用前景广阔[ ][ ] Zigbee技术是一种具有统一技术标准的短距离无线通信技术 其PHY层和MAC层协议基于IEEE . . 协议标准 该标准把低能耗 低成本作为重要目标 主要应用于低速传输 可以作为无线传感器网络的通信协议

随着社会老龄化的加剧 解决长期慢性病的监护成为重要的社会问题 一些突发性疾病和家庭保健 如心血管疾病 老人的日常护理 孕妇 胎儿 婴儿 幼儿的保健也需要长期的家庭监护 由于我国医疗资源紧缺 研究基于公用网络的家庭医疗监护 建立小区医疗网络 可以提高医疗服务水平 减轻病人负担 以往的解决方案是采用有线方式或简单的无线数据发射接收方式 被监护者身上安装的传感设备难以自由灵活地移动和接入 系统没有扩展性 成本高 Zigbee 技术的出现为传感器信号的无线传输提供了新的解决方案 Zigbee节点有几十米的覆盖范围 且可以增加路由节点 扩展覆盖范围 因此适用于家庭住宅 同时由于生理监护信号的数据传输流量不大 传输速率为 kbps的Zigbee能够满足生理数据传输要求 Zigbee传感节点可自由灵活地加入和离开网络 具有低功耗和低成本的特点

Zigbee无线传感器网络的上述特点使其在个人生理信号监测和远程家庭监护方面将有很好的应用前景 本文在分析Zigbee无线传感器网络技术的基础上 对其在移动监护的应用进行了研究

基于Zigbee的无线网络家庭监护系统架构

. 远程家庭监护系统对网络的要求

家庭监护网络需要考虑能耗 覆盖面 传输速率和互联网进行通信等因素 本研究采用基于Zigbee技术的无线网络实现在室内对生理信号的采集 通过互联网将生理数据传输到远程监护服务器 人体携带可移动生理信号传感器终端 在网络的可覆盖范围内活动 通过网络内的路由节点接入互联网 Zigbee网络具有自组织 动态路由 网络节点少等特点 同时Zigbee网络考虑了节点的能量节约 减少节点处理器的计算负担等问题 医院或社区的医生可以随时通过互联网查看患者的生理信息 可以对生理传感器的采集方式进行控制 同时也可以获得无线网络中其他监护设备的信息

. 网络拓扑结构

IEEE . . 协议的网络拓扑结构有三种类型 星形结构 网格状结构和族状结构.如图 所示 其中网格状结构和族状结构属于点对点的结构 在 . . 网络中 根据设备所具有的通信能力可以分为全功能设备(FFD)和精简功能设备(fIFD) FFD设备之间以及FFB设备与RFD设备之间可以直接通信 RFD之间不能直接通信 在IEEE . + 网络中 有一个称为PAN网络协调器的FFD设备 是传感器网络中的主控制器 每个网络仅有一个主控制器 网络协调器除了直接参与应用以外 还要完成成员的身份管理 链路状态信息管理以及分组转发等功能[ ][ ]

星形网络中所有节点都与中心协调器通信 节点间不能直接通信 中心节点的能量消耗大 适合于网络节点较少 网络结构简单 小范围的网络应用 而点对点网络中只要通信双方都在其辐射范围之内 任何两个设备之间都可以通信 点对点网络中的协调器主要负责实现管理链路状态信息 认证设备身份等功能 点对点网络支持Ad Hoc网络 且可以构造更复杂的网络结构

在家庭监护系统中 被监护对象可能在多个房间内活动 为了能随时扩大覆盖范围 且方便以后功能扩展 选用族状网络拓扑结构 在与互联网的连接方面 建立zi卤ee无线网络与以太网的网桥 将监护信息传送到监控服务器 实现监护信息的共享

家庭监护网络体系结构

基于上述分析 本文设计的远程家庭监护网络体系结构如图 所示 Zigbee无线系统主要由Zigbee无线传感器节点(脉搏传感器节点) 若干个具有路由功能的无线节点和zigbee中心网络协调器(连接家庭无线网桥)组成 无线网桥连接zigbee无线网络与以太网 是家庭无线网络的核心部分 负责无线传感器网络节点和设备节点的管理 图中A B C D为具有路由功能的FFD节点 传感器节点与路由节点自主形成一个多跳的网络

脉搏传感器节点可以通过A B C D节点向网关发送数据 由于被监护者在家庭内自由活动 所以其携带的传感器节点的路由可能是动态变化的 所设计的 Zigbee无线节点的室内通信距离为 ~ m A B C D节点可根据房间的分布进行布置 以能够最大程度地覆盖活动区域 脉搏生理数据经过家庭网关传输到远程监护服务器 远程监护服务器负责脉搏生理数据的实时采集 显示和保存 其他的监护信息如监护图像 安全设备状态等也可以传输到服务器 医院监护中心和医生可以登录监护服务器查看被监护者的生理信息.也可以远程控制家庭Zigbee无线网络中的传感器和设备 从而在被监护病人出现异常时 能及时检测到并采取抢救措施 被监护者的亲属等也可以登录监护服务器随时了解被监护者的健康状况

Zigbee家庭无线网络监护系统硬件结构

对于传感器节点 需要具有小尺寸 低功耗 适应性强的特点 根据 Zigbee协议标准 Zigbee设备发射输出为 ~ . dbm 通信距离为 ~ m 能够检测能量和链路质量 根据这些检测结果 可自动调整设备的发射功率 在保证通信链路质量的条件下 最小地消耗设备能量 目前市场上的无线发射 接收芯片典型的有Chipcon公司和Freeseale公司的产品 本文选用Freescale的 作为系统的射频芯片 此芯片可以结合Freescale公司的控制器GT 一起组成低功耗的无线模块 无线传感器节点的结构框图如图 所示

 由于无线传感器具有随身携带要求 因此采用纽扣电池 脉搏传感器采用PVDF压电薄膜 其输出阻抗很大 由调理电路实现信号放大和滤波 设计时考虑到高频电路对传感器信号的干扰 传感器调理电路与高频发射接收部分分开设计 天线设计是无线模块设计的关键 直接影响到传感器节点的通信质量和通信距离 可以参照常用的 . GHz天线的设计方法 本设计采用偶极子微带PCB板天线 所有铜箔的走线均采用微带传输线的原理 以减少反射引起的传输损耗 获得较大的输出功率和较高的接收灵敏度

家庭网关负责家庭无线传感器网络的控制和管理 实现信息的融合处理 并将信息传输到互联网 家庭网关的数据传输和运算量较大 并且可以采用外部电力作为电源供应 因此采用具有较强的信息处理能力和网络功能的arm 系列作为控制器 本文采用三星的S C 作为控制器 无线发射芯片采用 Freeseale的MCl 无线控制器芯片采用GT 两者通过SPI口通信 无线网关的硬件结构如图 所示

Zigbee无线网络软件系统

Zigbee协议栈由一系列分层结构组成 每一层为上一层提供服务 数据实体提供数据传输服务 管理实体提供其他功能服务 每种服务实体通过服务接入点CsAP)为上层提供接口 基于Zigtme网络软件分层结构如图 所示

PHY层和MAC层由IEEE . . 标准组制定 物理层定义了物理无线信道和MAC子层之间的接口 提供物理层数据服务和物理层管理服务 物理层数据服务从无线信道上收发数据 物理管理层维护一个由物理层相关数据组成的数据库

Zigbee联盟基于 . . 标准提供了网络层和应用支持层及应用层框架 Zigbee网络层提供加入和离开网络机制 对数据进行加密以及帧路由等功能 路由协议负责将数据分组从源节点通过网络转发到目的节点 主要完成两个功能 ( )寻找源节点和目的节点间的优化路径 ( )将数据分组沿着优化路径转发 为了能够高效利用能量 减少通信量 Zigbee网络允许树形路由选择 即树形结构选址 有了树形路由选择 设备不必保存占有庞大内存的路由表或者进行额外的空中下载 *** 作来发现路径 从而减小了网络流量 为避免错误信息超过一定长度的过渡路由而产生额外的流量 Zigbee路由允许路由器去发现捷径

路由算法采用AODV(Ad hoc On Demand Distance Vetor)算法 每个路由器维护一张路由表 并定期与其邻居路由器交换路由信息 根据最小路由矢量更新自己的路由表 应用层框架定义监护网络节点协议

无线网关连接内部无线网络与外部有线以太网 网关设计模型如图 所示 网关采用arm 系列实现 运行Linux *** 作系统 在Zigbee协议帧的基础上 建立无线阿关的通信协议 包括设备编号 数据流方向 数据信息等 开机上电后.系统自检 硬件初始化 与远程监护服务器连接后进入数据流中继服务 实现数据协议的转换等功能 远程服务器接受连接后 随时接收传输的数据.并根据需要分类保存到数据库服务器

实验结果分析

根据设计的zigbee无线监护网络平台 对人体随身携带的脉搏压力信号进行连续采集 并在监护服务器上实时显示 采用 位A/D转换器 数据采样频率 Hz 有线网络环境为校园局域网 采集数据的波形如图 所示 图 为投有使用网络传输 直接经过计算机采集的脉搏信号的波形曲线 采样频率为 Hz

通过对比图 和图 可以看出 经过家庭监护网络采集到的脉搏数据信号波形基本没有变形 只是网络的延时使信号产生了微小的抖动 当系统接入互联网 延时会加大 抖动更加明显 通过增加缓冲区等方法可以减小影响网络延时对实时信号采集 另一方面 由于人体的活动也会给信号带来很大的干扰.可进一步采取滤波等措施减小干扰

lishixinzhi/Article/program/qrs/201311/11071


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13463687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-12
下一篇 2023-08-12

发表评论

登录后才能评论

评论列表(0条)

保存