目录

  • 1.物联网的体系结构简介
    • 1.1.物理层
    • 1.2.介质访问控制层
    • 1.3.网络/安全层
    • 1.4.应用层
  • 2.最低需求估算
  • 3.硬件资源
    • 3.1.节点芯片选型
    • 3.2.CC2530简介
      • 3.2.1.CPU和内存
      • 3.2.2.时钟和电源管理
      • 3.2.3.外设
      • 3.2.4.无线设备
  • 4.ZigBee协议栈选型
  • 5.软件应用IAR
    • 5.1.协议栈Z-Stack目录
    • 5.2.协议栈的基本操作

1.物联网的体系结构简介

1.1.物理层

定义无线信息和MAC子层之间的接口,在驱动程序的基础上,实现数据传输和管理

提供两个服务:

数据服务: 从无线信道上收发数据
管理服务:

  1. 信道能量检测
  2. 链接质量指示
  3. 载波检测
  4. 空闲信道评估

1.2.介质访问控制层

提供两个服务:

MAC层数据服务: 保证MAC层协议数据单元在物理层数据服务中的正确收发
MAC层管理服务: 保证MAC层的活动,并维护一个数据信息库

1.3.网络/安全层

  1. 管理设备加入和退出网络,申请安全结构、路由管理
  2. 在设备之间发现和维护路由,发现邻设备、存储邻设备信息

1.4.应用层

应用支持子层(APS): 负责维持绑定表,在绑定的设备之间传送信息
ZigBee设备对象(ZDO): 定义设备在网络中的角色,发起响应和绑定请求,在网络设备之间建立安全机制

2.最低需求估算

打包: 由上层协议到底层协议
解包: 底层协议到上层协议

ZigBee协议套件紧凑而简单,并且实现其的要求很低

  1. 8位处理器,如8051
  2. 32KB的ROM,最小4KB的ROM
  3. 主节点需要更多的RAN(节点的设备信息、转发表、关联表以及密钥存储)

3.硬件资源

3.1.节点芯片选型

CPU:数据总线宽度4位、8位、16位机、32位机和64位选择合适的即可

4位单片机主要应用于工业控制领域
16位和32位单片机主要应用于视频采集、图形处理等方面

3.2.CC2530简介

硬件内部模块大致可分为三大类:

  1. CPU和内存相关的模块
  2. 外设、时钟和电源管理相关的模块
  3. 无线电相关的模块

3.2.1.CPU和内存

  1. CPU内核是一个单周期的8051兼容内核
  2. 三个不同的存储器访问总线(SFR、DATA和CODE/XDATA ),以单周期访问SFR 、DATA和主SRAM
  3. 一个调试接口
  4. 一个18源输入的扩展中断控制单元,18个中断源分为6组,每个中断与4个优先级之一相关

3.2.2.时钟和电源管理

  1. 内核和外设由一个1.8V低差稳压器供电
  2. CC2530由5中不同的复位源来复位设备

3.2.3.外设

  1. CC2530包含多种外设,允许程序设计者开发先进的应用
  2. 调试接口执行一个专有的两线串行接口,用于内电路调试

3.2.4.无线设备

CC2530具有一个IEEE 802.15.4 兼容无线收发器。RF内核控制模拟无线模块。另外,它提供了MCU和无线设备之间的一个接口,这使得可以发出命令、读取状态,自动操作和确定无线设备事件的顺序。无线设备还包括一个数据包过滤和地址识别模块

4.ZigBee协议栈选型

非开源、半开源和开源的协议栈

非开源:Freescale、Microchip
半开源:Z-Stack(支持ZigBee和ZigBeePro)
    Z-Stack内联了OSAL操作系统,标准的C语言代码,使用IAR开发平台,是一款适合工业级应用的ZigBee协议栈
开源:Freakz配合contiki操作系统
    适合学习

5.软件应用IAR

5.1.协议栈Z-Stack目录

  1. APP:应用层目录
  2. HAL:硬件层目录
  3. MAC:介质访问控制层
  4. MT:监控调试层目录
  5. NWK:网络层目录
  6. OSAL:协议栈的操作系统
  7. AF:应用框架层目录
  8. Security:安全层目录
  9. Tools:工程配置目录
  10. ZDO:ZigBee设备对象
  11. ZMAC:Z-Stack MAC
  12. ZMain:ZigBee协议栈的主程序

5.2.协议栈的基本操作

  1. 移除、增加
    移除:右键-remove
    增加:右键-add

  2. 查看函数宏定义
    选中函数,右键-Go to definition of …

  3. 信道选择和修改网络ID号

展开工程目录之下的Tools目录

f8w2530.cxl:包含了CC2530单片机的连接控制指令,包括堆栈的大小、内存分配等(一般情况不需要)
f8wConfig.cfg:包含了信道选择网络ID号等有关的链接命令
f8wCoord.cfg:配制无线网络中的协调器设备类型CPU的运行频率
f8wEndev.cfg:配置无线网络中的终端节点CPU和运行频率MAC设定
f8wRouter.cfg:配置无线网络中的路由设备的CPU运行频率MAC设定路由设定

  1. 设置ZigBee网络的拓扑结构

在NWK-nwk_globals.h中,将NWK_MODE_MESH(网状图)改为NWK_MODE_START(星状图,最简单、最稳定)或NWK_MODE_TREE(树状图)


ZigBee无线传感器网络入门相关推荐

  1. ZigBee无线传感器网络远程数据采集系统设计

       ZigBee无线传感器网络远程数据采集系统设计             原理: 在实验中,协调器节点负责建立网络,路由器节点与终端节点申请加入网络,然后周期性地采集温度.电压等发送给协调器,协调 ...

  2. 1-15 实验12 ZigBee无线传感器网络远程数据采集系统

    ZigBee无线传感器网络远程数据采集系统 1.实验内容:协调器建立网络,路由器和终端节点加入网络,然后周期性地采集温度和电压发送给协调器,协调器通过串口发送给PC的串口调试助手 2.补充:(为了便于 ...

  3. ZigBee学习(7)————Zigbee无线传感器网络远程数据采集

    目录 在开发ZigBee无线传感器网络过程中,需解决以下几个问题: 网络拓扑结构 传感器数据采集 网络节点能量供应问题 数据传输距离 设计原理图如下: 协调器编程: //Coordinator.hty ...

  4. ZigBee无线传感器网络知识点总结

    第一章 无线传感器网络 Wireless Sensor Network (WSN) 1 无线传感器网络定义 无线传感器是一种大规模.自组织.多跳.无基础设施支持的无线网络,网络节点是同构的.成本较低, ...

  5. ZigBee无线传感器的网络协议栈

    小结: Z-Stack协议栈 = OSAL操作系统 + CC2530硬件模块 + AF无线网络应用 协议定义的是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据收发;协议栈是协议的具体实现 ...

  6. Day3 : zigbee无线传感器网络管理之星型网络

    Day3 : zigbee无线传感器网络管理之星型网络 基于广播和单播的星状网络 网络拓扑结构 功能要求 实现过程 组播通信 功能要求 实现过程 串口无线透传实验 基于 Z-Stack 的串口通信 功 ...

  7. ZigBee学习笔记——(一)无线传感器网络

    第一章 无线传感器网络 一.无线传感器网络概述 二.无线传感器网络的特点 三.无线传感器网络体系结构 1.传感器节点体系结构 2.无线传感器网络体系结构 3.无线传感器网络协议体系结构 四.无线传感器 ...

  8. 无线传感器网络 | 期末复习知识点1

    为什么80%的码农都做不了架构师?>>>    一.基础知识 1.WSN传输介质有哪些,每种介质特性(传播速度.距离.能耗等) 2.传感器灵敏度.方向性等特征,信号频率与响应度关系. ...

  9. NUAA无线传感器网络 复习重点整理

    鸣谢 授课老师:郝洁老师 个人主页 在cdsn博主:Matts Tian 基础上修改.添加 Matts Tian 体系结构 什么是无线传感器网络? 无线传感器网络(Wireless sensor ne ...

最新文章

  1. hdu1874(畅通工程续)
  2. 『中级篇』docker容器安装wordpress(37)
  3. 300 行代码带你秒懂 Java 多线程!
  4. 签约华佗致力精准饮食 谋定·健康中国-李喜贵:健康干预治未病
  5. 反病毒引擎设计全解(二)
  6. 前端性能优化:使用Data URI代替图片SRC
  7. Struts DispatchAction
  8. 1一9数字行书写法_EduOffice数字书法教室-书法个性化临摹课件制作
  9. SPRING自定义注入CONTROLLER变量
  10. postgresql 备份 java_用JAVA执行CMD命令备份PG数据库,解决需要输入口令的问题
  11. rabbitmq原理 php,Rabbitmq基本原理
  12. Ubuntu硬盘全盘备份tar和clonezilla两种方案
  13. webpack遇见的坑:Please install 'webpack-cli' in addition to webpack itself to use the CLI.
  14. 父shell和子shell
  15. NOI 4.3 1538: Gopher II(匈牙利算法求最大匹配)
  16. r语言中大小写c的区别吗,R语言和C语言哪个难?
  17. 史上最全最实用的生活小窍门
  18. 使命召唤系列已创造近9000万销量
  19. 海岸TDM系统配置工具-流程
  20. Tomcat的8005、8009,8080端口解释

热门文章

  1. 眼在手外情况的二维视觉自动标定(一)
  2. Ubuntu技巧:linux下以人易读形势查看文件大小
  3. mDNS__2018.07.30
  4. html中div加滚动条
  5. 爬虫解析是干嘛用的?为什么要解析?
  6. 唤醒手腕 - 前端服务器端开发 Node.Js 学习笔记(学习中,更新中)
  7. 多维度卷积、rpn、fpn网络相关知识点记录
  8. 偏最小二乘回归(PLSR)- 1 概览
  9. linux如何升级内核版本
  10. 如何在cmd下查询mongodb数据库