我目前有XBee S2,我想编程GPIO引脚来切换ON / OFF LED。我通过使用外部MCU(如Arduino)看到了很多教程,但在我的情况下,我想在不连接外部MCU的情况下使用XBee。似乎XCTU软件只允许GPIO引脚设置为HIGH,LOW,输入等,而没有任何可以改变其条件的逻辑。
那么是否有任何IDE或软件允许XBee GPIO引脚进行编程?
答案 0 :(得分:0)
Digi销售的“可编程XBee”包含一个单独的8位处理器,您可以编译C代码,但这可能不是您想到的。
如果您创建一个带有两个XBee模块(A和B)的网络,您可以将计算机连接到XBee A向XBee B发送“远程AT请求”(在API模式下)以无线方式更改I / O引脚。如果您仔细阅读文档,您将找到有关API模式和远程AT请求帧类型的所有信息。
那是你想要的那种控制吗?如果没有,您能更详细地描述您的用例吗?
答案 1 :(得分:0)
您找到了解决方案吗?
使用XCTU可以设置DIO引脚,包括HIGH和LOW。这意味着当XBee复位时,这将是默认设置。因此,如果设置为高电平,从复位状态开始,DIO引脚将默认为高电平。无论如何,这是我的理解,这似乎是正确的。
我正在进行练习,使用一个不可编程的XBee sans微控制器来远程打开和关闭一些电路。设置如下:
1)控制XBee,它将附加到微型 2)没有微型(独立)的路由器XBee
相当普通。我在设置中注意到的是,独立的XBee的关联引脚会切换一点然后停止一点并重复。这似乎不对。当我从控制器XBee发送命令时,命令是否由独立单元执行命中或未命中。有点令人费解。
为了查看独立的XBee发生了什么,我连接了一台计算机并启动了XCTU。问题消失了。为了减少追逐,我发现当我将计算机的串行TX连接到XBee的RX引脚时解决了这个问题!
我的XBees采用电平转换IC设置,因此外部世界为5伏,XBee为3.3伏。我最好的猜测是浮动RX引脚连接到电平转换器是罪魁祸首。现在将RX保持在3.3v似乎可以克服这个问题。
然后,只需使用API将DIO引脚设置为HIGH或LOW
即可在我的情况下,我正在切换DIO_1。以下是来自控制器XBee的API调用:
7E 00 10 17 01 00 7D 33 A2 00 41 50 EA D5 FF FE 02 44 31 05 69
十六进制44 31是ASCII的D1,05将引脚置为高电平
而对于低:
7E 00 10 17 01 00 7D 33 A2 00 41 50 EA D5 FF FE 02 44 31 04 6A
再次44 31但现在设置为04 - LOW
独立的XBee正确响应命令。没有微附加!
浮动RX引脚可能是您的问题,也可能不是您的问题,但API字符串应该使用您的配置参数。并且不要忘记PAN ID必须相同。
希望这会有所帮助。