0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何为点对多点网格配置XBees

454398 来源:网络整理 作者:网络整理 2019-11-12 16:10 次阅读

步骤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
收藏 人收藏

    评论

    相关推荐

    使用CSD检测自电容的方式,可否实现滑动条多点(2)触摸的检测?为什么?

    使用CSD检测自电容的方式,可否实现滑动条多点(2)触摸的检测?为什么? 应用:在一个滑动条上,2个手指距离一定间隙,能否检测到这两个手指各自的位置?
    发表于 02-02 11:20

    Fidelity Pointwise中的自动自适应网格加密功能介绍

    仿真前处理的目标是创建适合所需分析的网格。在生成同时解析几何和物理问题的网格时,我们的目标是提高计算效率。
    的头像 发表于 01-03 13:49 495次阅读
    Fidelity Pointwise中的自动自适应<b class='flag-5'>网格</b>加密功能介绍

    方法|如何为开发板调试新的触摸屏

    方法|如何为开发板调试新的触摸屏
    的头像 发表于 11-30 11:30 477次阅读
    方法|如<b class='flag-5'>何为</b>开发板调试新的触摸屏

    什么是SSC 如何为音频应用配置SSC

    电子发烧友网站提供《什么是SSC 如何为音频应用配置SSC.pdf》资料免费下载
    发表于 09-25 11:04 0次下载
    什么是SSC 如<b class='flag-5'>何为</b>音频应用<b class='flag-5'>配置</b>SSC

    什么是TWI 如何为I2C通信配置TWI

    电子发烧友网站提供《什么是TWI 如何为I2C通信配置TWI.pdf》资料免费下载
    发表于 09-25 10:07 0次下载
    什么是TWI 如<b class='flag-5'>何为</b>I2C通信<b class='flag-5'>配置</b>TWI

    一文读懂如何为工商业园区配置储能

    【古瑞瓦特储能系统】一文读懂如何为工商业园区配置储能 储能技术的快速发展和分布式光伏的广泛应用推动了工业园区中储能系统的兴起。作为一项创新的能源解决方案,储能在工业园区应用中展现出诸多优势,不仅
    的头像 发表于 09-13 10:23 2224次阅读
    一文读懂如<b class='flag-5'>何为</b>工商业园区<b class='flag-5'>配置</b>储能

    数据网格是什么意思?为什么要考虑实现数据网格

    数据网格作为一种新的数据管理方法,在业界越来越受到关注。然而在兴奋之余,人们对其复杂性以及能否兑现承诺表示担忧。本文将深入探讨数据网格的复杂性,解决围绕其是否过时存在的巨大争议,并探索它所带来的机遇
    的头像 发表于 08-29 11:31 1201次阅读

    简述单点触摸,点触摸,多点触摸的关系与区别

    根据FMTSID原理,Sony计算机科学实验室的Rekimoto等在2002年提出具有更高分辨率的SmartSkin多点触控系统,该系统由网格状发射器/接收器组成。
    发表于 08-18 10:27 1500次阅读
    简述单点触摸,点触摸,<b class='flag-5'>多点</b>触摸的关系与区别

    基于LBM的网格自适应划分代码实现

    基于LBM的网格自适应划分代码实现
    发表于 08-10 09:14 2次下载

    自动驾驶中基于网格的交通场景感知介绍

    本文介绍了自动驾驶中基于网格的交通场景感知:研究综述。基于网格的感知是移动机器人感知和导航的关键领域。
    发表于 08-03 11:51 400次阅读
    自动驾驶中基于<b class='flag-5'>网格</b>的交通场景感知介绍

    网格化水质监测详解

    01网格化水质监测方案简介凯米斯网格化水质监测方案,应用自主研发的微型水质监测站、微型水质监测浮标、多参数水质监测传感器、在各区域进行低成本网格化布点与高频监测,实现对河流、池塘、水库、湖泊等多种
    的头像 发表于 08-03 08:15 484次阅读
    <b class='flag-5'>网格</b>化水质监测详解

    如何从线性网格创建高阶网格

    本文介绍Cadence Pointwise的网格生成工具是如何帮助 CFD 工程师您创建复杂几何模型高精度模拟所需要的高阶网格,且不会显著增加计算复杂性。
    的头像 发表于 07-12 11:00 316次阅读

    什么是网格划分或网格生成?

    庞杂的几何文件、复杂的几何结构,使得 CFD 仿真在网格制作上极其耗时。如何解放工程师的双手, 把更多的精力投入到结果分析和创新性能设计上,答案就在 Cadence Fidelity AutoMesh。
    的头像 发表于 05-23 10:20 1537次阅读
    什么是<b class='flag-5'>网格</b>划分或<b class='flag-5'>网格</b>生成?

    如何使用多个ESP或一个网格来覆盖更大的距离或区域?

    连续使用 5 个 esp_wifi_repeaters 也能很好地工作。 在这样的设置配置中,退出了一项耗时且容易出错的活动。为了简化这一,我想提出一种协议,该协议可以为具有 NAT 路由的 ESP
    发表于 05-23 07:33

    向固件添加网格有多难?

    向固件添加网格有多难? 我正在从事一个物联网项目,其中的设备不是静态的,并且如果在范围内,ESP8266 缠绕连接到的地方周围只有一堆无线 AP,但我想知道是否有一种方法可以添加 Meshing 来丢弃我需要的 AP 数量。
    发表于 05-11 07:32