DL-LN3X系列2.4G自组网无线通信模块DL-LN3X系列模块是深联创新新晋推出的无线通信模块,该模块专为需要自动组网多跳传输的应用场合设计。相对于其他常见的自组网无线通信解决方案,本方案更加灵活、可靠,可长期稳定工作;用户可以抛开复杂的协议栈和芯片手册,只需要掌握简单的串口通讯便可驾驭无线多跳传输。产品特性●定向扩散型自组网协议?模块上电后会自动组成多跳网状网络,完全不需要用户干预。?每个模块都可以给网络中任意一个节点发送数据。?带有确认传输功能,无线传输使用CRC校验,最多重传15次。?网络中任何节点故障不影响整个网络的运行,具有很强的抗毁性。?最大可支持130个模块组成网络,模块地址可通过程序进行修改。?单个包长可达63字节,带有数据包缓冲机制。●用户接口简单易学?使用uart作为交互接口,波特率可调?使用长度可变的包传输数据,使用安全的数据分包协议?支持端口分割机制●程序工作稳定?操作系统基于线程切片,工作稳定。?使用内存池代替栈完成动态内存分配,长期工作不产生内存碎片。●带有指示灯?模块带有收/发包指示灯,可以选择开启或关闭。?模块带有定位指示灯,可以远程点亮,方便寻找。产品选型DL-LN33使用印版天线可视距离通信单跳70m。DL-LN32使用IPEX接口可视距离通信单跳100m。DL-LN32P使用IPEX接口,并板载无线功放可视距离通信单跳500m。1组网1.1组网通信概述DL-LN3X模块是一种自组网多跳无线通信模块。模块无线频率为2.4GHz~2.45GHz,属于全球免费的无线频段。该模块工作时,会与周围的模块自动组成一个无线多跳网络,此网络为对等网络,不需要中心节点,网络包含以下可配置参数:表格1-1模块网络参数将多个DL-LN3X模块配置成地址不相同,信道和网络ID相同的状态,模块将组成一个网络。微控制器(MCU或者电脑通过Uart告诉模块目标地址和待发送的数据,模块会通过网络选择最优的路径,将信息传输给目标模块,而目标模块将通过Uart输出源地址和上述的数据。DL-LN3X模块使用定向扩散协议寻找路由,这种路由算法会记录网络的状态,每个节点平均可记录130个目标节点的路由,在网络建立后传输速度和传输延时可到达最优。但这种算法网络建立较慢,在节点刚刚启动时,网络需要1~5分钟的时间重新生成路由,在这段时间内网络使用洪泛路由进行数据通信,此时网络的传输速度较慢。1.2网络性能表格1-2网络性能2Uart通信协议2.1Uart参数DL-LN3X模块使用Uart接口作为数据交互接口,接口的参数如下:数据位8位起始位1位停止位1位校验位无校验Uart接口的波特率可以被用户设置为以下值:2400480096001440019200288003840057600115200230400125000250000500000几乎任何单片机的Uart输出都可以和DL-LN3X模块的Uart进行通讯,电脑串口则可以使用MAX3232芯片转换为Uart与DL-LN3X进行通信。2.2包分割在通信过程中,最常见的场合是单片机通过Uart告诉模块这样的信息:“将数据00AE1333发往地址为0003的模块,目标端口为90,源端口为91。”对于单片机,需要将这些信息整理成一个包,通过Uart发给模块:FE089190030000AE1333FF此包的说明如下表:表格2-1Uart包结构定义传输过程中如果遇到数据部分、地址或者端口号中出现FF,则使用FEFD来代替;如果出现FE,则用FEFC来代替。以免传输过程中出现的包头和包尾,使接收方误判断。在传输中这种替换称为“转义”。包长度不会受到转义的影响,例如发送的数据为09FF时,替换为09FEFD,但包头中的数据长度仍然按照2+4来计算,这样,发送的包如下:FE069190030009FEFDFF虽然一共传输了7个字节,但包长为6。如果地址、端口号中出现了FF、FE也需要进行转义。2.3端口DL-LN3X模块设计了端口的概念,接收方收到一个包时,会根据包的端口号,选择对应的程序处理包。端口号的取值范围是0x00~0xFF,其中0x00~0x7F端口由模块内部程序占用,0x80~0xFF端口开放给Uart连接的MCU或者电脑。当MCU给一个模块发送数据时,如果源端口号填写了小于0x80的值,则包无法发出;如果目的端口号填写了小于0x80的值,接收方模块的内部程序将处理这个包并执行相关的动作,而不是从Uart发出这个包。例如发送这个包:FE05912003000AFF则会让地址为0300的模块自带的红灯点亮1秒,而他的Uart不会输出数据。模块的内部端口大部分用于...