蓝牙mesh组网-JDY-24M初步探索

2023-11-04

操作步骤如下:
这款JDY-24M蓝牙功能强大,我主要应用其中mesh组网这个功能。mesh组网简单来说,就是组网的这几个蓝牙是可以互相通信,一一通信是通过蓝牙地址来确定的。
一、配置组网
需要用到两根USB转TTL的线,JDY-24M蓝牙2个。
1.打开串口调试工具
在这里插入图片描述
在这里插入图片描述
2.插上USB转TTL的线,线口端有4个接口,分别是红黑白绿(代表VCC,GND,RX,TX),分别对应蓝牙的VCC,GND,TX,RX.
PS:RX代表接收,TX代表发送,所以设备之间RX,TX都是交叉连接。
在这里插入图片描述
3.选择对应端口号,我这边是COM10,波特率选择9600,点击“打开”。配置组网只需要发送4条指令。分别是
AT+ROLE5 :进入组网模式
AT+NETID1133:组网ID号为1133,可以根据需要自己改。
AT+MADDR0099:配置蓝牙地址,这里配置为0099。
AT+RESET:复位,发送后,蓝牙配置成功。
如下图,每一次按下TX发送,都会接收到一次OK。四条语句配置好后,这个蓝牙配置好了,它的含义是首先它在ID为1133这个网下,然后它的地址为0099。其他蓝牙要跟它组网,同样也需要在组网ID号为1133下才行。
在这里插入图片描述
4.用另外一根USB转ttl线组网另外一个蓝牙,让两个蓝牙通讯。
同样,再打开一次串口调试工具(注意:另外一个不要关)。
在这里插入图片描述
选择COM3,9600波特率,点击打开,依次发送图中四条语句。
在这里插入图片描述
第二个蓝牙也配置好了,他们都在1133这个大渔网下,蓝牙就好比渔网上的结点,之间通过渔线互相连接。
5.最后一步,测试两个蓝牙的通讯是否成功。
按下两个串口调试助手的RX,先清空之前收到的配网的响应信息。
在这里插入图片描述
发送前,需要了解发送数据格式指令。
在这里插入图片描述
简单的说:开头41542b4d455348是固定的,后面CMD部分的一般用00即可,01是多了个应答通信(只是简单反馈一个数据告诉你,你发送给对应地址的蓝牙已经收到这条信息),一般建议不用。
CMD那就默认是00咯,那开头数据41542b4d45534800就默认是固定的了,结尾0d0a其实也是固定的(通过我测试,商家给的这个串口助手可以不用加0d0a,但是用其他串口助手,就必须要加了)。
综上,那我们只需要加入对应目标地址和数据,同时以16进制发送。
41542b4d45534800+目标蓝牙地址+数据+0d0a。
数据部分:数据位数一定要是偶数,不能奇数,因为是以16进制发送,不然就会发不出去。例子41542b4d45534800 0088 112 0d0a,在串口助手上这样按了发不出去,需要在112前面加个0才行,即41542b4d45534800 0088 0112 0d0a。
当地址为FFFF,其为广播模式,简单说就是向全部在1133这个大网下的蓝牙都会收到数据。
下边演示下,0088蓝牙向0099发送数据12。在0088蓝牙对应的串口助手处,以16进制发送41542b4d455348000099120d0a
在这里插入图片描述
在这里插入图片描述
通过对比发现,0088发送的是41542b4d455348000099120d0a
0099收到的却是f1 dd 07 00 88 00 99 12 0d 0a
在这里插入图片描述
观看官方给的说明,我们可以得知f1 dd是固定的数据头,07表示后面有7个数据,分别是00 88 00 99 12 0d 0a这7个(每2个数字一位)。0088告诉我们收到的数据是来自0088这个蓝牙的,0099表示这个数据是以发送给编号为0099的这类蓝牙的(ps:0099编号可以不止一个)。
6.以广播模式向两个蓝牙发送数据12。
在这里插入图片描述
在0088这端发送41542b4d45534800ffff120d0a,可以看到0099那一端收到f1 dd 07 00 88 ff ff 12 0d 0a。0088这端乱码,是因为没有勾选上HEX显示, 勾选上后也收到同样数据如下。
在这里插入图片描述
综上,可见mesh组网很简单的,蓝牙配置组网只需四条指令,但其指令也都有对应的格式指令。
其难点不在配置组网,而在接入外设,写程序控制中,要明白读取那个数据,反馈对应的数据,实现对应的功能。
二、手机app连接蓝牙替代串口助手发送信息
1.官方给的蓝牙串口助手app有两款
在这里插入图片描述
第一款蓝牙:
按照后打开界面如下
在这里插入图片描述
第二款
在这里插入图片描述
2.第一款蓝牙串口助手app使用方法
选择其中一个蓝牙,自动连接了,选择mesh测试,勾上HEX发。
(另外一个透传测试,就是平常那些普通蓝牙发送的模式。)
在这里插入图片描述
串口上也会有相关显示,连接断开,断开连接等信息(刚刚断开了,所以连了两次…)。

在这里插入图片描述
接下来我向0099发送123,F10100 0099 123
(手机发送固定格式开头为F10100+四位地址+数据,数据位数同样需要2的倍数)
发送端
在这里插入图片描述
接收端
在这里插入图片描述
对比可知,手机发送数据F10100 0099 123,接收端收到f1 dd 05 00 99 00 88 12 ,而3没有发送出去,同样道理,发送1230就能发送出去。
在这里插入图片描述
3.第二款蓝牙app使用方法

在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
接收端收到数据如图。

4.自家同学开发的APP使用方法
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
完成了以上操作,基本就对jdy-24m这款蓝牙有了基本的了解,接下来就只是对硬件设备程序方面的书写了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝牙mesh组网-JDY-24M初步探索 的相关文章

  • IDDPM的UNetModel的ResBlock和AttentionBlock详解

    IDDPM的UNetModel的ResBlock和AttentionBlock详解 ResBlock AttentionBlock class UNetModel nn Module The full UNet model with att
  • argparse基本用法

    关于argparse网上的资料好多 搞明白后自己整理下 方便以后查看 argparse 是python自带的命令行参数解析包 可以用来方便地读取命令行参数 它的使用也比较简单 1 基本框架 下面是采用argparse从命令行获取用户名 该p

随机推荐