更改

跳转至: 导航搜索

NRF52832DK-Mesh组网实验

添加741字节2020年3月26日 (四) 11:38
②扫描(通信RX)
3、根据我们下面拆分的组网流程,对照依次的实验说明,进行mesh组网流程的分步学习。前期实验部分我们主要讲解节点设备,配置者设备功能我们使用手机app完成,目的是减少大家的学习难度,配置者设备我们会放在最后一个实验给大家做介绍。
①广播(通信TX)——了解节点设备的广播功能,分为三个部分:PB①广播(通信TX)——了解节点设备的广播功能,分为三个重要部分:PB-ADV和Unprov Beacon,PB-GATT的广播,以及core_tx_adv发送数据。GATT的广播,以及模型的Publish用于发送数据。
②扫描(通信RX)——了解节点设备的扫描功能,用于数据通信的RX接收。②扫描(通信RX)——了解节点设备的扫描功能,分为两个重要部分:普通的BLE SCAN功能,以及模块的Subscription用于接收数据。
③入网验证——了解节点设备接入网络的验证过程,实验中使用的是PB-GATT去配置的,包含了:交换公共密钥,完成验证(是否有带外OOB)。
3、PB-GATT,这个是mesh中的GATT承载层,用于我们启动配置过程(当前手机app就是使用PB-GATT,也就是连接之后,通过GATT服务去发送配置信息)。
4、core_tx_adv,这个是我们用于发送数据的部分,我们将需要发送的数据通过advData广播出去。4、Publish,这个是我们用于模型发布数据的部分,我们将需要发送的数据通过advData广播出去。
=== PB-ADV ===
[[文件:PB-GATT-13.png|边框|居中|无框|1200x1200像素]]
[[文件:PB-GATT-14.png|边框|居中|无框]]
 
=== Publish(模型发布) ===
这一章节我们只给大家讲解模块publish的数据发布流程,暂时不说明模型的创建方法,以及如何使用,这个放在下面单独的模型章节进行说明。
 
以generic_onoff_server模型为例,我们找到access_model_publish以及access_model_reply函数,这两个函数的功能类似的,都是用于我们用户的模型发送数据的。
 
其中access_model_publish是用于模型主动发送,而access_model_reply是用于模型给对应的Opcode回应数据。
 
这里我们以access_model_publish函数为主,来看下发布数据的代码流程。
== ②扫描(通信RX) ==
[[文件:SCAN-05.png|边框|居中|无框|1200x1200像素]]
最后我们来看一下scanner_packet_process_cb()回调函数,其中我们可以直接拿到的扫描的数据包是rx_data,包含了数据的类型、数据内容以及数据长度等等信息。到这边我们的扫描功能是已经完成的,但是我们还需要再看下下面一部分的ad_listener的流程。
 
订阅Subscription
我们需要注意下ad_listener_process()函数,这个函数是将我们扫描到的订阅数据(不符合标准的BLE广播数据,则认为是侦听到的订阅数据)传递到订阅者进行处理(订阅者指的是带订阅功能的模型)。这个是和我们上方说的关注点二ad_listener_subscribe()函数是一脉相承的。
510
个编辑

本PDF由谷雨文档中心自动生成,点击下方链接阅读最新内容。

取自“http://doc.iotxx.com/特殊:移动版差异/2711

导航菜单