🍓Arduino多个NRF24L01模块无线网络
Arduino | NRF24L01 | 无线
Last updated
Arduino | NRF24L01 | 无线
Last updated
在本教程中,我们将学习如何构建由多个NR24L01收发器模块组成的Arduino无线网络。
举例来说,我建立了一个由5个节点组成的网络,每个节点都可以与网络中的任何节点进行通信,同时它们可以同时充当发送器和接收器。 该示例的设置方式实际上是说明如何建立一个更大的网络,或者确切地说,我们总共可以有3125个模块在单个RF通道上相互通信。 因此,让我们看一下它是如何工作的。
在我以前的教程中,我们已经学习了如何使用NRF24L01模块和RF24库在两个Arduino板之间进行无线通信。 现在,除了这个库之外,我们还将使用RF24Network库,该库使通过许多Arduino板相互通信的简单方式构建无线网络成为可能。 网络拓扑的工作原理如下。
单个NRF24L01模块可以同时主动监听多达6个其他模块。
RF24Network库利用此功能来生成以树形拓扑排列的网络,其中一个节点为基础,所有其他节点均为该节点或另一节点的子级。 每个节点最多可以有5个子节点,可以深入5个级别,这意味着我们可以创建一个总共3125个节点的网络。 必须用15位地址定义每个节点,该地址精确地描述了该节点在树中的位置。
我们实际上可以以八进制格式定义节点的地址。因此,主节点或基址的地址为00,基址子地址为01至05,01节点子地址为011至051,依此类推。
请注意,如果节点011要与节点02进行通信,则通信将必须通过节点01和基础节点00,因此,这两个节点必须始终处于活动状态,以便通信成功。