ZigBee发送大量数据,接收端数据库应该怎么设计

ZigBee发送大量数据,接收端数据库应该怎么设计,第1张

APP是应用层,一般只是在这里修改就可以,如果程序不是特别复杂的话,是不需要修改协议栈的。

至于协调器如何确认收到的是3个不同终端的数据,传感器向协调器发送数据的时候,是会发送自己的网络地址的,根据网络地址就可以判断是哪个节点发的了。如果是单纯组网的话,你可以看下SensorDemo例程,在TI官网上应该可以下到,在飞比网站上也可以找到。

如果要添加DS18B20采集温度和IH3605采集湿度这些外设,那么需要在传感器的程序里添加你自己的温湿度程序,设置好IO口和时序,明确你温湿度外设的数据发送流程和算法,把接收进来的数据再添加到SensorDemo原本的发送中就可以了。

ZigBee技术是一种短距离、低功耗的、便宜的无线组网通讯技术。基于IEEE802.15.4标准的低功耗局域网协议,其命名参照蜜蜂的群体通信网络。

ZigBee与蓝牙的对比:

1、优势不同:Zigbee提供了数据完整性检查和健全功能,采用AES-128加密算法,各个应用可灵活确定其安全属性,ZigBee技术在低功耗、低成本和组网能力具有无可比拟的应用优势。

蓝牙传输距离2-30M,速率1Mbps,功耗介于Zigbee和WIFI之间。

2、适用不同:ZigBee是国际通行的无线通讯技术,它的每个网络端口可以最多接入6.5万多个端口,适合家居、工业、农业等多个领域使用,而蓝牙和Wi-Fi网端只能接入10个端口,显然不能适应家庭需要。

蓝牙技术的出现使得短距离无线通信成为可能,但其协议较复杂、功耗高、成本高等特点不太适用于要求低成本、低功耗的工业控制和家庭网络。

3、限制不同:ZigBee作为无线双向通信技术,具有自我检测功能,例如,它可随时反馈与查询灯光及电器等设备开关状态,如果是灯光还可以查询灯光亮度级数,可以查询系统中地址的分配情况。

尤其蓝牙最大的障碍在于传输范围受限,一般有效的范围在10米左右,抗干扰能力不强、信息安全问题等问题也是制约其进一步发展和大规模应用的主要因素。

扩展资料:

zigBee无线通信技术可于数以千计的微小传感器相互间,依托专门的无线电标准达成相互协调通信,因而该项技术常被称为Home RF Lite无线技术、FireFly无线技术。

ZigBee无线通信技术还可应用于小范围的基于无线通信的控制及自动化等领域,可省去计算机设备、一系列数字设备相互间的有线电缆。

更能够实现多种不同数字设备相互间的无线组网,使它们实现相互通信,或者接入因特网。

参考资料:

百度百科-zigbee

 ZigBee 逻辑设备类型

      aCoordiantor 应该充当Trust Center 的角色,负载建立一个centralized

security network (集中式安全网络),不得加入其它网络。

      bRouter 应该可以加入一个已建立的集中式/分布式安全的网络,不能建立centralized security

network (集中式安全网络)。但是当无法加入已建立的集中式/分布式安全网络的情况下,可以自行建立distributed  security network (分布式安全网络)。

      cEndDevice 应该可以加入一个已建立的集中式/分布式安全的网络

       一个ZigBee可能支持充当Coordiantor和Router的两种角色的能力,可通过应用程序来切换,但是同一个时间只能充当一种角色,如:一个Router设备尝试加网但失败了,它可以切换至Coordiantor角色去建立一个集中式安全网络,一旦此设备建网/入网完成,不得再改变自己的设备类型,除非离网或者遭到其他破坏。

 Network 安全模型

      一个ZigBee网络可以支持集中式安全模型或者分布式的安全模型,所有非Coordiantor类型的ZigBee设备应该能通过合适的安全条件,加入到集中式安全模型或者分布式的安全模型的网络中,对于用户而言是无缝的。

 Link key 连接秘钥(16位)

所有ZigBee节点必须包含以下Link

key:

a 默认的(集中式安全网络)全局密钥:

Default global Trust Center link

key (0:15) = 0x5a 0x69 0x67

0x42 0x65 0x65 0x41 0x6c 0x6c 0x69 0x61 0x6e 0x63 0x65 0x30 0x39

b 分布式安全网络的全局秘钥

Distributed security global link

key (0:15) =0xd0 0xd1 0xd2 0xd3 0xd4 0xd5 0xd6

0xd7 0xd8 0xd9 0xda 0xdb 0xdc 0xdd 0xde 0xdf

c 由安装码得到的预配置秘钥

Install code derived preconfigured

link key(6/8/12/16字节任意值)= 安装码+CRC(2字节)->Hash散列函数->128位的Link Key

此外,如果设备支持touchlink 的入网方式,还需要包含以下秘钥:

d touchlink 预配置秘钥

Touchlink preconfigured link key

(0:15) = 0xc0 0xc1 0xc2 0xc3 0xc4 0xc5 0xc6

0xc7 0xc8 0xc9 0xca 0xcb 0xcc 0xcd 0xce 0xcf

安装码的使用

所有ZigBee 30的设备都需要支持安装码,Trust Center 可能要求所有设备以安装码的方式入网

        a非零售需要专业人员安装的ZigBee设备,可能配置为使用安装码的方式加网

        b零售的需要用户去配置的ZigBee设备,用户可以通过物理按键切换以下两种模式:只让使用安装码入网的节点入网的模式和使用其他所有方式入网的模式

        c零售的不需要用户配置的ZigBee设备应该能够自动加网

Commissioning

所有设备需要支持network steering(网络控制) 机制,以及finding & binding 机制

      aNetwork steering:所有ZigBee设备都需要支持network steering 机制

      bNetwork formation:设备建立网络的能力,其安全模型取决于ZigBee的设备类型:Coordiantor(集中式安全模型网络),Router(分布式安全模型)

      cFinding & binding :定位和绑定其他节点上的应用Cluster的能力

      dTouchlink commissioning :支持基于靠近的commissioning 方式,若支持touchlink commissioning方式,必须支持touchlink 为a initiator or a target or both 。

  对所有 ZigBee30 设备的必须满足的要求

aZDO discovery service commands :

Active_EP_req,Node_Desc_req,Simple_Desc_req,IEEE_addr_req, NWK_addr_req,Match_Desc_req,

Active_EP_rsp ,Node_Desc_rsp,Simple_Desc_rsp,IEEE_addr_rsp,NWK_addr_rspandMatch_Desc_rspcommands

bZDO node manager service commands :

Mgmt_Bind_req, Mgmt_Lqi_req

Mgmt_Bind_rspand,Mgmt_Lqi_rspcommands

cZDO binding table service commands :

Unbind_req ,Bind_req

Bind_rsp,Unbind_rsp

dZDO network manager service command :

Mgmt_Leave_req

Mgmt_Leave_rsp

    e一个ZigBee节点在finding & binding 的时候去广播Identify Query ,至少能够处理一个Identifycluster的Identify Query Response 命令,如果能处理多个Identify Query Response 命令,需要进行特殊处理

    d一个节点如果是finding

& binding的发起者,其绑定表大小必须大于等于Cluster的实体数量,在finding

& binding, touchlink 或者centralized

commissioning 的时候完成绑定表配置的,不管是哪种生成的绑定表,都必须保持一致,才能够通过Mgmt_Bind_req  命令获取其内容

    f对于一个节点的每个强制的可报告的属性实体都必须要有默认的report配置

  默认的 reporting 配置

   一个可报告的属性实体都有默认的report配置(最大报告间隔为0x0000或者0x003d~0xfffe),一个已绑定的cluster之间需要发送report,需要支持随时更新配置report。当两次报告的间隔等于最大报告间隔时需要产生report,如果最大报告周期设置为0,那个不会产生周期性的report,但是任然可以在属性值改变后产生report

 MAC data polling

   BDB文档对Mac层的Poll频率不做限制

   poll的频率应该是可以根据节点的状态进行动态调节的,推荐使用短poll和长poll,ZigBee父节点为自己子节点缓存的数据生命期只有75s,因此睡眠终端设备的poll频率应该比75s/次快才能确保拿到自己的数据。

    如果EndDevice节点在等待reponse消息的时候,它必须使用短poll间隔,至少3s/次。

    如果没有等待的消息可能需要使用长poll间隔,如一小时一次,来确保与父节点的连接可用

    在ZigBee加网和finding &

binding 的阶段,睡眠终端设备必须使用短poll间隔

ZigBee 永久数据

     设备重启依然需要保存之前的bdbNodeIsOnANetwork属性

GreenPower

    ZigBee 30的Router和Coordiantor必须支持Green Power(endpoint 242),EndDevice类型的设备需要根据硬件设计来选择是否支持Green

Power。

Network Steering

ZigBee 30的设备加网时,会依次用Install code

derived preconfigured link key、Default global

Trust Center link key 、Distributed

security global link key和Touchlink

preconfigured link key(如果支持Touchlink的加网方式)扫网加网,每次先扫描主信道(非wifi重合信道)再扫描次信道(余下的),而且起始的通道号是随机产生的;这个过程叫Network Steering。

JAVA无法 *** 作到底层,你可以用C来编写代码,JAVA通过JNI来调用C写的函数实现对zigbee硬件的控制。

如果你要使用普通的android手机来控制硬件,得做一个中间件,能够和android通信,同时又能和硬件通信的设备。

看你选什么模块。如果你是选择芯片级的模块,那么当然你要写固件程序。如果你选择的是成品的嵌入式模块,就是厂家已经把软件协议以固件的形式给你写好了,那么你只需要按照厂家的要求使用即可,不需要自己写什么额外程序。(使用前,通过厂家提供的配置软件,配置一些参数,还是必须的)

以上就是关于ZigBee发送大量数据,接收端数据库应该怎么设计全部的内容,包括:ZigBee发送大量数据,接收端数据库应该怎么设计、zigbee通信模块,通常大家都用那种通常基于什么编程语言和蓝牙相比那个技术实现简单、ZigBee协议详解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存