1.物联网通信协议
短距离无线通信协议常见
物联网通信协议
接入-云协议
支持 TCP/IP 物联网设备可通过 WIFI、使用蜂窝网和以太网 HTTP、MQTT、CoAP、LwM2M 以及 XMPP 等待应用层协议接入云。
访问方式-网关协议
网关协议适用于蓝牙、ZigBee、LoRa 等。
这类设备需要接入网关转换后才能通过 TCP/IP 协议上云。
2、Zigbee 协议简介
一、Zigbee 历史
ZigBee,这个名字来源于蜂群使用的赖以生存和发展的通信方式:蜜蜂通过跳Zig-Zag舞蹈的形状分享了新发现的食物位置、距离和方向。
ZigBee前身于1998年INTEL、IBM等工业巨头发起的HomeRFLite”技术。
2002年下半年,英国Invensys公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦半导体公司四大巨头共同宣布加盟“Zigbee以研发名称为联盟Zigbee下一代无线通信标准。
Zigbee与IEEE 802.15.4
ZigBee 是开放式基础IEEE 802.15.4协议无线个人局域网(Wireless Personal Area Networks)标准。
IEEE 802.15.物理层和媒体接入控制层被定义,ZigBee网络层、应用层等更高层次的定义。
ZigBee技术特点
- 低功耗:因为ZigBee传输速率低,发射功率仅为 1mW,而且采用休眠模式,功耗低,所以ZigBee设备非常省电。据估计,ZigBee仅用两个5号电池就能维持6个月到2年左右的使用时间。
- 低成本:因为ZigBee模块的复杂性不高,ZigBee协议免收专利费,使用频段无需支付,成本低。
- 延迟:通信延迟和从休眠状态激活常短,典型的搜索设备延迟30ms,休眠激活的延迟是15ms, 活动设备信道访问的延迟为15ms。
- 网络容量大:星形结构ZigBee该网络最多可容纳254个从设备和主设备, 最多100个区域可以同时存在ZigBee网络,网络组成灵活。网状结构ZigBee网络中有6.5万多个节点。
- 可靠性:采用碰撞避免策略,为需要固定带宽的通信业务预留特殊间隙,避免发送数据的竞争和冲突。MAC层采用完全确认的数据传输模式, 每个发送的数据包必须等待接收方的确认。如果传输过程中出现问题,可以重新发送。
- 安全:ZigBee基于循环冗余验证(CRC)支持识别和认证的数据包完整性检查功能, 采用了AES-各应用程序可灵活确定128加密算法的安全属性。
ZigBee部分联盟成员
二、Zigbee设备类型
ZigBee 无线传感器网络有三种设备:协调器、路由器、终端节点
1、ZigBee协调器(Coordinator)
它包含所有的网络信息,是三种设备中最复杂的,存储容量大,计算能力最强。
它主要用于发送网络信标,建立网络,管理网络节点,存储网络节点信息,在节点之间找到路由信息,并不断接收信息。
一旦网络建立,协调器就像路由器节点。
2.ZigBee路由器(Router)
其功能包括允许其他设备加入网络、跳跃路由和辅助子树下电池供电终端的通信。
3.ZigBee终端设备(End-device)
终端设备没有络设备的维护没有具体的责任,因此它可以睡觉和称呼,根据自己的选择。
因此它能作为电池供电节点。
三、ZigBee网络拓扑
设备类型与拓扑有关
ZigBee网状(MESH)网络
四、ZigBee网络建立-协调器建立新网络的过程
1.检测协调器
节点必须有两个条件:
- 具有ZigBee协调器功能,
- 未加入其他网络。
任何不满足这两个条件的节点建立新网络的过程都将被网络层管理实体终止
2、信道扫描
信道扫描包括能量扫描和主动扫描。
配置网络参数
网络层管理实体将为新网络选择PAN必须满足描述符PAN描述符小于或等于0x3fff,不等于0xffff,它是所选信道中唯一的PAN描述符
4.运行新网络
5.允许设备添加网络
只有ZigBee协调器或路由器才能通过NLME_PERMIT_JOINING.request将节点设置在允许设备加入网络的状态下。
ZigBee网络建立-节点加入网络
1) 通过MAC层关联加入网络
2) 与以前指定的父节点连接加入网络
通过MAC层关联加入网络
- 发起子节点的信道扫描
- 存储各种子节点PAN信息
- 子节点选择PAN
- 父节点选择子节点
- 子节点请求MAC关联
- 父节点响应MAC关联
- 成功连接子节点响应
- 父节点响应连接成功
协议栈实现组网操作。
五、ZigBee应用领域
- 消费电子设备
- 家庭和楼宇自动化设备
- 工业控制装置
- 农业自动化
- 电脑外设
- 医用传感器
- 玩具、游戏机等设备
- 基于无线通信控制和自动化的小范围支持
3、Zigbee协议栈
ZigBee 协议栈有许多版本,由不同的制造商提供 ZigBee协议栈有一定的区别。
虽然协议是统一的,但协议的具体实现形式是不同的,即不同制造商提供的协议栈是不同的
- 函数名称与参数列表不同
- 了解厂家提供的 Demo 演示程序和解释文档学习
Zigbee协议栈使用
使用 ZigBee 协议栈开发的基本思路可概括为以下三点:
- 用户对于 ZigBee 无线网络的开发简化为应用层 c 语言程序开发不需要深入研究复杂性 ZigBee 协议栈;
- ZigBee 无线传感器网络中的数据采集只需在应用层中添加传感器的读取函数;
- 如果考虑节能,可以根据数据采集周期进行定时,定时时间到就唤醒 ZigBee 唤醒终端节点后,自动收集传感器数据,然后将数据发送给路由器或直接发送给协调器。