步骤1:无线设置
可以用两种方式配置XBee模块:透明模式(AT)和API模式(API)。在AT模式下,您仅限于两个XBees之间的点对点通信。在API模式下,我们可以轻松地从COORDINATOR和世界上许多XBees进行发送和接收。此外,API模式将公开每个数据包中编码的各种其他信息。
在点对多点无线配置(请参见图1)中,多个节点(路由器/终端设备)以蓝色显示,发送和接收来自中心协调员(红色)。
Andrew Rapp编写了出色的XBee Java API,可以在以下位置找到:http://code.google.com/p/xbee-api/
Andrew还提供了有关以下内容的详细说明:将XBee API与流行的IDE Eclipse集成在一起。对于我的项目(出于未知原因),我决定使用Swing JAVA GUI库,对我来说,使用NetBeans进行开发要容易一些。因此,我还将提供有关如何使用Netbeans设置XBee JAVA API的说明。但是首先我们需要在XBee上配置固件。
步骤2:XCTU设置
我知道最初配置XBees的唯一方法是使用XCTU。这是XBee的制造商Digi提供的免费程序。 XCTU仅在Windows上运行,但是,我已经成功使用在Wine下运行的XCTU配置XBees。实际上,我什至已经成功地在MacBook上配置了XBee,并且在虚拟机上安装了Debian,并且运行XCTU的WINE。因此,无论您使用什么操作系统,都可以配置XBee!
我首先使用Macbook安装了VirtualBox,然后下载并安装了Debian Network ISO。安装完操作系统后,我从下载链接下载XCTU,并通过aptitude(Debian软件包管理器)安装wine。
下载所有内容后,运行WINE和从DIGI下载的XCTU可执行文件。 (请参见图1)。安装后,您将需要在/dev/ttyUSBx(x:0,1,2,3)和COM0x(x:0,1,2,3)之间创建符号链接。如果它们现在不存在,请不要担心。将fdti-usb芯片连接到XBee后,/dev/ttyUSBx将存在。
cd〜/.wine/dosdevices
ln -s/dev/ttyUSB0 COM00
请参见图2
(以下假设您已使用USB接口将XBee连接到计算机。这可以通过各种XBee分支板完成。)
下一步,您将需要更新XCTU(我知道,我们甚至还没有运行XCTU !)。我无法从虚拟机更新XCTU。幸运的是,我发现有人使用Windows计算机,并要求他们更新XCTU的配置文件。为了我们的所有方便,他们打包了更新。将更新的文件复制到“ .wine/drive_c/Program Files/Digi/XCTU/update/”(如果您需要更新文件的帮助,请给我发消息)
现在,我们终于可以运行XCTU。请参阅图3。成功启动后,插入XBee,并允许虚拟机访问您的USB设备。在VirutalBox下,这可以通过单击设备-》 USB设备-》 FTDI(我的USB设备)来完成。通过在命令行“ ls/dev/ttyUSB *”上键入来检查是否添加了设备。您应该会看到一个列表。
在XCTU中,单击下半部分的“网络接口”,然后添加指向所列出的/dev/ttyUSBx的链接名称。在我的情况下,列出了/dev/ttyUSB0,因此我添加了COM00(请参见图4)。单击“添加”后,选择名称,然后单击“测试/查询”。您应该看到成功的通信(图片5)
步骤3:XCTU重新配置
现在XCTU正在运行,我们需要将设备重新配置为API模式。首先单击调制解调器配置(右上角选项卡),然后单击读取按钮(图1)。从下拉菜单中选择ZNET 2.5 ROUTER/END DEVICE API(图片2)。单击“写入”,然后等待直到写入完成。可能会弹出一个对话框,要求重置设备。如果是这种情况,并且您正在使用XBee LilyPad Breakout,只需将MINUS引脚连接到RST引脚并释放。重新配置后,单击“测试/查询”按钮以确认XBee已经重新配置(图3)
步骤4:XBee Java API
现在我们可以为API模式配置XBees,让我们切换到设置JAVA环境的方法。
如果您要使用Eclipse IDE,我建议按照Andrew Rapp的说明在这里找到:http://code.google.com/p/xbee-api/wiki/GettingStartedWithEclipse
如果您选择使用Netbeans IDE,请执行以下操作:下层NetBeans并安装。
选择:新建项目-》 Java- 》具有现有源代码的Java项目(以下是我的设置)
项目名称:TestXBeeJavaAPI
项目文件夹:/Users/benzaitlen/NetBeansProjects/TestXBeeJavaAPI
单击“下一步”
为源程序包添加文件夹并选择src XBee Java Api文件夹中的文件夹
单击下一步
然后单击完成
如果文件列表中有红色感叹号 点,则可能需要添加log4j和/或RXT X JARS。幸运的是,Andrew将这两个文件与源文件打包在一起。右键单击“导航”窗口中的库,然后导航到API文件夹-》 lib-》 log4j.jar
。如果收到以下错误:log4j:ERROR无法读取配置文件[log4j.properties],请确保log4j .properties位于您的netbeans项目文件夹中。 (log4j.properties文件也由Andrew Rapp的JAVA软件包提供)。RXTX在OSX上存在一些问题。您可以从http://rxtx.qbang.org/wiki/index.php/Download尝试二进制文件或源代码。如果尝试编译源代码,请确保从developer.apple.com下载最新的Java Developer Package。如果您对OSX感到沮丧,请使用已经安装的ubuntu/debian虚拟机!
一旦确定可以使用JAVA API,就编写两个XBees。一个应该是ZNET 2.5 ROUTER/ENDDEVICE API 1347,另一个应该是ZNET 2.5 COORDINATOR API1147。在这一点上,我强烈建议您使用一些遮盖胶带标记两个XBee。
第5步:XBee Arudino API
Homestretch!
现在,XBees处于API模式。我们必须让Arduino也使用XBee API。再次,Adnrew已经为我们完成了繁重的工作。从以下位置下载Arduino API ZIP文件:http://code.google.com/p/xbee-arduino/
解压缩XBee文件夹并将其复制到ARDUINO_HOME/hardware/libraries或创建文件夹“ libraries”(无论存储在哪里)您的草图,并在那里解压缩。如果要从以前的版本升级,请确保删除XBee.o。一旦安装,我建议您使用JAVA和Arduino API,以确保您可以发送和接收消息。两个库中都提供了很多示例。假设您已将arduino + xbee和XBee连接到计算机,请尝试设置以下内容:ArduinoReceiveTest.java(计算机端)和Series2_Tx.pde(Arduino端)。
有关依赖XBee API的说明模式请单击此处
此材料基于国家科学基金会在Kylie A. Peppler授予的第0855886号资助下的工作。本材料中表达的任何观点,发现,结论或建议均为作者的观点,不一定反映美国国家科学基金会的观点。
责任编辑:wv
-
软件
+关注
关注
67文章
4348浏览量
85624
发布评论请先 登录
相关推荐
评论