BLE_MESH的一些问题

chenluhui2019
Posts: 36
Joined: Wed Apr 10, 2019 9:08 am

BLE_MESH的一些问题

Postby chenluhui2019 » Sat Apr 20, 2019 7:22 am

1.通过手机APP来组网成功后,如果Node断电了,下次上电是否还要用手机APP重新组网?
2.手机APP在蓝牙mesh网络中,是否可以当做Node?
3.1号板子做provisioner,2,3,4号板子做Node。组网成功后,如果1号板子掉电了,重新上电后还能否加入到这个mesh网络中?
4.蓝牙mesh中,某个Node如果掉线了,要如何知道?

Wangcheng
Posts: 73
Joined: Wed Mar 06, 2019 3:26 am

Re: BLE_MESH的一些问题

Postby Wangcheng » Mon Apr 22, 2019 1:49 am

chenluhui2019 wrote:
Sat Apr 20, 2019 7:22 am
1.通过手机APP来组网成功后,如果Node断电了,下次上电是否还要用手机APP重新组网?
2.手机APP在蓝牙mesh网络中,是否可以当做Node?
3.1号板子做provisioner,2,3,4号板子做Node。组网成功后,如果1号板子掉电了,重新上电后还能否加入到这个mesh网络中?
4.蓝牙mesh中,某个Node如果掉线了,要如何知道?
Hi chenluhui,
问题1:如果Node断电了,下次上电是否还要用手机APP重新组网? 你可以通过配置menuconfig 的选项,可以保存配置信息,就不需要重新组网了。Component config--》Bluetooth Mesh support--》Store Bluetooth Mesh key and configuration persistently
问题2:手机APP可以和Node进行通讯,但它的角色为 provisioner。
问题3:1号板子重新上电后,如何net key,和app key没有变化,则可以直接访问这个网络,但是mesh网络中node的地址,如果不保存会丢失调,不过你可以通过某种方式重新获取地址。
问题4:Node可以周期发布消息,你可以通过Health model周期发送Heartbeat消息,或者可以通过vender model周期发送自定义消息。

chenluhui2019
Posts: 36
Joined: Wed Apr 10, 2019 9:08 am

Re: BLE_MESH的一些问题

Postby chenluhui2019 » Sun Apr 28, 2019 8:45 am

Wangcheng wrote:
Mon Apr 22, 2019 1:49 am
chenluhui2019 wrote:
Sat Apr 20, 2019 7:22 am
1.通过手机APP来组网成功后,如果Node断电了,下次上电是否还要用手机APP重新组网?
2.手机APP在蓝牙mesh网络中,是否可以当做Node?
3.1号板子做provisioner,2,3,4号板子做Node。组网成功后,如果1号板子掉电了,重新上电后还能否加入到这个mesh网络中?
4.蓝牙mesh中,某个Node如果掉线了,要如何知道?
Hi chenluhui,
问题1:如果Node断电了,下次上电是否还要用手机APP重新组网? 你可以通过配置menuconfig 的选项,可以保存配置信息,就不需要重新组网了。Component config--》Bluetooth Mesh support--》Store Bluetooth Mesh key and configuration persistently
问题2:手机APP可以和Node进行通讯,但它的角色为 provisioner。
问题3:1号板子重新上电后,如何net key,和app key没有变化,则可以直接访问这个网络,但是mesh网络中node的地址,如果不保存会丢失调,不过你可以通过某种方式重新获取地址。
问题4:Node可以周期发布消息,你可以通过Health model周期发送Heartbeat消息,或者可以通过vender model周期发送自定义消息。
Hi,espressif
1.关于贵司自动组网的APK,IOS和android的源码和库能否也提供?

2.利用手机去provision的时候,所有的开发板都是Node,那么,我能否标记设置一个主Node,剩下的都是从Node。所有的消息都让其经过主Node,再传给对应的从Node?主Node可否用UUID写死来标识?或者组网后,让从Node广播来寻找主Node?

3.一个mesh网络里可否有两个provisioner,比如一个是手机,一个是一块烧了provisioner代码的开发板?

4.我在examples/bluetooth/ble_mesh/ble_mesh_node下make menuconfig,没有找到Component config--》Bluetooth Mesh support--》Store Bluetooth Mesh key and configuration persistently这项。

5.如果保存了mesh key和配置,那么是不是就没办法清除掉了?除非重新烧写开发板的软件?

6.app key是否是厂家可以自己设置?Unicast address和app key是否有某种关联,Unicast address是否可以不保存吗?

7.Node可以周期发布消息,可以通过Health model周期发送Heartbeat消息,或者可以通过vender model周期发送自定义消息。如果一个Node突然掉线,那么通过Health model监测消息的机制,是整个mesh网络都要轮询的发送Heartbeat消息吗?这样是否很占用整个网络的资源?

8.贵司提供的Demo provision和node可以互相发送信息,但是已经组网的node和node如何互发信息呢?

9.根据代码流程,在provisioner寻找Node过程中,link之前,会先找寻到address,addr_type,device uuid,oob info, bearer等信息,然后再开始link。
/* Note: If unprovisioned device adv packets have not been received, we should not add device with ADD_DEV_START_PROV_NOW_FLAG set. */
如果在附近出现了不是贵司的蓝牙mesh节点,能否过滤筛选掉?(不让其加入mesh网络)

10.在贵司components\bt\ble_mesh\api\models\esp_ble_mesh_lighting_model_api.c的接口里,我看到了里面有设置灯的亮度,色温之类的结构体成员。那么如果套用这个模型,我们硬件上(DevKitCV4)要怎么去连接这颗灯呢?

11.贵司的examples\bluetooth\ble_mesh\ble_mesh_client_model的样例里,提供了一些常用的模型,可以用手机作为Provisioner让client_model和node组网,然后互相收发信息?是这意思吗?

12.UART1我看了技术手册,应该是连接到IO16和IO17,这两个IO口是复用口,我是否要在GPIO的配置里选择复用功能?
use UART1 to input the unicast address of the element within the server device;
这里的input unicast address是怎么输入进去呢?
比如我在终端界面直接敲02就可以了吗?

Wangcheng
Posts: 73
Joined: Wed Mar 06, 2019 3:26 am

Re: BLE_MESH的一些问题

Postby Wangcheng » Mon Apr 29, 2019 5:19 am

chenluhui2019 wrote:
Sun Apr 28, 2019 8:45 am
Wangcheng wrote:
Mon Apr 22, 2019 1:49 am
chenluhui2019 wrote:
Sat Apr 20, 2019 7:22 am
1.通过手机APP来组网成功后,如果Node断电了,下次上电是否还要用手机APP重新组网?
2.手机APP在蓝牙mesh网络中,是否可以当做Node?
3.1号板子做provisioner,2,3,4号板子做Node。组网成功后,如果1号板子掉电了,重新上电后还能否加入到这个mesh网络中?
4.蓝牙mesh中,某个Node如果掉线了,要如何知道?
Hi chenluhui,
问题1:如果Node断电了,下次上电是否还要用手机APP重新组网? 你可以通过配置menuconfig 的选项,可以保存配置信息,就不需要重新组网了。Component config--》Bluetooth Mesh support--》Store Bluetooth Mesh key and configuration persistently
问题2:手机APP可以和Node进行通讯,但它的角色为 provisioner。
问题3:1号板子重新上电后,如何net key,和app key没有变化,则可以直接访问这个网络,但是mesh网络中node的地址,如果不保存会丢失调,不过你可以通过某种方式重新获取地址。
问题4:Node可以周期发布消息,你可以通过Health model周期发送Heartbeat消息,或者可以通过vender model周期发送自定义消息。
Hi,espressif
1.关于贵司自动组网的APK,IOS和android的源码和库能否也提供?

2.利用手机去provision的时候,所有的开发板都是Node,那么,我能否标记设置一个主Node,剩下的都是从Node。所有的消息都让其经过主Node,再传给对应的从Node?主Node可否用UUID写死来标识?或者组网后,让从Node广播来寻找主Node?

3.一个mesh网络里可否有两个provisioner,比如一个是手机,一个是一块烧了provisioner代码的开发板?

4.我在examples/bluetooth/ble_mesh/ble_mesh_node下make menuconfig,没有找到Component config--》Bluetooth Mesh support--》Store Bluetooth Mesh key and configuration persistently这项。

5.如果保存了mesh key和配置,那么是不是就没办法清除掉了?除非重新烧写开发板的软件?

6.app key是否是厂家可以自己设置?Unicast address和app key是否有某种关联,Unicast address是否可以不保存吗?

7.Node可以周期发布消息,可以通过Health model周期发送Heartbeat消息,或者可以通过vender model周期发送自定义消息。如果一个Node突然掉线,那么通过Health model监测消息的机制,是整个mesh网络都要轮询的发送Heartbeat消息吗?这样是否很占用整个网络的资源?

8.贵司提供的Demo provision和node可以互相发送信息,但是已经组网的node和node如何互发信息呢?

9.根据代码流程,在provisioner寻找Node过程中,link之前,会先找寻到address,addr_type,device uuid,oob info, bearer等信息,然后再开始link。
/* Note: If unprovisioned device adv packets have not been received, we should not add device with ADD_DEV_START_PROV_NOW_FLAG set. */
如果在附近出现了不是贵司的蓝牙mesh节点,能否过滤筛选掉?(不让其加入mesh网络)

10.在贵司components\bt\ble_mesh\api\models\esp_ble_mesh_lighting_model_api.c的接口里,我看到了里面有设置灯的亮度,色温之类的结构体成员。那么如果套用这个模型,我们硬件上(DevKitCV4)要怎么去连接这颗灯呢?

11.贵司的examples\bluetooth\ble_mesh\ble_mesh_client_model的样例里,提供了一些常用的模型,可以用手机作为Provisioner让client_model和node组网,然后互相收发信息?是这意思吗?

12.UART1我看了技术手册,应该是连接到IO16和IO17,这两个IO口是复用口,我是否要在GPIO的配置里选择复用功能?
use UART1 to input the unicast address of the element within the server device;
这里的input unicast address是怎么输入进去呢?
比如我在终端界面直接敲02就可以了吗?
Hi chenluhui,
我根据你问题的编号解答:

1. 请问你为什么需要 APK 的源码呢?我们暂时是不开源的。
2. App -> 主 Node(代理节点) -> 从 Node。现在的 App 就是这样设计的,主 Node(代理节点)会和 App 建立连接,所有的数据都会经过主 Node。
3. 一个网络中可以有多个 provisioner,但是两个 provisioner 的信息要同步。信息包含如下: NetKey,AppKey,地址...
4. 那个选项在 V0.6 版本中含有,用于保存一些配置信息。
5. 我们后面会提供清除配置项的 API 。现在你可以在命令行执行 `make erase_flash` .
6. app key 可以厂家自己设置,它和Model 是绑定在一起的,和 Unicast address 没有什么关系。
7. BLE MESH 网络是没有建立任何连接的,直接通过广播通道发送消息。你可以使用心跳包的方式去检查,心跳包往同一个 Node 发送。
8. Node 与 Node 之间的通讯可以采用虚拟地址,发布和订阅的那种工作模式。
9. 目前提供了一个配网 UUID 的 API,可以通过UUID 过滤设备,其它的设备验证方法都有接口,只是还没有写 Demo 出来。
10. 你需要实现灯的相关驱动,比如亮度,你可以采用 PWM 的方式去控制。我们现在暂时提供了 client_model,后面会提供server_model.client model 只是可以设置 server_model 的状态的。
11. 新的版本中有详细的文档,你理解的是对的,client_model 给 node 发送消息,消息的目的地址(另一个 node 的地址)通过串口输入。然后 client_mode 会转发消息。
12. 串口是使用的普通串口,输入的值是另一个节点的地址,比如 2, 那么代表另一个 Node 的地址为 0x2.

你可以去找我们的商务,会提供给你们一个更高版本的测试,相对低版本增加了很多功能与特性。

chenluhui2019
Posts: 36
Joined: Wed Apr 10, 2019 9:08 am

Re: BLE_MESH的一些问题

Postby chenluhui2019 » Mon Apr 29, 2019 11:00 am

Wangcheng wrote:
Mon Apr 29, 2019 5:19 am
chenluhui2019 wrote:
Sun Apr 28, 2019 8:45 am
Wangcheng wrote:
Mon Apr 22, 2019 1:49 am

Hi chenluhui,
问题1:如果Node断电了,下次上电是否还要用手机APP重新组网? 你可以通过配置menuconfig 的选项,可以保存配置信息,就不需要重新组网了。Component config--》Bluetooth Mesh support--》Store Bluetooth Mesh key and configuration persistently
问题2:手机APP可以和Node进行通讯,但它的角色为 provisioner。
问题3:1号板子重新上电后,如何net key,和app key没有变化,则可以直接访问这个网络,但是mesh网络中node的地址,如果不保存会丢失调,不过你可以通过某种方式重新获取地址。
问题4:Node可以周期发布消息,你可以通过Health model周期发送Heartbeat消息,或者可以通过vender model周期发送自定义消息。
Hi,espressif
1.关于贵司自动组网的APK,IOS和android的源码和库能否也提供?

2.利用手机去provision的时候,所有的开发板都是Node,那么,我能否标记设置一个主Node,剩下的都是从Node。所有的消息都让其经过主Node,再传给对应的从Node?主Node可否用UUID写死来标识?或者组网后,让从Node广播来寻找主Node?

3.一个mesh网络里可否有两个provisioner,比如一个是手机,一个是一块烧了provisioner代码的开发板?

4.我在examples/bluetooth/ble_mesh/ble_mesh_node下make menuconfig,没有找到Component config--》Bluetooth Mesh support--》Store Bluetooth Mesh key and configuration persistently这项。

5.如果保存了mesh key和配置,那么是不是就没办法清除掉了?除非重新烧写开发板的软件?

6.app key是否是厂家可以自己设置?Unicast address和app key是否有某种关联,Unicast address是否可以不保存吗?

7.Node可以周期发布消息,可以通过Health model周期发送Heartbeat消息,或者可以通过vender model周期发送自定义消息。如果一个Node突然掉线,那么通过Health model监测消息的机制,是整个mesh网络都要轮询的发送Heartbeat消息吗?这样是否很占用整个网络的资源?

8.贵司提供的Demo provision和node可以互相发送信息,但是已经组网的node和node如何互发信息呢?

9.根据代码流程,在provisioner寻找Node过程中,link之前,会先找寻到address,addr_type,device uuid,oob info, bearer等信息,然后再开始link。
/* Note: If unprovisioned device adv packets have not been received, we should not add device with ADD_DEV_START_PROV_NOW_FLAG set. */
如果在附近出现了不是贵司的蓝牙mesh节点,能否过滤筛选掉?(不让其加入mesh网络)

10.在贵司components\bt\ble_mesh\api\models\esp_ble_mesh_lighting_model_api.c的接口里,我看到了里面有设置灯的亮度,色温之类的结构体成员。那么如果套用这个模型,我们硬件上(DevKitCV4)要怎么去连接这颗灯呢?

11.贵司的examples\bluetooth\ble_mesh\ble_mesh_client_model的样例里,提供了一些常用的模型,可以用手机作为Provisioner让client_model和node组网,然后互相收发信息?是这意思吗?

12.UART1我看了技术手册,应该是连接到IO16和IO17,这两个IO口是复用口,我是否要在GPIO的配置里选择复用功能?
use UART1 to input the unicast address of the element within the server device;
这里的input unicast address是怎么输入进去呢?
比如我在终端界面直接敲02就可以了吗?
Hi chenluhui,
我根据你问题的编号解答:

1. 请问你为什么需要 APK 的源码呢?我们暂时是不开源的。
2. App -> 主 Node(代理节点) -> 从 Node。现在的 App 就是这样设计的,主 Node(代理节点)会和 App 建立连接,所有的数据都会经过主 Node。
3. 一个网络中可以有多个 provisioner,但是两个 provisioner 的信息要同步。信息包含如下: NetKey,AppKey,地址...
4. 那个选项在 V0.6 版本中含有,用于保存一些配置信息。
5. 我们后面会提供清除配置项的 API 。现在你可以在命令行执行 `make erase_flash` .
6. app key 可以厂家自己设置,它和Model 是绑定在一起的,和 Unicast address 没有什么关系。
7. BLE MESH 网络是没有建立任何连接的,直接通过广播通道发送消息。你可以使用心跳包的方式去检查,心跳包往同一个 Node 发送。
8. Node 与 Node 之间的通讯可以采用虚拟地址,发布和订阅的那种工作模式。
9. 目前提供了一个配网 UUID 的 API,可以通过UUID 过滤设备,其它的设备验证方法都有接口,只是还没有写 Demo 出来。
10. 你需要实现灯的相关驱动,比如亮度,你可以采用 PWM 的方式去控制。我们现在暂时提供了 client_model,后面会提供server_model.client model 只是可以设置 server_model 的状态的。
11. 新的版本中有详细的文档,你理解的是对的,client_model 给 node 发送消息,消息的目的地址(另一个 node 的地址)通过串口输入。然后 client_mode 会转发消息。
12. 串口是使用的普通串口,输入的值是另一个节点的地址,比如 2, 那么代表另一个 Node 的地址为 0x2.

你可以去找我们的商务,会提供给你们一个更高版本的测试,相对低版本增加了很多功能与特性。

谢谢支持
1.我们需要可开发自己app的库,包括安卓和ios,是否会提供呢?
2. App -> 主 Node(代理节点) -> 从 Node。
我在使用silicon的blemesh app的时候,我发现手机连接上的节点默认都会开启Proxy,在这个mesh网络里哪个算是主节点呢?
3.两个 provisioner 的信息要同步
如果有两个provision,是否要把1号作为provisioner的开发板的Netkey设置成和手机app一样呢?那如果让1号板子作为provisoner,此时手机app是没有记录这些mesh网络里node的信息(比如app key,net key等等),是否有办法同步到手机app里呢?

8.主 Node(代理节点) -> 从 Node互相发送消息,用client-server模型可以吗?是否有提供demo来完成?

Wangcheng
Posts: 73
Joined: Wed Mar 06, 2019 3:26 am

Re: BLE_MESH的一些问题

Postby Wangcheng » Sun May 05, 2019 2:23 am

chenluhui2019 wrote:
Mon Apr 29, 2019 11:00 am
Wangcheng wrote:
Mon Apr 29, 2019 5:19 am
chenluhui2019 wrote:
Sun Apr 28, 2019 8:45 am


Hi,espressif
1.关于贵司自动组网的APK,IOS和android的源码和库能否也提供?

2.利用手机去provision的时候,所有的开发板都是Node,那么,我能否标记设置一个主Node,剩下的都是从Node。所有的消息都让其经过主Node,再传给对应的从Node?主Node可否用UUID写死来标识?或者组网后,让从Node广播来寻找主Node?

3.一个mesh网络里可否有两个provisioner,比如一个是手机,一个是一块烧了provisioner代码的开发板?

4.我在examples/bluetooth/ble_mesh/ble_mesh_node下make menuconfig,没有找到Component config--》Bluetooth Mesh support--》Store Bluetooth Mesh key and configuration persistently这项。

5.如果保存了mesh key和配置,那么是不是就没办法清除掉了?除非重新烧写开发板的软件?

6.app key是否是厂家可以自己设置?Unicast address和app key是否有某种关联,Unicast address是否可以不保存吗?

7.Node可以周期发布消息,可以通过Health model周期发送Heartbeat消息,或者可以通过vender model周期发送自定义消息。如果一个Node突然掉线,那么通过Health model监测消息的机制,是整个mesh网络都要轮询的发送Heartbeat消息吗?这样是否很占用整个网络的资源?

8.贵司提供的Demo provision和node可以互相发送信息,但是已经组网的node和node如何互发信息呢?

9.根据代码流程,在provisioner寻找Node过程中,link之前,会先找寻到address,addr_type,device uuid,oob info, bearer等信息,然后再开始link。
/* Note: If unprovisioned device adv packets have not been received, we should not add device with ADD_DEV_START_PROV_NOW_FLAG set. */
如果在附近出现了不是贵司的蓝牙mesh节点,能否过滤筛选掉?(不让其加入mesh网络)

10.在贵司components\bt\ble_mesh\api\models\esp_ble_mesh_lighting_model_api.c的接口里,我看到了里面有设置灯的亮度,色温之类的结构体成员。那么如果套用这个模型,我们硬件上(DevKitCV4)要怎么去连接这颗灯呢?

11.贵司的examples\bluetooth\ble_mesh\ble_mesh_client_model的样例里,提供了一些常用的模型,可以用手机作为Provisioner让client_model和node组网,然后互相收发信息?是这意思吗?

12.UART1我看了技术手册,应该是连接到IO16和IO17,这两个IO口是复用口,我是否要在GPIO的配置里选择复用功能?
use UART1 to input the unicast address of the element within the server device;
这里的input unicast address是怎么输入进去呢?
比如我在终端界面直接敲02就可以了吗?
Hi chenluhui,
我根据你问题的编号解答:

1. 请问你为什么需要 APK 的源码呢?我们暂时是不开源的。
2. App -> 主 Node(代理节点) -> 从 Node。现在的 App 就是这样设计的,主 Node(代理节点)会和 App 建立连接,所有的数据都会经过主 Node。
3. 一个网络中可以有多个 provisioner,但是两个 provisioner 的信息要同步。信息包含如下: NetKey,AppKey,地址...
4. 那个选项在 V0.6 版本中含有,用于保存一些配置信息。
5. 我们后面会提供清除配置项的 API 。现在你可以在命令行执行 `make erase_flash` .
6. app key 可以厂家自己设置,它和Model 是绑定在一起的,和 Unicast address 没有什么关系。
7. BLE MESH 网络是没有建立任何连接的,直接通过广播通道发送消息。你可以使用心跳包的方式去检查,心跳包往同一个 Node 发送。
8. Node 与 Node 之间的通讯可以采用虚拟地址,发布和订阅的那种工作模式。
9. 目前提供了一个配网 UUID 的 API,可以通过UUID 过滤设备,其它的设备验证方法都有接口,只是还没有写 Demo 出来。
10. 你需要实现灯的相关驱动,比如亮度,你可以采用 PWM 的方式去控制。我们现在暂时提供了 client_model,后面会提供server_model.client model 只是可以设置 server_model 的状态的。
11. 新的版本中有详细的文档,你理解的是对的,client_model 给 node 发送消息,消息的目的地址(另一个 node 的地址)通过串口输入。然后 client_mode 会转发消息。
12. 串口是使用的普通串口,输入的值是另一个节点的地址,比如 2, 那么代表另一个 Node 的地址为 0x2.

你可以去找我们的商务,会提供给你们一个更高版本的测试,相对低版本增加了很多功能与特性。

谢谢支持
1.我们需要可开发自己app的库,包括安卓和ios,是否会提供呢?
2. App -> 主 Node(代理节点) -> 从 Node。
我在使用silicon的blemesh app的时候,我发现手机连接上的节点默认都会开启Proxy,在这个mesh网络里哪个算是主节点呢?
3.两个 provisioner 的信息要同步
如果有两个provision,是否要把1号作为provisioner的开发板的Netkey设置成和手机app一样呢?那如果让1号板子作为provisoner,此时手机app是没有记录这些mesh网络里node的信息(比如app key,net key等等),是否有办法同步到手机app里呢?

8.主 Node(代理节点) -> 从 Node互相发送消息,用client-server模型可以吗?是否有提供demo来完成?
Hi chenluhui,
问题1:这个我也不是很清楚,你去和我们的商务沟通一下吧。
问题2:手机连接上的那个节点为主节点,手机发送和接收的消息都会经过主节点,可以把主节点理解为手机和 BLE MESH通讯的桥梁。
问题3:在 BLE MESH 中,可以通过vender model 定义自定义消息实现信息同步。ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。 app key 和 net key 比较特殊,app key 和net key通过config server model 和 config client model可以实现同步。ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。
问题8:在我们的V6.0版本中有相关的demo,ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。

chenluhui2019
Posts: 36
Joined: Wed Apr 10, 2019 9:08 am

Re: BLE_MESH的一些问题

Postby chenluhui2019 » Mon May 13, 2019 1:11 am

Wangcheng wrote:
Sun May 05, 2019 2:23 am
chenluhui2019 wrote:
Mon Apr 29, 2019 11:00 am
Wangcheng wrote:
Mon Apr 29, 2019 5:19 am

Hi chenluhui,
我根据你问题的编号解答:

1. 请问你为什么需要 APK 的源码呢?我们暂时是不开源的。
2. App -> 主 Node(代理节点) -> 从 Node。现在的 App 就是这样设计的,主 Node(代理节点)会和 App 建立连接,所有的数据都会经过主 Node。
3. 一个网络中可以有多个 provisioner,但是两个 provisioner 的信息要同步。信息包含如下: NetKey,AppKey,地址...
4. 那个选项在 V0.6 版本中含有,用于保存一些配置信息。
5. 我们后面会提供清除配置项的 API 。现在你可以在命令行执行 `make erase_flash` .
6. app key 可以厂家自己设置,它和Model 是绑定在一起的,和 Unicast address 没有什么关系。
7. BLE MESH 网络是没有建立任何连接的,直接通过广播通道发送消息。你可以使用心跳包的方式去检查,心跳包往同一个 Node 发送。
8. Node 与 Node 之间的通讯可以采用虚拟地址,发布和订阅的那种工作模式。
9. 目前提供了一个配网 UUID 的 API,可以通过UUID 过滤设备,其它的设备验证方法都有接口,只是还没有写 Demo 出来。
10. 你需要实现灯的相关驱动,比如亮度,你可以采用 PWM 的方式去控制。我们现在暂时提供了 client_model,后面会提供server_model.client model 只是可以设置 server_model 的状态的。
11. 新的版本中有详细的文档,你理解的是对的,client_model 给 node 发送消息,消息的目的地址(另一个 node 的地址)通过串口输入。然后 client_mode 会转发消息。
12. 串口是使用的普通串口,输入的值是另一个节点的地址,比如 2, 那么代表另一个 Node 的地址为 0x2.

你可以去找我们的商务,会提供给你们一个更高版本的测试,相对低版本增加了很多功能与特性。

谢谢支持
1.我们需要可开发自己app的库,包括安卓和ios,是否会提供呢?
2. App -> 主 Node(代理节点) -> 从 Node。
我在使用silicon的blemesh app的时候,我发现手机连接上的节点默认都会开启Proxy,在这个mesh网络里哪个算是主节点呢?
3.两个 provisioner 的信息要同步
如果有两个provision,是否要把1号作为provisioner的开发板的Netkey设置成和手机app一样呢?那如果让1号板子作为provisoner,此时手机app是没有记录这些mesh网络里node的信息(比如app key,net key等等),是否有办法同步到手机app里呢?

8.主 Node(代理节点) -> 从 Node互相发送消息,用client-server模型可以吗?是否有提供demo来完成?
Hi chenluhui,
问题1:这个我也不是很清楚,你去和我们的商务沟通一下吧。
问题2:手机连接上的那个节点为主节点,手机发送和接收的消息都会经过主节点,可以把主节点理解为手机和 BLE MESH通讯的桥梁。
问题3:在 BLE MESH 中,可以通过vender model 定义自定义消息实现信息同步。ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。 app key 和 net key 比较特殊,app key 和net key通过config server model 和 config client model可以实现同步。ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。
问题8:在我们的V6.0版本中有相关的demo,ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。
谢谢支持
1.比如,我手机作为provisoner组网连接了Node1,Node2和Node3。三个node都有开启proxy,但是我在其中需要把Node1当做主节点来作为网关。让Node2,Node3都订阅Node1的消息,这样的设计可否?这种订阅的操作是在手机app上实现还是在板子的代码里实现?
2.我尝试了贵司的ble_mesh_client_model和ble_mesh_node,烧在两块板子上,组网后,client板子用串口输入node板子的remote_addr=2,可以正常控制单播地址是0002的node板子的灯开关,但是我这两块板子并没有设置发布-订阅的关系,为啥消息也能发送过来呢?
3.关于心跳机制(health model)判断node是否掉线,在demo里是否有相关log打印?我在NRF的APP上面,用贵司的demo烧写在板子上,加进来节点没有看到Health Server相关的Model,请问后续版本会加进来吗?还是需要我们自己根据Vendor model来写心跳?
比如某个node掉线了,mesh网络的其他node如何通过heartbeat来知道它掉线了呢?Heartbeat的接口如何使用呢?
4.贵司开发板上的“BOOT”按键目前在蓝牙mesh的demo里是不是暂无功能?
5.手机app作为provisoner,如何向某个node直接发送消息呢?比如发送wifi ssid和psswd
6.拿手机作为provisoner,组网后。如果用其他手机设置成和这个mesh网络一样的netkey可以加入这个mesh网络是吧(克隆到多个用户手机使用)?那这部手机此时也是provisoner是吗?此时如何控制mesh网络的其他节点(因为网内节点的数据是储存在组网的那台手机里)?目前我们的手机app好像不提供修改netkey的功能,所以暂时无法验证是吗?
7.我们在手机app上选择“Reset node”,似乎不能把节点由node->device
8.在NRF的手机app里,右下角“Setting”里有个“Network Key”,可以自由更改,这个修改的是指哪个network key呢?应该不是mesh网络的netkey吧?(我理解netkey是整个mesh网络的公钥,那么这个可以改动的Network key是否是私钥?)

Wangcheng
Posts: 73
Joined: Wed Mar 06, 2019 3:26 am

Re: BLE_MESH的一些问题

Postby Wangcheng » Mon May 13, 2019 7:08 am

chenluhui2019 wrote:
Mon May 13, 2019 1:11 am
Wangcheng wrote:
Sun May 05, 2019 2:23 am
chenluhui2019 wrote:
Mon Apr 29, 2019 11:00 am



谢谢支持
1.我们需要可开发自己app的库,包括安卓和ios,是否会提供呢?
2. App -> 主 Node(代理节点) -> 从 Node。
我在使用silicon的blemesh app的时候,我发现手机连接上的节点默认都会开启Proxy,在这个mesh网络里哪个算是主节点呢?
3.两个 provisioner 的信息要同步
如果有两个provision,是否要把1号作为provisioner的开发板的Netkey设置成和手机app一样呢?那如果让1号板子作为provisoner,此时手机app是没有记录这些mesh网络里node的信息(比如app key,net key等等),是否有办法同步到手机app里呢?

8.主 Node(代理节点) -> 从 Node互相发送消息,用client-server模型可以吗?是否有提供demo来完成?
Hi chenluhui,
问题1:这个我也不是很清楚,你去和我们的商务沟通一下吧。
问题2:手机连接上的那个节点为主节点,手机发送和接收的消息都会经过主节点,可以把主节点理解为手机和 BLE MESH通讯的桥梁。
问题3:在 BLE MESH 中,可以通过vender model 定义自定义消息实现信息同步。ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。 app key 和 net key 比较特殊,app key 和net key通过config server model 和 config client model可以实现同步。ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。
问题8:在我们的V6.0版本中有相关的demo,ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。
谢谢支持
1.比如,我手机作为provisoner组网连接了Node1,Node2和Node3。三个node都有开启proxy,但是我在其中需要把Node1当做主节点来作为网关。让Node2,Node3都订阅Node1的消息,这样的设计可否?这种订阅的操作是在手机app上实现还是在板子的代码里实现?
2.我尝试了贵司的ble_mesh_client_model和ble_mesh_node,烧在两块板子上,组网后,client板子用串口输入node板子的remote_addr=2,可以正常控制单播地址是0002的node板子的灯开关,但是我这两块板子并没有设置发布-订阅的关系,为啥消息也能发送过来呢?
3.关于心跳机制(health model)判断node是否掉线,在demo里是否有相关log打印?我在NRF的APP上面,用贵司的demo烧写在板子上,加进来节点没有看到Health Server相关的Model,请问后续版本会加进来吗?还是需要我们自己根据Vendor model来写心跳?
比如某个node掉线了,mesh网络的其他node如何通过heartbeat来知道它掉线了呢?Heartbeat的接口如何使用呢?
4.贵司开发板上的“BOOT”按键目前在蓝牙mesh的demo里是不是暂无功能?
5.手机app作为provisoner,如何向某个node直接发送消息呢?比如发送wifi ssid和psswd
6.拿手机作为provisoner,组网后。如果用其他手机设置成和这个mesh网络一样的netkey可以加入这个mesh网络是吧(克隆到多个用户手机使用)?那这部手机此时也是provisoner是吗?此时如何控制mesh网络的其他节点(因为网内节点的数据是储存在组网的那台手机里)?目前我们的手机app好像不提供修改netkey的功能,所以暂时无法验证是吗?
7.我们在手机app上选择“Reset node”,似乎不能把节点由node->device
8.在NRF的手机app里,右下角“Setting”里有个“Network Key”,可以自由更改,这个修改的是指哪个network key呢?应该不是mesh网络的netkey吧?(我理解netkey是整个mesh网络的公钥,那么这个可以改动的Network key是否是私钥?)
Hi chenluhui,
问题1:
方案可行,但是不建议这样操作,在手机app(provisioner)上实现?
补充: 一般开发网关有两种方式:方式1 APP作为网关(比如我们提供的EspBleMesh App),方式2 不要APP,直接用设备作为网关(比如我们提供的ble_mesh_provisioner demo),它们都具备将设备配置入网的能力。
设备配置入网后网络中就有Provisioner,Node1,Node2,Node3 .Provisioner 知道Node1,Node2,Node3的地址。Node1,Node2,Node3知道Provisioner 的地址。它们两者之间可以使用单播地址(设备地址)进行通讯。
说明: 代理节点从一种承载层接收消息并将消息通过另一种承载层重新发送,目的是将只支持 GATT 承载层的通讯设备接入到蓝牙 mesh 网络中,比如手机 App。承载层一般包含广播承载层及GATT承载层等。
问题2:采用的是设备地址(单播地址)通讯的。
问题3:你可以通过Vendor model来写心跳,也可以采用Health Server相关的Model,Health Model相关的API在esp_ble_mesh_health_model_api.h
问题4:暂时没有功能,你可以把它当做普通按键使用
问题5:provisioner 知道节点的地址,可以采用vender model的方式发送自定义消息.
问题6:多个provisioner共享网络中的消息,你需要自己想一个机制去获取网络中的信息,比如采用一个节点存放网络中所有节点的地址。
问题7:你是在哪个app上进行操作的?
问题8:在NRF的手机app里,右下角“Setting”里有个“Network Key”,修改它就意味着修改了provisioner的Netkey,provisioner配置其它设备入网时会把这个netkey分配给入网的节点。

chenluhui2019
Posts: 36
Joined: Wed Apr 10, 2019 9:08 am

Re: BLE_MESH的一些问题

Postby chenluhui2019 » Tue May 21, 2019 1:04 am

Wangcheng wrote:
Mon May 13, 2019 7:08 am
chenluhui2019 wrote:
Mon May 13, 2019 1:11 am
Wangcheng wrote:
Sun May 05, 2019 2:23 am

Hi chenluhui,
问题1:这个我也不是很清楚,你去和我们的商务沟通一下吧。
问题2:手机连接上的那个节点为主节点,手机发送和接收的消息都会经过主节点,可以把主节点理解为手机和 BLE MESH通讯的桥梁。
问题3:在 BLE MESH 中,可以通过vender model 定义自定义消息实现信息同步。ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。 app key 和 net key 比较特殊,app key 和net key通过config server model 和 config client model可以实现同步。ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。
问题8:在我们的V6.0版本中有相关的demo,ble_mesh_fast_provision/ble_mesh_fast_prov_server 中有提供。
谢谢支持
1.比如,我手机作为provisoner组网连接了Node1,Node2和Node3。三个node都有开启proxy,但是我在其中需要把Node1当做主节点来作为网关。让Node2,Node3都订阅Node1的消息,这样的设计可否?这种订阅的操作是在手机app上实现还是在板子的代码里实现?
2.我尝试了贵司的ble_mesh_client_model和ble_mesh_node,烧在两块板子上,组网后,client板子用串口输入node板子的remote_addr=2,可以正常控制单播地址是0002的node板子的灯开关,但是我这两块板子并没有设置发布-订阅的关系,为啥消息也能发送过来呢?
3.关于心跳机制(health model)判断node是否掉线,在demo里是否有相关log打印?我在NRF的APP上面,用贵司的demo烧写在板子上,加进来节点没有看到Health Server相关的Model,请问后续版本会加进来吗?还是需要我们自己根据Vendor model来写心跳?
比如某个node掉线了,mesh网络的其他node如何通过heartbeat来知道它掉线了呢?Heartbeat的接口如何使用呢?
4.贵司开发板上的“BOOT”按键目前在蓝牙mesh的demo里是不是暂无功能?
5.手机app作为provisoner,如何向某个node直接发送消息呢?比如发送wifi ssid和psswd
6.拿手机作为provisoner,组网后。如果用其他手机设置成和这个mesh网络一样的netkey可以加入这个mesh网络是吧(克隆到多个用户手机使用)?那这部手机此时也是provisoner是吗?此时如何控制mesh网络的其他节点(因为网内节点的数据是储存在组网的那台手机里)?目前我们的手机app好像不提供修改netkey的功能,所以暂时无法验证是吗?
7.我们在手机app上选择“Reset node”,似乎不能把节点由node->device
8.在NRF的手机app里,右下角“Setting”里有个“Network Key”,可以自由更改,这个修改的是指哪个network key呢?应该不是mesh网络的netkey吧?(我理解netkey是整个mesh网络的公钥,那么这个可以改动的Network key是否是私钥?)
Hi chenluhui,
问题1:
方案可行,但是不建议这样操作,在手机app(provisioner)上实现?
补充: 一般开发网关有两种方式:方式1 APP作为网关(比如我们提供的EspBleMesh App),方式2 不要APP,直接用设备作为网关(比如我们提供的ble_mesh_provisioner demo),它们都具备将设备配置入网的能力。
设备配置入网后网络中就有Provisioner,Node1,Node2,Node3 .Provisioner 知道Node1,Node2,Node3的地址。Node1,Node2,Node3知道Provisioner 的地址。它们两者之间可以使用单播地址(设备地址)进行通讯。
说明: 代理节点从一种承载层接收消息并将消息通过另一种承载层重新发送,目的是将只支持 GATT 承载层的通讯设备接入到蓝牙 mesh 网络中,比如手机 App。承载层一般包含广播承载层及GATT承载层等。
问题2:采用的是设备地址(单播地址)通讯的。
问题3:你可以通过Vendor model来写心跳,也可以采用Health Server相关的Model,Health Model相关的API在esp_ble_mesh_health_model_api.h
问题4:暂时没有功能,你可以把它当做普通按键使用
问题5:provisioner 知道节点的地址,可以采用vender model的方式发送自定义消息.
问题6:多个provisioner共享网络中的消息,你需要自己想一个机制去获取网络中的信息,比如采用一个节点存放网络中所有节点的地址。
问题7:你是在哪个app上进行操作的?
问题8:在NRF的手机app里,右下角“Setting”里有个“Network Key”,修改它就意味着修改了provisioner的Netkey,provisioner配置其它设备入网时会把这个netkey分配给入网的节点。
谢谢支持
问题2:采用的是设备地址(单播地址)通讯的。
==》意思是,ble_mesh_client_model和ble_mesh_node在设置了remote_addr值之后,就算两个node之间没有发布订阅关系也能用单播地址通讯?
问题5:provisioner 知道节点的地址,可以采用vender model的方式发送自定义消息.
==》我是否可以理解成:因为都是软件栈,手机APP里可以模拟成client,通过GATT代理(proxy)特性来向server(node)发送消息。
vendor model有分client和server吗?
问题6:多个provisioner共享网络中的消息,你需要自己想一个机制去获取网络中的信息,比如采用一个节点存放网络中所有节点的地址。
==》那是否需要根据NRF的源码做修改,使得多个provisioner(手机)里面关于node的数据通过任意方式(比如云端)同步,就能做到任意手机都能充当provisoner。
问题7:你是在哪个app上进行操作的?
==》我是在NRF的app上操作的,我看了代码,ESP_BLE_MESH_NODE_PROV_RESET_EVT没有做任何处理,可能是这个功能还没写,所以不会是的Node->device
问题8:在NRF的手机app里,右下角“Setting”里有个“Network Key”,修改它就意味着修改了provisioner的Netkey,provisioner配置其它设备入网时会把这个netkey分配给入网的节点。
==》修改它就意味着修改了provisioner的Netkey:Provisioner和Node的netkey在组网后应该都是一样的,您这里说的意味着修改了provisioner的Netkey,那provisioner的Netkey改了,不是全网的Netkey都变掉了吗?
问题9:组网后,netkey是否可以在代码里获取得到?我看手机app上能显示netkey?
问题10:贵司reset node的操作执行函数是否还未做出来?现在无法实现node->device的操作,只能复位开发板
问题11:ble_mesh_client_model似乎不能在ESP32_PICO_KIT板子上跑,会不断的报错重启。
如果我两块板子(node)都烧写ble_mesh_client_model的代码,那都有client和server存在了,都绑上一样的appkey,就可以实现互发消息了对吧?
另外:贵司的esp32可以和Nodic或者其他厂家的组网吗?贵司ble_mesh的sdk正式版本何时能提供呢?

Wangcheng
Posts: 73
Joined: Wed Mar 06, 2019 3:26 am

Re: BLE_MESH的一些问题

Postby Wangcheng » Tue May 21, 2019 11:09 am

chenluhui2019 wrote:
Tue May 21, 2019 1:04 am
Wangcheng wrote:
Mon May 13, 2019 7:08 am
chenluhui2019 wrote:
Mon May 13, 2019 1:11 am


谢谢支持
1.比如,我手机作为provisoner组网连接了Node1,Node2和Node3。三个node都有开启proxy,但是我在其中需要把Node1当做主节点来作为网关。让Node2,Node3都订阅Node1的消息,这样的设计可否?这种订阅的操作是在手机app上实现还是在板子的代码里实现?
2.我尝试了贵司的ble_mesh_client_model和ble_mesh_node,烧在两块板子上,组网后,client板子用串口输入node板子的remote_addr=2,可以正常控制单播地址是0002的node板子的灯开关,但是我这两块板子并没有设置发布-订阅的关系,为啥消息也能发送过来呢?
3.关于心跳机制(health model)判断node是否掉线,在demo里是否有相关log打印?我在NRF的APP上面,用贵司的demo烧写在板子上,加进来节点没有看到Health Server相关的Model,请问后续版本会加进来吗?还是需要我们自己根据Vendor model来写心跳?
比如某个node掉线了,mesh网络的其他node如何通过heartbeat来知道它掉线了呢?Heartbeat的接口如何使用呢?
4.贵司开发板上的“BOOT”按键目前在蓝牙mesh的demo里是不是暂无功能?
5.手机app作为provisoner,如何向某个node直接发送消息呢?比如发送wifi ssid和psswd
6.拿手机作为provisoner,组网后。如果用其他手机设置成和这个mesh网络一样的netkey可以加入这个mesh网络是吧(克隆到多个用户手机使用)?那这部手机此时也是provisoner是吗?此时如何控制mesh网络的其他节点(因为网内节点的数据是储存在组网的那台手机里)?目前我们的手机app好像不提供修改netkey的功能,所以暂时无法验证是吗?
7.我们在手机app上选择“Reset node”,似乎不能把节点由node->device
8.在NRF的手机app里,右下角“Setting”里有个“Network Key”,可以自由更改,这个修改的是指哪个network key呢?应该不是mesh网络的netkey吧?(我理解netkey是整个mesh网络的公钥,那么这个可以改动的Network key是否是私钥?)
Hi chenluhui,
问题1:
方案可行,但是不建议这样操作,在手机app(provisioner)上实现?
补充: 一般开发网关有两种方式:方式1 APP作为网关(比如我们提供的EspBleMesh App),方式2 不要APP,直接用设备作为网关(比如我们提供的ble_mesh_provisioner demo),它们都具备将设备配置入网的能力。
设备配置入网后网络中就有Provisioner,Node1,Node2,Node3 .Provisioner 知道Node1,Node2,Node3的地址。Node1,Node2,Node3知道Provisioner 的地址。它们两者之间可以使用单播地址(设备地址)进行通讯。
说明: 代理节点从一种承载层接收消息并将消息通过另一种承载层重新发送,目的是将只支持 GATT 承载层的通讯设备接入到蓝牙 mesh 网络中,比如手机 App。承载层一般包含广播承载层及GATT承载层等。
问题2:采用的是设备地址(单播地址)通讯的。
问题3:你可以通过Vendor model来写心跳,也可以采用Health Server相关的Model,Health Model相关的API在esp_ble_mesh_health_model_api.h
问题4:暂时没有功能,你可以把它当做普通按键使用
问题5:provisioner 知道节点的地址,可以采用vender model的方式发送自定义消息.
问题6:多个provisioner共享网络中的消息,你需要自己想一个机制去获取网络中的信息,比如采用一个节点存放网络中所有节点的地址。
问题7:你是在哪个app上进行操作的?
问题8:在NRF的手机app里,右下角“Setting”里有个“Network Key”,修改它就意味着修改了provisioner的Netkey,provisioner配置其它设备入网时会把这个netkey分配给入网的节点。
谢谢支持
问题2:采用的是设备地址(单播地址)通讯的。
==》意思是,ble_mesh_client_model和ble_mesh_node在设置了remote_addr值之后,就算两个node之间没有发布订阅关系也能用单播地址通讯?
问题5:provisioner 知道节点的地址,可以采用vender model的方式发送自定义消息.
==》我是否可以理解成:因为都是软件栈,手机APP里可以模拟成client,通过GATT代理(proxy)特性来向server(node)发送消息。
vendor model有分client和server吗?
问题6:多个provisioner共享网络中的消息,你需要自己想一个机制去获取网络中的信息,比如采用一个节点存放网络中所有节点的地址。
==》那是否需要根据NRF的源码做修改,使得多个provisioner(手机)里面关于node的数据通过任意方式(比如云端)同步,就能做到任意手机都能充当provisoner。
问题7:你是在哪个app上进行操作的?
==》我是在NRF的app上操作的,我看了代码,ESP_BLE_MESH_NODE_PROV_RESET_EVT没有做任何处理,可能是这个功能还没写,所以不会是的Node->device
问题8:在NRF的手机app里,右下角“Setting”里有个“Network Key”,修改它就意味着修改了provisioner的Netkey,provisioner配置其它设备入网时会把这个netkey分配给入网的节点。
==》修改它就意味着修改了provisioner的Netkey:Provisioner和Node的netkey在组网后应该都是一样的,您这里说的意味着修改了provisioner的Netkey,那provisioner的Netkey改了,不是全网的Netkey都变掉了吗?
问题9:组网后,netkey是否可以在代码里获取得到?我看手机app上能显示netkey?
问题10:贵司reset node的操作执行函数是否还未做出来?现在无法实现node->device的操作,只能复位开发板
问题11:ble_mesh_client_model似乎不能在ESP32_PICO_KIT板子上跑,会不断的报错重启。
如果我两块板子(node)都烧写ble_mesh_client_model的代码,那都有client和server存在了,都绑上一样的appkey,就可以实现互发消息了对吧?
另外:贵司的esp32可以和Nodic或者其他厂家的组网吗?贵司ble_mesh的sdk正式版本何时能提供呢?
问题2: 是的,地址包含单播地址,组地址,虚拟地址,未分配地址(Unassigned Address) 4种。
问题5: 可以这样理解,Vendor model 和 SIG model其实差不多,SIG model 采用官方定义的消息进行通讯,SIG model 采用自定义的消息进行通讯。
问题6: 只有网络资源是共享的,理论是可行的。 你可以将网络资源存到云端,也可以将网络资源存储到网络中的某个设备中。
问题7: 目前还没有标准的方法,不过也是可以实现这个功能的。
问题8:如果 provisioner 拥有多个 Netkey ,provisioner 在配置设备时,可以选择使用哪个NetKey分配给设备。provisioner 可以使用不同的Netkey和网络中的节点进行通讯。每个节点的Netkey都是provisioner分配的。
问题9:provisioner会发送 Provisioning data 消息给节点,该消息包含 Network Key,Key Index ,Flags,IV Index,Unicast Address信息。 你可以尝试在协议栈中mesh_main.c中的bt_mesh_provision中函数找到这些值。
问题10:这个我们会尽快答复你。
问题11:这个我们会尽快答复你。

Who is online

Users browsing this forum: Google [Bot] and 141 guests