一、快速上手

1.1、小知识汇总

  • 路由器和协调器统称为全功能设备。
  • panid
    • FFFF时表示自动panid,一般出厂为该值,使用的时候最好自己设置一个panid,一旦网络建立成功,panid就不会变。
    • panid相当于一个网络的唯一标识,可以看做是这个网络的通行证。
  • 短地址
    • 短地址和网络地址一般是一个东西。
    • 协调器短地址固定为0
  • 协调器模式 -> 点播 -> 短地址方式传输(透传)
  • 在Zigbee协议里面,当设备加入网络时,网络就已经知道了设备Mac地址,并且会分配一个短地址(网络地址)给到设备,所以无论用Mac地址通信也好,还是短地址通信也好,都是一样的。

1.2、上手使用

工作模式处于模式3(协议模式),HEX指令模式。
两个组网示例(定点组网中的点播,其中的传输模式选择MAC地址方式)

  • 一个协调器
  • 一个终端

二、Zigbee介绍

2.1、产品简介

E18-MS1-PCB 是一款小体积 2.4GHz 频段的 ZigB ee 转串口无线模块,贴片型,PCB 板载天线,发射功率 2.5m W,引脚间距 1.27mm,出厂自带自组网固件,到手即用,适用于多种应用场景(尤其智能家居)。E18-MS1-PCB 采用美国德州仪器公司原装进口 CC2530 射频芯片,芯片内部集成了8051 单片机及无线收发器,出厂自带固件基于 ZigBee 协议实现的串口数据透传,同时还加入了一些特殊功能,包括 ADC 采样,远程 PWM 波输出控制。

2.2、产品特点

  • 角色切换:用户可通过串口指令让设备在协调器,路由器和终端的三种类型中任意切换。
  • 自动组网:协调器上电自动组建网络,终端和路由器自动搜索并加入网络。
  • 网络自愈:网络中间节点丢失,其他网络自动加入或保持原网络(孤立节点自动加入原网络,非孤立节点保持原有网络);协调器丢失,原网络存在非孤立节点,协调器可再次加入该网络或者相同用户设置的原网络 PAN_ID 的协调器加入原有网络。
  • 超低功耗:设备在终端状态下,可设置为低功耗模式,可根据用户使用时间更改设备休眠时间,低功耗模式下待机功耗小于 2uA ;在父节点数据保存时间内都能在用户设置时间内接收到自己应当受到的消息。
  • 数据保留时间设置:设备在协调器和路由器状态下,用户可自行设置数据保存时间,与休眠模式下的终端配合使用,对终端设备的数据进行保存,并在终端休眠唤醒后将数据发送到终端;最多保存 3 条数据,若超出,自动清除最先的数据;数据保存时间过后,数据堆自动清空。
  • 自动重发:在单播(点播)模式下,设备发送到下一节点失败时自动重发,每条消息重发次数为 3 次。
  • 自动路由:模块支持网络路由功能;路由器和协调器承载网络数据路由功能,用户可进行多跳组网。
  • 加密协议:模块采用 AES 128 位加密功能,能改对网络加密及防监听;用户可自行更改网络密匙,相同网络密匙的设备方能正常组网通信。
  • 串口配置:模块内置串口指令,用户可通过串口指令配置(查看)模块的参数及功能。
  • 多类型数据通信:支持全网广播,组播及点播(单播)功能;在广播和单播模式下还支持几种传输方式。
  • 多工作模式选择:支持透传模式,半透传模式,协议模式,三种工作模式,用户可自由切换。
  • 信道变更:支持 11~26 等 16 个信道更改(2405~2480MHZ),不同信道对应不同频段。
  • 网络 PAN_ID 更改:网络 PAN_ID 的任意切换,用户可自定义 PAN_ID 加入相应网络或者将自动选择 PAN_ID 加入网络。
  • 串口波特率更改:用户可自行设置波特率,最高可达 1M,默认位数为 8 位,停止位 1 位,无校验位。
  • 短地址收索:用户可根据已加入网络的模块 MAC 地址(唯一的,固定的)查找出相应的短地址。
  • GPIO 控制:本地/远程的 GPIO 控制功能,十个 GPIO 供用户选择。
  • PWM 控制:本地/远程的 PWM 控制,5 个 PWM 通道供用户选择。
  • ADC 控制:本地/远程的 ADC 读取,7 个 ADC 通道供用户选择。
  • 指令格式切换:本模块支持 AT 指令和 HEX 指令两种指令模式,用户轻松配置,轻松切换。
  • 模块复位:用户可通过串口命令对模块进行复位操作。
  • 一键恢复波特率:如果用户忘记或不知波特率的情况下,可使用该功能,恢复默认波特率为 115200(双击复位)。
  • 恢复出厂设置:用户可通过串口命令对模块进行出厂设置的恢复。

2.3、Zigbee简介

ZigBee 技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术。在 Zig Bee 网络中存在三种逻辑设备类型:Coordinator(协调器),Router(路由器)和 End-Device(终端设备)。Zig Bee网络由一个 Coordinator 以及多个 Router 和多个 End_Device 组成。各类型设备功能如下:

  • (1)Coordinator(协调器)协调器负责启动整个网络。它也是网络的第一个设备。协调器选择一个信道和一个网络 ID(也称之为 PAN ID,即 PersonalArea Network ID),随后启动整个网络。协调器也可以用来协助建立网络中安全层和应用层的绑定(bindings)。注意,协调器的角色主要涉及网络的启动和配置。一旦这些都完成后,协调器的工作就像一个路由器(或者消失 go away)。由于 Zig Bee 网络本身的分布特性,因此接下来整个网络的操作就不在依赖协调器是否存在。
  • (2)Router(路由器)路由器的功能主要是:允许其他设备加入网络,多跳路由和协助它自己的由电池供电的儿子终端设备的通讯。通常,路由器希望是一直处于活动状态,因此它必须使用主电源供电。但是当使用树群这种网络模式时,允许路由间隔一定的周期操作一次,这样就可以使用电池给其供电。
  • (3)End-Device(终端设备)终端设备没有特定的维持网络结构的责任,它可以睡眠或者唤醒,因此它可以可以是一个电池供电设备。

2.4、工作模式

2.5、用户指令集

为方便用户使用情况, E18 ZigBee 模块使用了两种指令格式,即 AT 指令格式和 HEX 指令格式。 其格式模式用默认情况P1_6 控制。

  • 当 P1_6 = 0 时,模块进入 HEX 指令模式。 在此模式下,输入+++,进入临时 AT 指令模式。 即可使用 AT 指令进行配置,输入 AT+EXIT 退出临时 AT 指令。
  • 当 P1_6 = 1 时,模块进入 AT 指令模式。 在 AT 指令时,不能使用换行符结尾。

模块如上图所示,其中红圈内的10跳线帽用于切换AT和HEX指令模式。插上跳线帽,表示HEX指令模式(低电平),不插跳线帽表示为AT指令模式(高电平)(P1.6)

Zigbee(E18-MS1-PCB)使用记录相关推荐

  1. 电路设计PCB学习记录——220v转12v5v降压电源

    做一个电源模块来给单片机的外设供电. 目录 原理图绘制 pcb图绘制 电路板实物 实物图 百度网盘pcb工程与库 原理图绘制 参数一样的器件,选用一样的封装. 几个器件封装如下: C1 RB.3/.6 ...

  2. XBee/XBee-Pro ® ZigBee 模块

    (此处http://www.bitconn.com/form_1/注册后,购买XBee模块,送USB评估底板) Digi ZigBee模块发展历史  如果您有幸用过十多年前Digi的第一代ZigBee ...

  3. 计算机操作系统pcb是什么意思,简述PCB的含义以及作用

    描述 为了使参与并发执行的每个程序,包含数据都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(PCB,Process Control Block).进程与PCB是一一对应的, ...

  4. Linux下的进程PCB以及线程详解

    进程PCB详解 为了每个程序能独立运行,便为其配置了一个专门的数据结构,称为:PCB(PCB,Process Control Block)进程控制块. 进程控制块描述了.管理着进程运行的全部信息,是操 ...

  5. 操作系统之进程控制块PCB

    操作系统之进程控制块PCB PCB的作用: PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程. (1) 作为独立运行基本单位 ...

  6. linux里面有mysql的僵尸进程_Linux的僵尸进程处理1

    Linux中有两种异常的进程: 1.孤儿进程:应用通过fork进程后,父进程被kill或者exit,该父进程的子进程被1号进程接管.linux内核启动时候回启动0号进程,启动完毕后0号进程就处于空闲状 ...

  7. Linux进程间通信--信号

    signal 一.初步理解信号 为了理解信号 ,先从我们最熟悉的场景说起: 1.用户输入命令,在Shell下启动一个前台进程. 2.用户按下Ctrl-C,这个键盘输入产生一个硬件中断. 3.如果CPU ...

  8. 【知识强化】第二章 进程管理 2.1 进程与线程

    处理机管理相关的内容.认识一个很重要的概念叫做进程. 系统当中正在运行的程序怎么怎么地,怎么怎么地,偶尔也会提到进程这个术语."进程"和"程序"这两个概念是比较 ...

  9. UDP调用connect

    UDP调用connect函数之前写过了,用的一个编程实例简单说明了一下,今天再更深入的学习一下. 之前博文地址:https://blog.csdn.net/ma2595162349/article/d ...

最新文章

  1. 点云Las文件是什么?
  2. 学习 FPGA之前的基础知识
  3. 主题:Centos6.4安装JDK
  4. 使用AspectJ,Javassist和Java Proxy进行代码注入的实用介绍
  5. 华为荣耀6 H60-L02/L12(联通版)救砖包【适用于无限重启】
  6. JavaScript之数组去重
  7. Redis数据结构总结
  8. android集成第三方---集成wps实现文档阅读功能
  9. 什么是金融衍生品工具?
  10. 无线网络安全——1、WiFi安全基础知识
  11. NK-RTU980 USB bulk传输
  12. 通过HbuilderX启动 微信开发者工具
  13. NSDate计算时间差
  14. web work 。。。
  15. 多个搜索引擎搜索网站,提高搜索效率,快人一步
  16. 基于PHP的网上商城
  17. depth是什么意思啊(depth是什么意思啊英语)
  18. flv视频使用,和部分url不能播放的问题解决
  19. 一条有意思的SQL语句分析
  20. 使用phpstudy本地搭建织梦网站教程

热门文章

  1. 骡子的一生和性能测试
  2. 四川师范大学自然地理(2-地壳)90分以上版本
  3. 安全集成SAP与微信钉钉
  4. Java核心技术36讲 第一讲:Java平台的理解
  5. 云计算专业防火墙混合模式应用实验
  6. Postgresql逻辑复制DDL插件pgl_ddl_deploy
  7. 企企通聚源池| 聚合海量资源全网寻源,赋能供采双方撮合交易
  8. python和java哪个好找工作-短期找工作,编程语言是学习Python还是Java好呢?
  9. advisor纯电动汽车仿真、纯电动公交、纯电动客车、纯电动汽车动力性仿真
  10. HashMap和有序LinkedHashMap实现对比