Zigbee入门概念及背景知识_zigbee背景-程序员宅基地

技术标签: Zigbee无线设备通信  物联网  嵌入式硬件  iot  

1、学习Zigbee之前首先要了解一下Zigbee与单片机的学习方法不同之处和难点在哪。

学习Zigbee相对于学习51单片机、STM32的难点:

  • 学习Zigbee不仅仅是学习控制器本身,还要掌握一堆叫做协议栈的代码和网络的一些相关东西,学习的任务量比较大。
  • 互联网关于Zigbee相关的深入实用的资料比较少,而Zigbee厂商TI提供的资料并不是安装学习中循序渐进的学习思路来板书的,加之都是英文,初学者学习起来非常费劲,学习效果不理想。
  • 在学习的过程中,初学者不知道利用一些软件或硬件上的工具来学习,导致学习效率不高,事倍功半。

2、什么是Zigbee?它能用来干什么?为什么要引入Zigbee?

  • Zigbee是无线设备之间的一种通信方式,类似人和人之间用普通话交流,普通话就是一种通信方式。Zigbee、Zigbee通信方式、Zigbee协议说的是一回事。
  • Zigbee的作用是构建无线局域网。ZIgbee网络中的节点、无线模块、无线设备说的是一个东西。
  • 如果一个无线局域网用于传感器的数据收集和监控,那么这个网络就叫做无线传感器网络。也就是说无线传感器网络是无线局域网的一个具体应用。
  • ZIgbee应用:家居(智能家居领域最广)、工业(传统有线设备组网通信方式:现场总线、CAN、485等)、矿产(矿工下矿信息监测和通信)、农业、医疗等

3、三种创建无线通信设备的特点:

  • 蓝牙:功耗低,组网网络节点数较少
  • WIFI:通信速率比较大,功耗大等
  • ZIgbee:
    • 优点:可以组建大规模的网络,功耗低(TI CC2530正常工作电流8mA,最低工作时可以达到几uA)
    • 缺点:通信速率比较小,最大250KBPS

4、Zigbee组网和以太网组网的区别

Zigbee组网和以太网组网是两种不同的网络组网技术,它们在用途、拓扑结构和通信特性上存在一些区别。以下是它们之间的主要区别:

  • 用途:
    • Zigbee组网:Zigbee是一种低功耗、近距离、无线传感器网络协议,通常用于物联网(IoT)应用中。它适用于连接和控制大量低功耗设备,如传感器、开关和智能家居设备。
    • 以太网组网:以太网是一种局域网(LAN)技术,通常用于计算机网络中。它用于高速数据传输,适用于连接计算机、服务器、路由器和其他网络设备。
  • 拓扑结构:
    • Zigbee组网:Zigbee支持多种拓扑结构,包括星型、网状和混合拓扑。其中,网状拓扑是最常见的,设备可以通过中继器相互连接,实现多跳通信,提高网络范围和覆盖性。
    • 以太网组网:以太网通常采用总线拓扑或星型拓扑。在总线拓扑中,所有设备都通过共享的传输介质连接在一起,而在星型拓扑中,每个设备都直接连接到中央交换机或路由器。
  • 通信特性:
    • Zigbee组网:Zigbee使用低功耗的射频技术进行通信,具有较低的数据传输速率和较长的传输延迟。它专注于低能耗和低数据率的应用,并支持设备之间的睡眠和唤醒操作,以延长电池寿命。
    • 以太网组网:以太网使用高速有线传输介质(如双绞线或光纤),提供较高的数据传输速率和较低的传输延迟。它适用于要求高带宽和实时性的应用,如互联网访问、视频流和音频传输。

总的来说,Zigbee组网适用于物联网领域,特别是需要低功耗、低数据率和大规模设备连接的场景。以太网组网则更适合传统的计算机网络,需要高带宽和实时性的数据传输。

5、Zigbee常见组网

很多种ZIgbee模块构建一个ZIgbee网络,主模块与网络中其它模块进行通信并将其它模块的数据收集起来通过串口传到计算机上面去。然后通过计算机上位机程序对整个ZIgbee网络实现监控,或者由计算机通过以太网发给远程计算机来进行监控,也可以由计算机通过WIFI将数据发给手机进行监控。

注:手机是不能直接和ZIgbee模块进行无线通信的,只可以通过与计算机通信来间接实现对ZIgbee的监控,大家看到手机控制ZIgbee模块都是通过计算机上的程序来中转实现的,计算机相当于一个串口转WIFI的工具。

6、ZIgbee相关补充:

ZIgbee联盟:制定ZIgbee协议的一个协会组织,位于美国

TI:一个ZIgbee厂商,主要把ZIgbee协议用于推广和实际应用

ZSTACK:是TI公司创建的ZIgbee软件上支持的协议栈

CC2530:是TI公司推出的支持ZIgbee底层协议的一种芯片

IAR:是用于ZIgbee编程的软件,相当于编写单片机和STM32的Keil

7、芯片介绍:CC2530F256 TI 50J...

CC2530表示芯片类型,其它还有CC2531、CC2430、CC2431等

F256表示FLASH是256K

所有CC2530芯片的RAM都是8K

50J...表示50脚和其它PCB信息

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_25218501/article/details/131238614

智能推荐

方法论之新公司入职准备步骤-程序员宅基地

文章浏览阅读347次。2019.06.06从职业生涯的第二家公司离职,因为第二家公司是行业内的世界第一,世界500强,学到的东西很多,公司氛围,同事之间的关系也比较简单,收获满满。当时离职被卡满满30天,最后一天还帮忙调试程序,然后下一个工作日就直接新的公司入职了。第三家公司算是中型公司,全球职工千人+。入职第三天开始做项目,节奏有点赶,第一个周末就加班调试。因为没有做好入职准备,刚开始还是比较被动的。重要的事还提前做...

shutil 用法-程序员宅基地

文章浏览阅读776次,点赞2次,收藏2次。https://www.mihaoyun.comhttps://www.jb51.net/article/211773.htm

使用IDEA学习java基础语法_用idea讲java-程序员宅基地

文章浏览阅读892次,点赞2次,收藏9次。开始使用IDEA创建java工程,两种方法 直接创建java工程 然后一路next,只需要修改工程名和路径即可 先新创建一个空项目,一路next后再选择Moudle创建java模块,如图 然后进行项目结构的配置,将图中两个位置进行设置 然后按照正常步骤即可 常使用的快捷键 快速复制一行ctrl+d 快速删除一行ctrl+y java的基础语法1.注释 ..._用idea讲java

el-button 显示与禁用_el-button禁用-程序员宅基地

文章浏览阅读8.4k次。el-button 的显示与隐藏iconfont 的引用_el-button禁用

STL-map按value排序_std::map 按value排序-程序员宅基地

文章浏览阅读953次。方法1 将pair存入vector排序在map中存储 <key, value> 键值对的数据结构是pair,简单直接的想法是将map中的pair复制一份存储到vector中,并重写compare函数根据second元素排序,就可以使用sort对该vector进行排序。代码实现#include <iostream>#include <algorithm>#include <string>#include <map>#include &l_std::map 按value排序

python列表中两个元素,多个元素进行位置互换,列表排序_change_list()-程序员宅基地

文章浏览阅读1.3w次,点赞7次,收藏18次。两个元素位置互换change_list = [6, 8]print(change_list)# 交换列表,以下两个均可# change_list[0], change_list[1] = change_list[1], change_list[0]change_list[1], change_list[0] = change_list[0], change_list[1] pri..._change_list()

随便推点

PHP:2019年你面试会遇到的题目及解答(汇总)_2019php面试题-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏18次。2019年PHP面试常用题汇总及答案如下:1.如何防止form表单重复提交?2.Cookie被禁用了session还可以使用吗?3.你了解的或者用过的版本控制工具有哪些?简单说明一下。CVS,SVN, vss, git4.单例模式的优点,如何实现?5.单引号和双引号的区别是什么?(1)双引号可以解析变量,单引号不能解析变量(2)双引号和单引号可以互相嵌套(3)双引号当中的变量可以..._2019php面试题

maven中pom文件配置_maven pom appname-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏2次。pom配置基本如下:&lt;!-- 打包的机制,如pom,jar, maven-plugin, ejb, war, ear, rar, par,默认为jar --&gt; &lt;packaging&gt;war&lt;/packaging&gt; 定义常量,可采用${jdk.version}的方式引用配置jar包依赖配置:可在百度搜索maven repo..._maven pom appname

【前端学习笔记】JavaScript + jQuery + Vue.js + Element-UI_jquery2.14+vue2.5.16+element-plus-程序员宅基地

文章浏览阅读6.8k次,点赞23次,收藏156次。前端学习笔记JavaScriptVue.jsJavaScript基础语法(数据类型、字符串、数组、对象、Map、Set、iterable、函数基础)函数高级(变量作用域、解构赋值、方法、高阶函数、闭包、箭头函数、generator)摘自缪雪峰的博客的JavaScript个人笔记(3)Vue.js适合后端人员学习的Vue笔记(1)适合后端人员学习的Vue笔记(2)..._jquery2.14+vue2.5.16+element-plus

如何用DAP仿真器下载程序_dap下载器怎么连接-程序员宅基地

文章浏览阅读2.4k次。选择目标板,具体选择多大的Flash要根据板子上的芯片型号决定。秉火STM32开发板的配置是:F1选512K,F4选1M,我这里选的64k。擦除的Flash大小选择Sectors即 可,不要选择Full Chip,会非常慢。把仿真器用USB线连接至电脑,如果仿真器的灯亮则表示正常,可以使用。再把仿真器的另外-端连 接到开发板,给开发板上电,就可以通过软件KEIL或者IAR给开发板下载程序,仿真器见图1。单机LOAD按钮,进行下载,出现“Application running”下载成功。_dap下载器怎么连接

ACPI SpecV3.0学习总结_int15 getmemorymap-程序员宅基地

文章浏览阅读1.2k次。本文非原创文章,是对网上资料的整理,但忘了出处,在此未标明源地址表示抱歉。1.涉及的TABLESDTH &n..._int15 getmemorymap

Android Studio 引入aar文件_androidstudio引入aar包-程序员宅基地

文章浏览阅读2.5w次,点赞8次,收藏24次。方法一:在app目录下导入aar在app-libs目录下导入aar在app-build.gradle中配置repositories { flatDir { dir 'libs' } }implementation(name:'Test_debug', ext:'aar')构建项目,在External Libraries目录下会生成该依赖方法二、在项目根目录下导入aar(该方法更加实用,如果某一个library想依赖_androidstudio引入aar包

推荐文章

热门文章

相关标签