是的

    jxingl 具体要点开什么,选择什么呢?不太理解

      chenluhui2019 你点进去Model里不是有个Subscribe address和 Public Adress,分别填充你要订阅的地址和发布的地址即可

      他问的是心跳发布状态和订阅状态的设置,可能手机上的基础模型客户端还没有实现这个功能,我看了下
      nordic提供的app,就没有实现,实现的是模型的发布和订阅状态的配置

      所以,节点的心跳状态的配置,目前nordic还没有实现,看看哪家实现了,就用他们的去试试

      jxingl 真大佬😁

        Wireless-Tech jxingl



        我这边对health model做了如下订阅发布操作,但是没有看到UART LOG周期性的打印跟心跳有关的信息

          心跳机制跟health model 没有半毛钱关系

            jxingl 那?能具体一点吗?

              去看下Bluetooth mesh1.0吧

                jxingl mesh profile我有看,但是具体在开发中。如果用app作为provisioner,目前是否可以实现心跳?

                  你用的哪家的APP?还是你们自己设计的APP?如果你们自己设计的要问下相关的开发人员是不是怎么配置心跳状态?如果不是你们编写的APP,你问下,你们的SOC供应商,他们的APP是不是支持心跳状态配置功能?前面不是也提到这一点了吗

                  jxingl 我们自己基于Nordic的app开发的,我们IC的FAE关于provisioner使用的是一块dongle接电脑当上位机

                    chenluhui2019 如何是使用Dongle的话,这个就很受限于这个dongle的固件本身支不支持这个特性。

                    关于你这个需求,使用心跳包确实是适合的,心跳包有两个功能:

                    1. 用于判断这个节点是否已经离线
                    2. 也可以用来判断节点间的距离

                    正如jxingl 所说,心跳包是一个传输控制信息,其信息的内容包含有其发送时的初始TTL值以及其是什么特性(relay、proxy、LP、Friend)

                    所以你要发送心跳包,你可以在DSL域里填充目标地址,目标地址可以是单播地址也可以是组地址。而如何配置这些则需要在Configuration Client Model那里设置,如果你是想要在代码层面实现,则应该看看这个Configuration client模块的API,如果你想要知道的更清楚这些流程,请查看Mesh Spec的4.4.2.2.16 Heartbeat Subscription procedure

                      Wireless-Tech jxingl 根据mesh profile,我理解蓝牙mesh内部的心跳机制是,比如A节点订阅了B节点和C节点发布的心跳信息,(4.3.2.64 config heartbeat subscription get),A就能实时的收到B和C发送的心跳信息,但是是单向的,无论A有没有收到B和C的心跳,都不会response给B和C。是这样理解的对吧?

                        chenluhui2019 Correct,但是我不建议订阅单播地址,最好是组地址。这样你才能获取到多个节点的response。

                          Wireless-Tech 那如何才能让订阅的节点也有response呢?

                            chenluhui2019 那你就发布到另外一个组地址,然后之前返回给你的节点再订阅你这个组地址。但是你这样太多的响应,会导致整个网络很拥挤

                              不忘初心,要理解mesh1.0中为什么设计这个功能?解决什么问题的?按照规范用,不要乱用,否则
                              将陷入深渊

                                心跳机制是为了让网络管理员更好的管理和优化网络而设计的,第一个功能是在网络开通的时候,用来优化TTL值的,因为,网络管理员不知道该怎么确定TTL值,选大了,浪费,选小了,影响通讯,这时,就可以用心跳来测试跳数,第二个功能是网络正常运行后,网络管理员想知道他关注的那些节点是不是还活着
                                ,或者它的功能是不是被更改了,除此之外,好像心跳机制再没有其他用途了
                                欢迎 大佬拍砖!

                                  jxingl 不敢拍,因为你说的是对的😁