在上一教程中,我们了解了ZigBee协议,其体系结构,还了解了XBee模块和AT命令。在本教程中,我们将两个XBee模块与两台计算机接口,并使计算机使用这些XBee模块进行无线通信。最后,我们将能够像“聊天”应用程序将文本从一台计算机发送到另一台计算机。
在计算机中检测连接的XBee模块:
您可以在Linux和Mac OSX中检测XBee无线电模块,方法是打开终端,然后键入一些命令来查看计算机是否识别了该模块。此外,当连接到多个模块时,我们可以看到您必须多加注意。打开终端后,您需要使用以下命令行来查看您的设备是否被系统正确识别。
在Linux和MAC中,您需要输入
dmesg-尾巴
您会看到类似现在已连接到FTDI USB串行设备转换器或在这种情况下连接到 ttyUSB0的 cp210x 之类的信息
ls / dev / tty(Mac用户必须输入ls / dev / tty。*)
如上图所示,您将看到/ dev / ttyUSB0,确保没有连接其他USB设备(在这种情况下为USB1、2或x)。在与python通信XBee时,该目录将非常有用。
对于Windows,请使用 控制面板->设备管理器-> 在设备中 查找Com端口 ,如下所示,以防使用腻子或python。或者,现在您可以将XCTU用于相同的功能。
将XBee模块连接到计算机进行通信:
有各种终端应用程序可用于与XBee进行通信的各种平台,为简单起见,我们将使用 CoolTerm, 因为它与Windows和MAC兼容,该软件是免费的,并且可用于所有操作系统,例如MAC,Windows,Linux。
对于MAC OS:
从此处下载适用于Mac的CoolTerm。
将CoolTermMac文件夹从“下载”文件夹拖到“应用程序”文件夹,CoolTerm图标将自动出现在启动板上。
现在,通过单击其图标打开CoolTerm应用程序,然后转到“ 连接”菜单->“ Opitons” 。单击选项后,将打开一个新窗口,在设置COM端口后,使用 “重新 扫描 串行端口” 按钮扫描端口:
- 波特率为9600,
- 数据位8
- 奇偶校验无
- 停止位1。
要查看在终端中正确编写的内容,您需要额外启用Local Echo。为此,单击 终端 ,如下图所示,然后选中 Local Echo ,然后单击OK。
单击后,单击“ 连接” 按钮,如下图所示。
- 如果您输入OK,则输入+++(不要按Enter),然后出现响应。如果不是,请等待10秒钟以上,然后将+++重新输入renter命令
- 键入ATSH并按Enter键,您可以看到如下所示的高地址32位地址,该地址是digi分配的静态地址。
现在,您可以输入其他命令来查看参数,
如果在将XBee与计算机连接时遇到问题,请执行以下操作:
- 检查诸如波特率设置之类的设置。
- 重新连接模块,然后检查其是否正确连接。
- 尝试更新固件,此固件可能会由于以前的某些设置而无法解决问题。
- 如果它处于睡眠模式,请重设设置。
对于Linux:
Linux用户只需使用Linux(debian版本)中的终端即可安装腻子
sudo apt安装腻子
对于其他发行版,请下载源文件并使用终端转到目录,然后键入以下命令
sudo make sudo安装
1.现在打开腻子,然后单击“ 串行” 单选按钮,然后在文本框“ / dev / ttyusb0”中输入文本,如下图所示。并设置波特率为9600。
2.之后,单击“ 终端 ”,如上面的设置所示更改设置,更改
协调员的控制台会话:
+++ OK ATID 1000 OK ATDH 0013A200 OK ATDL 40ADFB32 OK ATID 1000 ATDH 13A200 ATDL 40ADFB32 ATWR OK
XBee路由器配置:
同样,您需要使用下表中列出的以下参数来配置路由器:
功能 |
命令 |
参数 |
PAN ID |
ATID |
1001(从0到FFFE的任何地址都可以) |
目标地址高 |
脱氧核糖核酸 |
0013A200 |
目的地址低 |
数据传输层 |
(请参阅 协调器XBee 模块的下部地址) |
写功能 |
ATWR |
不适用 |
路由器的控制台会话如下所示:
路由器+++ OK ATID 1000 OK ATDH 0013A200 OK ATDL 40A78409 OK ATID 1000 ATDH 13A200 ATDL 40A78409 ATWR OK
使用XBee将文本从一台PC发送到另一台PC:
现在该采取行动了,在两台PC上下载CoolTerm / Putty甚至XCTU,将您的带有适配器板的XBee插入其中,如下所示,我们正在使用CoolTerm。现在,打开串行连接并按照本教程的早期知识连接XBee模块。
在任一控制台中写入任何字符,您还将在其他控制台窗口中看到相同的字符。在这里,一个XBee模块充当发送器,另一个充当接收器。
因此,包括我们以前的ZigBee入门教程在内,到目前为止,我们都牢记XBee生态系统,介绍了XBee体系结构和网络的基础知识,还获得了AT命令和使用终端的知识。在本教程中,我们学习了如何将XBee模块与计算机接口以便在两台计算机之间进行通信。现在,我们可以使用XBee无线电与附近房间的朋友进行交流!!!下一个主题将基于Arduino和XBee的应用。
自己做
- 从以下网址下载python IDE:https://www.python.org/ftp/python/2.7.8/python-2.7.8.msi,下载python的串行库并使用python发送AT命令。
- 使用AT命令将LED连接到数字I / O并进行远程控制。
- 配置XBee模块以从电位计获取模拟输入http://examples.digi.com/sensors/802-15-4-analog-input-with-a-potentiometer
- 使用python的Tkinter,您可以创建一个交互式应用程序,以通过使用加速度计和XBee来跟踪运动,以获取手势。
- 插入XBee模块并使用湿度传感器接收草的数据,您可以通过使用python Matplotlib绘制数据来扩展该项目。