(http://www.bitconn.com/form_1/ 登记后,购买XBee模块,送USB评估底板及相关中文资料,或者免费申请借用评估套件)
目录
XBee模块输入和输出
所有XBee模块都有一组引脚,可用于连接传感器或执行器并针对特定行为对其进行配置。每个XBee无线电都具有直接收集传感器数据并进行传输的能力,而无需使用外部微控制器。
使用这些引脚,例如,您可以通过将信息发送到连接到执行器的XBee模块来打开灯,或者通过从XBee模块上安装的温度传感器获取数据来测量外部温度。
在本节中了解I / O引脚,传感器,执行器,然后通过使用传感器使您的知识投入工作。
XBee I/O引脚
下表显示了XBee THT和XBee SMT模块的I / O引脚:
XBee THT 过孔型
XBee SMT 表贴型
引脚名称 | 物理针号 | 参数 | |
---|---|---|---|
THT | 贴片机 | ||
DIO0,AD0 | 20 | 33 | D0 |
DIO1,AD1 | 19 | 32 | D1 |
DIO2,AD2 | 18 | 31 | D2 |
DIO3,AD3 | 17 | 30 | D3 |
DIO4 | 11 | 24 | D4 |
DIO5 | 15 | 28 | D5 |
DIO6 | 16 | 29 | D6 |
DIO7 | 12 | 25 | D7 |
DIO8 | 9 | 10 | D8 |
DIO9 | 13 | 26 | D9 |
DIO10,PWM RSSI | 6 | 7 | P0 |
PWM1,DIO11 | 7 | 8 | P1 |
DIO12,PWM2 | 4 | 21 | P2 |
DIO13 | 2 | 3 | P3 |
DIO14 | 3 | 4 | P4 |
DIO15 | — | 17 | P5 |
DIO16 | — | 16 | P6 |
DIO17 | — | 15 | P7 |
DIO18 | — | 14 | P8 |
DIO19 | — | 12 | P9 |
(D =数字,I =输入,O =输出,AD =模拟输入,PWM =脉宽调制,—不可用)
注意可用的IO的数量和类型在不同的模块型号之间可能有所不同。
传感器
传感器是检测事件或变化,并提供相应的输出,通常作为电气信号输出的装置。
传感器有两种类型:数字传感器和模拟传感器。运动传感器是数字传感器,因为它可以返回两个离散值:检测到运动或未检测到运动。其他数字传感器可能会提供二进制值。例如,数字罗盘可以通过发送0到359范围内的9位值来提供当前的航向。另一方面,温度计是一种模拟传感器,因为电压输出会随着温度的变化而逐渐变化。
设置数字和模拟传感器的引脚
根据与其连接的传感器配置XBee模块的引脚:
- 如果连接数字传感器,请将引脚配置为数字输入。
- 如果连接模拟传感器,则将该引脚配置为模数转换器(ADC)。
驱动器
驱动器是负责控制机构或系统的设备。XBee设备提供了一些简单的输出功能,因此可以进行基本的操作。例如,您可以将数字信息直接发送到XBee设备,并指导它打开灯或启动电动机。
配置数字和模拟执行器的PIN脚
根据与其连接的执行器配置XBee设备的引脚:
- 如果连接数字执行器,则将引脚配置为数字输出。
- 如果连接模拟执行器,则将引脚配置为PWM(模拟输出)。
XBee设备如何获取传感器数据
XBee设备通常用于建立传感器网络。在传感器网络中,主设备(也称为本地XBee设备)从连接到远程XBee设备的传感器接收数据。
要接收该数据,必须将远程XBee设备配置为“侦听”连接传感器的特定引脚,并将数据发送到主XBee设备。
如何将引脚配置为输入
配置数字输入引脚
您可以通过XCTU配置引脚。如果您的传感器读取数字值(如门铃)并连接到DIO1 / AD1引脚,则将D1参数配置为数字输入[3]:
配置用于模拟输入的引脚
如果您的传感器读取模拟值(例如温度传感器)并且连接到DIO1 / AD1引脚,则将D1参数配置为ADC [2]:
如何从传感器获取数据
有两种获取传感器信息的方法:
- 查询采样以立即读取所有使能的数字和模拟输入引脚。
- 自动采样可定期或每当数字引脚发生变化时传输传感器数据。
在这两种情况下,信息都被发送到另一个模块,称为IO采样。它包含那些输入(DIO线或ADC通道)已启用采样,以及所有已启用的数字和模拟输入的值。
查询抽样(IS)
强制采样(IS)命令强制读取所有使能的数字和模拟输入引脚。您可以将其发送到本地或远程设备。
使用XCTU控制台或任何串行端口终端应用程序发送此命令。
当模块发送IS命令时,接收设备读取所有启用的数字IO和模拟输入通道并返回其值。如果模块在本地发送IS命令,则它将IO数据从串行接口发送出去。如果模块将IS命令发送到远程XBee模块,则它将通过无线方式将远程IO数据发送到请求者模块。
自动取样
设置好引脚后,必须将远程模块配置为自动将传感器信息传输到主XBee模块。远程XBee模块需要了解:
- 在何处传输传感器数据:通过目标地址(DH + DL)参数为接收此信息的模块定义此信息。
- 何时传输传感器数据:
- 定期:XBee可以按指定的时间间隔发送从传感器读取的信息。
- 通过更改检测:当一个或多个引脚更改状态时。
配置参数IO采样率(IR)和数字IO更改检测(IC)以自动传输传感器数据。
注意根据您的要求,这两个功能可以相互结合使用。例如,您可以选择每分钟接收一次IO样本(IR),也可以选择在某个引脚更改状态(IC)时接收。
IO采样率(IR)
该IR参数设置的I/O采样率:那就是如何定时地报告当前引脚状态并传送到目的地址。速率使用十六进制表示法以毫秒为单位设置。值0禁用该功能。
例如,如果要每分钟发送一次传感器信息,请将此参数设置为EA60(1分钟= 60秒= 60000 ms =十六进制EA60)。
使用XCTU配置采样率间隔。
注意配置为定期发送采样的睡眠设备,在唤醒后立即发送第一个采样,然后继续以IR速率发送周期性的IO采样,直到“睡眠前时间(ST)”计时器到期并且设备可以恢复睡眠状态。
数字IO更改检测(IC)
该IC参数允许您设置引脚以监测变化检测其中。当被监视引脚的状态发生变化时,样本会立即发送到目标地址。
使用XCTU设置IC参数的值。
要选择监视哪个引脚,请根据以下模式为IC参数分配一个二进制值:
DIO12 | DIO11 | DIO10 | DIO9 | DIO8 | DIO7 | DIO6 | DIO5 | DIO4 | DIO3 | DIO2 | DIO1 | DIO0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
例如,如果要监视DIO1,则该值为0000000000010,以十六进制表示为2。如果要监视DIO12,DIO8,DIO3和DIO1,则该值为1000100001010(二进制)= 110A(十六进制)。值0禁用该功能。
数字IO更改检测(IC)功能仅适用于数字引脚,因此,如果模拟引脚的值更改,您将不会收到任何信息。
如果XBee模块正在睡眠,则任何受监视的引脚中的更改都不会唤醒该模块。