配对操作主要用于master和slave之间的通讯加密,防止被第三方设备监听。如果再sec params中设置MITM,在连接过程中就会用到配对码,配对码有静态和动态之分。如果只单纯看重通讯过程中数据的安全而不在意被谁配对或者有另外的选择master逻辑,MITM可以不设置。作为slave端,可以主动发起配对,也可以设置CCCD的访问安全要求实现被动触发。

device_manager_init

pstorage_init(); //使用flash存储数据首先要调用这个接口进行pstorage模块的初始化,这个接口放到flash第一次使用之前,无论是读flash操作还是写flash操作
dm_init(); //跟device manager module直接相关的init接口,把flash中存储的bonded的设备读出到RAM中或者擦出bonded的设备
dm_register(); //应用层把sec params要求传递给底层

Context information layout

nRF51822slave模式下SDK中device manager学习笔记

m_peer_table

Table to maintain bonded devices’ identification information, an instance is allocated in the table when a device is bonded and freed when bond information is deleted.

nRF51822slave模式下SDK中device manager学习笔记
nRF51822slave模式下SDK中device manager学习笔记
nRF51822slave模式下SDK中device manager学习笔记
nRF51822slave模式下SDK中device manager学习笔记

Load

nRF51822slave模式下SDK中device manager学习笔记

Store

nRF51822slave模式下SDK中device manager学习笔记
nRF51822slave模式下SDK中device manager学习笔记
nRF51822slave模式下SDK中device manager学习笔记

m_bond_table

Table to maintain bond information for active peers.
nRF51822slave模式下SDK中device manager学习笔记
nRF51822slave模式下SDK中device manager学习笔记
nRF51822slave模式下SDK中device manager学习笔记
nRF51822slave模式下SDK中device manager学习笔记

Load

nRF51822slave模式下SDK中device manager学习笔记
nRF51822slave模式下SDK中device manager学习笔记
nRF51822slave模式下SDK中device manager学习笔记

Store

nRF51822slave模式下SDK中device manager学习笔记

nRF51822slave模式下SDK中device manager学习笔记

m_gatts_table

nRF51822slave模式下SDK中device manager学习笔记

Load

nRF51822slave模式下SDK中device manager学习笔记

Store

nRF51822slave模式下SDK中device manager学习笔记

相关文章: